Geneos

Web Dashboard

Introduction

Geneos Web Dashboard is a client/server web application that allows Active Dashboards to be published and viewed over the web. Existing Active Dashboards can be deployed to a centralised location and viewed remotely without requiring the installation of Active Console.

With Web Dashboard, you are able to:

  • Deploy a dashboard previously created in Active Console inside a web server.
  • Access that dashboard from the web browser and see updates coming from Geneos.
  • Navigate around and monitor multiple dashboards from the same web server.
  • Access and execute data item commands for which the user has permission.
  • Access external web pages if such links are defined within the dashboard contents.

The following diagram describes the application:

The server side deploys dashboards created with Active Console and renders them suitable to be seen through a web browser. It also establishes connections to Geneos Gateways to feed Geneos data to dashboards.

The client side communicates with the server to display and interact with deployed dashboards in a web browser.

User Interface

The user interface is accessed using a web browser.

There are two main sections that can be accessed via the following URLs:

  • Display and navigation of dashboards and slideshows:
http://<web-dashboard-host>:<web-dashboard-port>/
  • Configuration of connections, dashboards and slideshows:
http://<web-dashboard-host>:<web-dashboard-port>/#Config:

Dashboard Navigation

This user interface allows the navigation through the dashboards that have been uploaded in Web Dashboard and have been configured to appear in the navigation tree.

The navigation tree also allows viewing the slideshows if they have been configured.

The following picture shows the navigation page.

image2

Dashboard Configuration

This user interface is required to add/remove dashboards in Web Dashboard, configure the navigation tree, and define slideshows and connections.

The following picture shows the configuration pages.

System requirements

Web Dashboard is a 64-bit application on Linux, with the following system requirements:

Prerequisite Minimum requirement
CPU Multi-core CPU
RAM 4 GB
Network 1 network interface card
Disk 500 MB available space
   

Web Dashboard requires libnsl.so.1 library in order to run the application properly on Red Hat Enterprise Linux (RHEL) 8.

Note: Other OS distributions may work with the correct libraries installed but are not officially supported. For x86-64 distributions, the required 32-bit libraries must be available on the system. Also, other web browsers may work but are not officially supported.

When Security-Enhanced Linux (SELinux) is running in Enforcing mode, it may deny certain functions of Geneos depending on the implemented configurations and policies.

To see which functions SELinux denies, check the audit log. The log is typically located in /var/log/audit.log, where the log type entry is AVC. The audit log provides the details of any denied access. For example, denied connection to the TCP port.

If you experience issues related to this mode, you may opt to disable SELinux, or create policy modules to grant the required access. Please contact your administrator or security team for assistance.

Install Web Dashboard

To install Web Dashboard, follow these steps:

  1. Download the binaries at ITRS Downloads.
  2. Extract the binary to a writable location in the host. This will become the installation directory.
  3. Open Web Dashboard. See Starting Web Dashboard for different run options.

Take note of the host name or IP address of the server hosting the Web Dashboard and the port number since these are applied in the URL used to access it. The default port number is 8080. If required, edit the GWS_PORT variable either in run or geneosws start-up script to change the port number.

Fontconfig dependency

The Web Dashboard is packaged with the default font in order to run properly on Linux. You must install the fontconfig and run:

sudo yum install fontconfig

Web Dashboard will not work properly without the installed fontconfig. If the fontconfig package is not installed in the system, Web Dashboard will display this error message in the logs: [ERROR] The dependecy 'fontconfig' does not exist in the system. Please install this before running web-server.

Upgrading Web Dashboard

Note: The steps below are for Web Dashboard users upgrading from versions 3.0.x.

  1. Make sure that Web Dashboard is not running.
  2. Extract the new Web Dashboard binary to a new folder.
  3. Copy config.xml and the .adb files from the old Web Dashboard directory into the new <web_dashboard_install_dir>/config and <web_dashboard_install_dir>/dashboards/uploaded directories respectively.
  4. Edit config.xml and make sure that the paths defined for each dashboard item are pointing correctly to the new Web Dashboard directory.
<dashboards>
<dashboard name="SampleDashboard" path="<web_dashboard_install_dir>/dashboards/uploaded/SampleDashboard.adb"/>
</dashboards>
  1. Start Web Dashboard.

Starting Web Dashboard

The first time Web Dashboard is started:

  • The minimal template file config.xml.min.tmpl is automatically renamed to config.xml and used as minimal configuration by the server.
  • A Logs folder is created in the installation directory with the file WebDashboard.log.{date}.

Running Start Scripts

Note: JRE 1.8.0_xxx 64-bit is required, specifically 1.8.0_144 being the tested version. For binaries packaged without JRE, JAVA_HOME environment variable should be set on the machine.

There are two scripts in the installation directory to start Web Dashboard:

  • run — starts Web Dashboard in the foreground and produces a standard output as well as a log file. This is the default mode, and the script can be run in all supported operating systems.
  • ./run
  • geneosws — starts Web Dashboard in the background as a service with the output sent to a log file. This script can only be run in Linux Red Hat or CentOS operating systems.

The following additional configuration must be done in order for the script to work:

  1. Copy the geneosws script into the system’s /etc/init.d directory.
  2. Set the appropriate run level. For example, in CentOS, it is:
  3. chkconfig --level 345 geneosws on
  4. Specify the user that will start the service by editing the USERNAME variable. This user must have administrative authorization to run the service.
  5. Change the base directory by editing the SCRIPTPATH variable from “.” to the installation directory. By default, the geneosws script assumes that the base directory is the current directory.

The following commands are supported:

./geneosws {start|stop|status|try-restart|restart|force-reload|reload}                           
  • start — launches web server in the background.
  • stop — kills web server process.
  • status — checks if web server is running.
  • reload/restart/force-reload/try-restart — restarts web server process.

You can change the maximum threads that Web Dashboard allows by enabling the MAX_THREADS parameter through the run and geneosws scripts. If the Web server experiences connection issues, you can adjust the max thread count and use a load balancer, which is capable of distributing network or application traffic across multiple servers.

By default, this setting is disabled. To enable this setting, include this parameter in the script:

MAX_THREADS="-maxThreads 254"

Default value: 254

Enabling Authentication

Note: Always clear browser cache and cookies when switching between authenticated and unauthenticated versions of Web Dashboard.

Note: Single Sign On (SSO) must be disabled when enabling Authentication.

  • Go to <web_dashboard_install_dir>/config directory.
  • Edit security.xml. Comment out:
<intercept-url pattern="/**" access="permitAll" />

Note: In XML documents, follow this syntax to comment out: "<!--Comment String Here-->"

and uncomment the following:

<intercept-url pattern="/**" access="isAuthenticated()" />
<authentication-provider>
    <password-encoder hash="bcrypt"/>
    <user-service properties="file:./config/users.properties"/>
</authentication-provider>
  • Edit users.properties. Follow the syntax indicated in the file to add users. To generate an encrypted password, run the following command at the <web_dashboard_install_dir> directory:
java -cp 'jars/*:jars/geneos-bcrypt-hasher-1.0.jar' com.itrsgroup.login.auth.BCryptPasswordHasher <password to encrypt>

Enabling SSO

If Single-Sign-On (SSO) is enabled, the SSO Agent verifies your user permission. After verifying your user credentials, the Web Dashboard checks your user's group to grant the appropriate access.

For more information, see Enable SSO with Web Dashboard in SSO Agent User Guide.

Note: Authentication must be disabled when enabling SSO.

Connect to SSO Agent through Basic Authentication

Note: Web Dashboard only supports Basic Authentication in SSO Agent.

When you log in for the first time, your browser will automatically save your credentials in the cache. Clear the browser cache to change the current user.

  1. Go to your <web_dashboard_install_dir>/config directory.
  2. Edit sso.properties.

These are the SSO properties that you may need to configure when connecting to SSO Agent:

Property Description
sso.agent.url SSO Agent URL and port.
webdashboard.url Web Dashboard URL and port.
dashboard.user.groups Comma-separated values that define the user groups that are allowed to access the Dashboards and Slideshows sections of Web Dashboard.
config.user.groups Comma-separated values that define the user groups that are allowed to access the Config section of Web Dashboard.
sso.enabled Determines whether SSO is enabled (true) or disabled (false).
sso.pubkey

File where the pub.pem public key for SSO Agent is located.

Note: When SSO is enabled, you should copy the SSO Agent's pub.pem file to the Web Dashboard directory. Otherwise, Web Dashboard will not get the SSO Agent's public key part of its key pair.
Its path is also required in the sso.pubkey variable for Web Dashboard to run properly when SSO is enabled.

Access for user groups

To allow global access for config.user.groups and dashboard.user.groups, use a wildcard (*) as follows:

  • dashboard.user.groups=* 
  • config.user.groups=GENEOS-ADMIN*

A pattern is used to check if the user group roles are authorised. For example, if GENEOS_ADMIN_USER:

Pattern Description
Starts with GENEOS*, GEN*, G* Groups are authorised because they start with the correct pattern.
Starts with Geneos* Group is not authorised because the validation is case sensitive.
Starts with ADMIN* Group is not authorised because the user group does not start with ADMIN.
Ends with *USER, *SER, *R Groups are authorised because they start with the correct pattern.
Ends with *User Group is not authorised because the validation is case sensitive.
In between *ADMIN*, *GENEOS*, *_USER* Groups are authorised because this will find the pattern within the role whether it is in the beginning or the end.
   

The public key is generated by the SSO Agent and must be in PEM format, with lines no longer than 76 characters.

For example:

-----BEGIN PUBLIC KEY----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA9KTR6IFL44UTGCs5Hi2x
fISO7eMBaqf75BQym/E8woQE2NOocyAvshGLAaE9oHP4vqRnc+hHyDs7DDF2u0VF
cYp6r4uISe+HUka+wKjfSZZFOB5lFYzZfb7hRGvc5kMZEvg7QYBej/c37uSB9r1/
T4yao3SAdHGEwlthTKf0V+TtDGvlWPKGzVdCYowmNC0Z1RxsT/X3jhNvnkHRQYXW
hwGiEKU1+U7Bgtlpzd/3UFQnZsOIMFME9R53b+Wjron04B6OBB0jqmWFTYaoXWh2
oZBK5XZ1e165HaNXAYkeC4RcHdu8M0urk8JkkRby9M8UXxCATbVrtYGosoI9JH+t
1wIDAQAB
-----END PUBLIC KEY-----

Enabling SSL

Here are the steps to enable an SSL and scripts that you can use in the Web Dashboard.

Configure SSL Certificates

A script called ssl_util.sh exists in the installation directory which is used to generate or import a certificate.

There are two ways to configure an SSL certificate on the server:

Before you generate a self-signed certificate, you must update the following fields in the ssl_util.sh to ensure Web Dashboard can connect correctly to different components that also have SSL enabled such as SSO Agent:

Field Description
<web_dashboard_install_dir>

Web Dashboard installation directory.

For example:

WEB_DASHBOARD_INSTALL_DIR=<web_dashboard_install_dir>
DNAME

Certificate information variables.

Distinguished Name (DN) contains the following:

  • Common Name (CN) or the server identity
  • Organisational Unit (OU)
  • Organisation (O)
  • Locality (L)
  • State (S)
  • Country (C)

For example:

CN=localhost.itrs.test, OU=Geneos, O=ITRS, 
L=Mountain View, ST=California, C=US

The value of CN flag should match the hostname, IP address, or DNS of the machine where the Web Dashboard is running on.

PASSWD

Password for your private key.

Set the PASSWD as the same password used in the keystore.db.

If you change the password, you should also update it in the $WEBDASHBOARD_CONFIG_DIR/security.properties file.

keystore_type

By default, Web Dashboard sets the value of keystore_type to JCEKS.

If you require Web Dashboard to have keys in PKCS12, you must convert the keystore file in the config folder. For more information, refer to Adding a Certificate and Private Key to the keystore.

   

Generate a new self-signed certificate

To generate a new self-signed certificate:

  1. Run ./ssl_util.sh from <web_dashboard_install_dir> directory.
  2. Specify the host name or IP address of the box. This generates the certificate and add it to a keystore:
  3. cd <web_dashboard_install_dir>./ssl_util.sh add <hostname_or_ip>

Success: A new certificate is now generated.

Import an existing certificate for your domain name

If the server running Web Dashboard has an existing SSL certificate issued by a Certificate Authority (CA), you need to import that certificate and its private key into the server’s keystore.

  1. Convert your existing certificate and private key into PKCS12 format. Your certificate file needs to be called <hostname_or_ip>.cer.
  2. cd <web_dashboard_install_dir>./ssl_util.sh convert <hostname_or_ip> <private_key_file>
  3. If your CA provides multiple intermediary certificates, you need to combine them into a single file using the command:
  4. cat my_cert.cer intermediate1.cer intermediate2.cer > hostname_or_ip.cer
  5. Import the newly converted certificate using the command and specify the Export Password.
  6. ./ssl_util.sh import <hostname_or_ip> <export_password>

Success: The certificate is now imported.

Edit config files

Edit <web_dashboard_install_dir>/config/security.properties. If changes were made to the value of KEYSTORE and PASSWD in ssl_util.sh, update the values of the properties below:

keyStore=config/keystore.db
trustStore=config/keystore.db
keyStorePassword=ab987c
trustStorePassword=ab987c

To change the port number to use for secure connection, update the property to 7743.

Edit scripts

These are the scripts that you can modify when configuring the SSL certificates.

Edit the run or geneosws script depending on the start-up mode to use. Uncomment this line:

#ENABLE_SSL="-ssl true"

Restart your Web Dashboard server and verify that the certificate is being used by opening the following page: https://hostname_or_ip:port/. If you generated a self-signed SSL certificate, the browser warns you that the certificate is not trusted. Add an exclusion rule (or continue).

Configuring Web Dashboard

Type the host and the port of Web Dashboard in the web browser to access the configuration page in the following format:

http://<web-dashboard-host>:<web-dashboard-port>/#Config:

Example:

http://192.168.10.155:8080/#Config:

Adding Active Dashboards

Dashboards need to be created in Active Console and exported as .adb files before they can be added to Web Dashboard.

The deployment of dashboards into Web Dashboard takes place in three steps:

image5

Connecting to Gateways

  1. Click on the “Add Connection” button to add a new gateway connection.
  2. Edit the gateway connection fields. If connecting to a secure gateway, tick the “Secure” check box.
  3. Click on the “Save” button for Web Dashboard to establish the new gateway connection and add it to config.xml.

image30

Gateway connections in config.xml

Each connection is defined by a <gatewayConnection> element with a name attribute. The connection has the following properties:

Property Mandatory Description
<enabled> Yes Determines whether a connection is enabled (true) or disabled (false)
<primary> Yes Contains the primary gateway’s host and port number defined in <host> and <port>
<secondary> No Contains the secondary gateway’s host and port number defined in <host> and <port>
<secure> No Determines whether a connection is secure (true) or insecure (false)
<description> No The gateway’s description
<sslEnabled> No Determines whether a connection will use SSL connection (true) or normal authentication (false). When this is + enabled, the user property becomes mandatory and the password is no longer used.
<user> No Username to access the gateway
<password> No

Password to access the gateway.

The password has an attribute called type which could have the values “encrypted” or “plain”. This attribute is used to determine if the password is encrypted or not. By default, the type is “encrypted” if the gateway connection has been entered through the configuration interface.

     

Example:

<geneosWebServer>
        <gatewayConnections>
                <gatewayConnection name="Gateway1">
                        <enabled>true</enabled>
                        <primary>
                                <host>gateway1A-host</host>
                                <port>30001</port>
                        </primary>
                        <secondary>
                                <host>gateway1B-host</host>
                                <port>30002</port>
                        </secondary>
                        <description>Gateway One</description>
                        <user>user1</user>
                        <password type="encrypted">AABBZZYYZZ</password>
                </gatewayConnection>
                <gatewayConnection name="Gateway3">
                        <enabled>true</enabled>
                        <secure>true</secure>
                        <primary>
                                <host>localhost</host>
                                <port>80003</port>
                        </primary>
                        <secondary>
                                <host/>
                                <port>0</port>
                        </secondary>
                        <description>Gateway Three</description>
                        <user>admin</user>
                        <password type="plain">MyPlainPassword</password>
				</gatewayConnection>
                <gatewayConnectionname="Gateway2">
                    <enabled>true</enabled>
                    <secure>true</secure>
                <primary>
                <host>gateway2A-host</host>
                        <port>80004</port>
                </primary>
                <secondary>
                        <host/>
                        <port>0</port>
                </secondary><description>Gateway Two</description>
                <sslEnabled>admin</sslEnabled>
                <user>admin</user>
                <passwordtype="plain"></password>
            </gatewayConnection>			
        </gatewayConnections>
</geneosWebServer>

SSL Certificate Authentication

In addition to password authentication, a secure connection to a Gateway can be established using an SSL Certificate. This authentication method can be enabled by ticking the SSL column of a Gateway in the connections configuration page, or by setting the Gateway's sslEnabled property to true. An SSL certificate or key pair needs to be added to the keystore and aliased 'geneosAuthentication' before the Web Server is started.

Generating an SSL Certificate and Private key pair

To generate a public certificate and private key for Web Dashboard, see the examples in Secure Communications. The process is the same as when generating a certificate and private key for the Gateway or Netprobe. The certificate for Web Dashboard should be named geneosAuthentication.cerand this should be generated by the same Certificate Authority as the certificate issued for every Gateway Web Dashboard will connect to.

Connection between Web Dashboard and Gateway with an SSL enabled authentication

You can configure the Web Dashboard so that it can connect to a Gateway with an SSL enabled authentication. If the Gateway is using an SSL authentication, then it may be using a certificate in PKCS12 format.

Before you generate your keystore, follow these steps:

  1. Edit the value of the KEYSTORE_TYPE variable in the ssl_util.sh to PKCS12 instead of the default JCEKS. The keystore.db is generated after this.
  2. Edit the keyStoreType and trustStoreType variable in config/security.properties to PKCS12.
  3. You can now import the certificate to the keystore by using the sample command:
  4. ./ssl_util.sh import geneosAuthentication <password>

Adding a Certificate and Private Key to the keystore

  1. Edit <web_dashboard_install_dir>/ssl_utl.sh and change the value of KEYSTORE to point to the desired keystore file. The keystore password can be changed by modifying the value of PASSWD.
  2. KEYSTORE=${WEB_DASHBOARD_CONFIG_DIR}/keystore.db
  3. Convert your existing certificate and private key into PKCS12 format. The certificate needs to be called geneosAuthentication.cer
  4. cd <web_dashboard_install_dir>
    /ssl_util.sh convert geneosAuthentication <private_key_file>
    									
  5. The converted certificate needs to be imported to the keystore using the password specified when the certificate was converted.
  6. ./ssl_util.sh import geneosAuthentication <password>																	
  7. If KEYSTORE or PASSWD have been changed in:
  8. <web_dashboard_install_dir>/ssl_utl.sh
  9. Then edit:
  10. <web_dashboard_install_dir>/config/security.properties
  11. Update the values of the properties below accordingly:
  12. keyStore=config/keystore.db 
    trustStore=config/keystore.db
    keyStorePassword=ab987c
    trustStorePassword=ab987c							

Uploading .adb files

When naming web dashboards, avoid using the following characters because it can cause an error to the displayed dashboard view:

  • Ampersand (&).
  • Plus (+).
  • Double quotation marks (").
  • URL character codes, such as '%20' or '%5C'.

To upload a new .adb file into the web dashboard, follow these steps:

  1. Select Dashboards from the left-hand navigation list in order to deploy a dashboard.
  2. Click Add Dashboard. This shows the Dashboard dialog.
  3. In the dialog, type a name for the dashboard.
  4. Click Browse to locate the .adb file to upload.
  5. Click Upload to make a copy of the .adb file in the dashboard folder.
  6. Click Save for Web Dashboard to add the new dashboard to config.xml.
Uploaded dashboards in config.xml

Dashboard information is contained in the <dashboard> element in config.xml with the following attributes:

Attribute Description
name The name given to the dashboard.
path

The location where the .adb file used by the dashboard is contained.

By default, the path is installation_directory/dashboards/uploaded folder if the dashboard has been uploaded using the configuration interface. Optionally, a user may allocate another path that contains the .adb file.

   

Example:

<geneosWebServer>
        <dashboards>
                <dashboard name="dashboard1" path="/path/to/dashboards/uploaded/dashboard1.adb"/>
                <dashboard name="dashboard2" path="/path/to/dashboards/uploaded/dashboard2.adb"/>
                <dashboard name="dashboard3" path="/path/to/dashboards/uploaded/dashboard3.adb"/>
                </dashboard>
        </dashboards>
</geneosWebServer>

When you get an error when loading .adb files, see When loading .adb files into older versions of Web Dashboard.

Changing the default dashboards upload folder

To change the default dashboard upload folder, edit the run script and the value of the DASHBOARDS_DIR parameter to the path of the chosen folder where the dashboard files are uploaded.

DASHBOARDS_DIR="-Dcom.itrsgroup.dashboard.dir=<Path to dashboards directory>"

For users who have as existing setup and would want to change their dashboard upload folder, the following steps have to be done:

  1. Manually update the dashboard paths in the config.xml file to point to the new dashboard upload folder.
  2. Copy all the dashboards (.adb) files from the old upload folder to the new one.

Remember to do the 2 steps when setting a new upload folder from an existing setup. Doing only step 2 will cause the dashboards copied to the new upload folder to be deleted.

Configuring the navigation tree

Select Navigation from the left-hand navigation list in order to organise the tree of dashboards for viewing.

  1. Select Dashboards which is the top of the tree.
  2. Click on the “Add Group” button to add a group. This shows a dialog with a single field to type the name of the new group.

image8

  1. Select a group and click on the “Add Dashboard” button to add a dashboard in the group. This shows a dialog with a dropdown menu of dashboards that have been uploaded by Web Dashboard.

image9

  1. Typing in the first characters of a dashboard name filters the dropdown menu to the dashboard names that start with those characters.

image10

  1. Continue creating new groups which can be populated with selected dashboards. A hierarchical order can be defined in the navigation tree by creating groups under groups.

image11

  1. Click on the “Save” button to save the configuration of the navigation tree in config.xml.
  2. Click on the Dashboard tab to check how the navigation will be seen by users.

image12

Defining slideshows

Slideshows can be defined to view a set of dashboards or all dashboards, one after another at specified time intervals.

Select Slideshows from the left-hand navigation list in order to define a slideshow.

Web Dashboard can be configured to set:

  • A single slideshow for all dashboards defined in the navigation tree
  • Any number of user-defined slideshows to view selected dashboards in the navigation tree

Slideshow to display all dashboards in the navigation tree

  1. Tick the “Add a slideshow with all dashboards” checkbox. This shows the interval time field.
  2. The default interval time is 5 seconds. If a longer interval is required, edit the interval time.
  3. Click on the “Save” button to save the slideshow in config.xml.

image13

  1. Go to the Dashboard tab to check the “All Dashboards” slideshow.

image14

Slideshow to display selected dashboards

  1. Click on the “Add Slideshow” button to open a new slideshow row.
  2. Edit the name of the new slideshow. This shows the Dashboards dialog.
  3. The default interval time is 5 seconds. If a longer interval is required, edit the interval time.
  4. Click on the “Add” button in the Dashboards dialog. By default, the name of the first dashboard in the list appears. Click on the name to show the dropdown list of dashboards.

image15

  1. Repeat step 4 to add more dashboards to this slideshow.

image16

  • The “Up” and “Down” buttons in the Dashboards dialog can be used to define the sequence of dashboards in the slideshow.

image17

  • The “Remove” button can be used to delete a dashboard from the slideshow.

image18

  1. Once the new slideshow configuration is completed, click on the “Save” button to save the new slideshow details config.xml.
  2. Go to the Dashboard tab to check the new slideshow.

image19

Slideshows in config.xml

A slideshow is stored under the <slideshows> element with the following attributes:

Attribute Description
name The name given to the slideshow
interval

The time in seconds taken by every dashboard in the slideshow to be on display.

Default value: 5 seconds

And can contain one or more dashboards.

Example:

<geneosWebServer>
   <slideshows>
          <slideshow name="All Dashboards" interval="5"/>
          <slideshow name="Slideshow 1" interval="5">
                 <dashboard name="dashboard1"/>
                 <dashboard name="dashboard2"/>
                 <dashboard name="dashboard3"/>
                 <dashboard name="dashbaord4"/></slideshows>
</geneosWebServer>

Settings for the visualisation of dashboards in browsers

config.xml contains the <dashboardDefaults> element with the settings applicable to all dashboards configured in Web Dashboard:

<geneosWebServer>
        <dashboardDefaults>
                <updateRate>5</updateRate>
                <dashboardRefreshRate>3</dashboardRefreshRate>
                <tileSize>
                        <width>200</width>
                        <height>200</height>
                </tileSize>
        </dashboardDefaults>
</geneosWebServer>
Property Attribute Description
<updateRate> Not applicable

Sets the interval time at which the Web Dashboard client checks for updates to a dashboard. Once set, it determines the last updated timestamp between your internet browser and the Web Dashboard client.

Default value: 5 seconds

Note: Setting this value to 0 prevents the Web Dashboard from automatically pushing updates to your web browser. To get the updated data, you need to manually refresh your web browser.

<dashboardRefreshRate> Not applicable

Sets the frequency at which the Web Dashboard server processes dashboard updates.

Default value: 3 seconds

<tileSize>
<width>
<height>

Sets the tile size to be used by Web Dashboard when rendering the dashboard image.

Default value for both attributes: 200 pixels


It is not recommended to change these settings but, if required, these changes need to be implemented with care. The following points need to be taken in consideration:

  • <updateRate> should be set equal or more than <dashboardRefreshRate> since clients are guaranteed not to receive an update until a dashboard refresh takes place.
  • Faster <dashboardRefreshRate> makes dashboards appear more real-time but in turn increases CPU usage on the server and potentially increases network traffic as updates are being sent more frequently – this assumes <updateRate> is closely aligned to <dashboardRefreshRate>.
  • Tiling size allows for more granular control of how updates are processed on the server and sent over the network. Smaller values make more efficient use of network as clients download less redundant data but in turn makes many more requests. Also, CPU usage on the server may increase due to processing more granular updates and handling the increased number of requests.

Note: The settings tileCacheSize and tileCacheTime have been removed from config.xml.

Deleting a dashboard in Web Dashboard

Removing a dashboard from the configuration takes place in 4 steps in a precise sequence:

image20

Removing the dashboard from a user-defined slideshow

  1. Go to the Slideshows configuration page.
  2. Click on the user-defined slideshow. This shows the Dashboards dialog.
  3. Select the dashboard in the Dashboards dialog list and click on the “Remove” button.
  4. Click on the “Save” button so that Web Dashboard modifies the <slideshows> element in config.xml.

Removing the dashboard from the Navigation tree

  1. Go to the Navigation configuration page.
  2. Locate the dashboard in the navigation tree and right-click on it.
  3. Select the “Remove” option.
  4. Click on the “Save” button so that Web Dashboard modifies the <tree> element in config.xml and its internal dashboard handler program.

Deleting the dashboard from Web Dashboard

  1. Go to the Dashboards configuration page.
  2. Click on the dashboard so that the “Remove Dashboard” button is activated.
  3. Click on the “Remove Dashboard” button.
  4. Click on the “Save” button so that Web Dashboard modifies the <dashboards> element config.xml and deletes the uploaded .adb file in the installation directory.

Deleting the gateway connection if it only served the deleted dashboard

  1. Go to the Connections configuration page.
  2. Locate the gateway and click on its “X” icon.
  3. Click on the “Save” button so that Web Dashboard modifies the <gatewayConnections> element in config.xml.

Deleting a slideshow in Web Dashboard

  1. Go to the Slideshows configuration page.
  2. Locate the slideshow and click on its “X” icon.
  3. Click on the “Save” button so that Web Dashboard modifies the <slideshows> element in config.xml.

Working with the Web Dashboard Navigation interface

Opening the navigation interface

Type the host and the port of Web Dashboard in the web browser to access the navigation interface in the following format:

http://<web-dashboard-host>:<web-dashboard-port>/

Example:

http://192.168.10.155:8080/

If authentication is enabled, the page displays a log-in screen. See Enabling Authentication in Starting Web Dashboard section to set up users.

Note: Username is case-insensitive.

image28

If authentication is disabled or after a successful log-in, the page displays the navigation tree with 2 root entries: Dashboards and Slideshows. The Dashboards group expands to the first level if the navigation tree has been configured.

image22

The Last Updated timestamp is the update between the user's browser and the Web Dashboard client. For more information, see <updateRate> property in the Settings for the visualisation of dashboards in browsers.

Selecting a dashboard to view

There are two ways to bring a dashboard to be displayed:

  • Select the dashboard in the Dashboards navigation tree. This may require to expand a group in the tree by clicking the add button.
  • Access the dashboard directly by adding #WebDashboard:<dashboardname> to the basic URL. Example:
  • http://192.168.10.155:8080/#WebDashboard:Dashboard1

Maximizing the view of the dashboard

By default, the dashboard on display occupies a pane beside the navigation tree and under the top banner.

There are 2 ways to maximize the display of a dashboard:

  • Right-click anywhere in the dashboard and select “Toggle Full Screen”.

image23

The same steps can be used to return to the normal view.

  • Select the dashboard in the Dashboards navigation tree and add ?fullscreen to the basic URL, e.g.,
http://192.168.10.155:8080/?fullscreen#WebDashboard:Dashboard1

image29

Executing data item commands

Right-click on a data item in the dashboard to access data item commands. This action prompts Web Dashboard to display a menu with the commands relevant to the data item.

If the selected command requires user input, the page displays a dialog for the user to fill in.

image24

If the execution of the command results to an output, the page displays a command output dialog.

image25

Selecting a slideshow to view

There are 3 ways to bring a slideshow to be displayed:

  • Click on the slideshow in the Slideshows navigation tree.
  • Right-click on the slideshow in the Slideshows navigation tree and select the “Play” option.
  • Access the slideshow directly by adding #Slideshow:<slideshowname> to the basic URL, e.g.,
http://192.168.10.155:8080/#Slideshow:User Slideshow 1

The slideshow displays the sequence of dashboards it was configured with. The time a dashboard remains in view is the time interval defined in the configuration of the slideshow.

Every dashboard in the slideshow that is displayed is highlighted in the Dashboards navigation tree. This allows the user to follow the order of the sequence.

image27

Stopping a slideshow

There are 2 ways to stop a slideshow:

  • Right-click on the slideshow in the navigation tree and select the “Stop” option.
  • Select and click on any other dashboard in the navigation tree.

Troubleshooting

When loading .adb files into older versions of Web Dashboard

You cannot load .adb files in any versions of the Active Console or Web Dashboard that are older than the version used to create the file. To load the dashboard correctly, use a version of Active Console or Web Dashboard that is the same or a newer version than the version that was used to create the .adb file.

The following errors are displayed when loading or importing an .adb file created in a newer version of Active Console or Web Dashboard:

  • CRITICAL: Problem reading a dashboard
  • WARNING: Problem reading a dashboards modifiers
  • An Active dashboard failed to load

The screenshot below shows these errors:

Increase the heap size to reduce memory issues in dashboards

Memory issues can affect the system performance of your dashboards. Dashboards freezing or not responding can be due to a problem with the allotted memory or large number of XPaths used when loading dashboards. Also, check if OutOfMemoryException is present in the logs of your dashboards.

If you suspect memory or performance issues when processing or loading multiple dashboards, follow these recommendations:

  1. Use JMX plug-in to check the CPU and memory usage. This allows you to monitor the heap memory size and ensure it has not reached its allocated maximum. For more information, refer to Enable JMX port for remote monitoring.
  2. Increase the heap memory size. This can be done by manually editing the geneosws file, located in the main directory of the web dashboard folder. Inside the geneosws file is a variable named GWS_RUN_CMD:
    GWS_RUN_CMD="$JRE_BIN_PATH/java -XX:+UseConcMarkSweepGC -Xmx1024M -server $HEADLESS

    The option -Xmx1024M represents the heap size. By default, this is set to 1GB (1024M). To increase the heap size, change 1024 to a larger number.

Define update rates or tiling size settings for individual dashboards

By default, the settings in the <dashboardDefaults> element are applied to all dashboards configured in Web Dashboard. However, if these settings are not adequate for an individual dashboard, specific settings may be set for that dashboard only.

Edit the dashboard entry in config.xml and add the new settings.

Example:

<dashboardDefaults>
   <updateRate>5</updateRate>
   <dashboardRefreshRate>3</dashboardRefreshRate>
   <tileSize>
          <width>200</width>
          <height>200</height>
   </tileSize>
</dashboardDefaults>
<dashboards>
        <dashboard name="Dashboard1" path="/root/dashboards/uploaded/db1.adb"/>
        <dashboard name="Dashboard2" path="/root/dashboards/uploaded/db2.adb"/>
        <dashboard name="Dashboard3" path="/root/dashboards/uploaded/db3.adb">
                <!-- DASHBOARD SPECIFIC SETTINGS -->
                <updateRate>10</updateRate>
                <dashboardRefreshRate>5</dashboardRefreshRate>
                <tileSize>
                        <width>400</width>
                        <height>400</height>
                </tileSize>
        </dashboard>
</dashboards>

In this example, “Dashboard1” and “Dashboard2” use the default settings, while “Dashboard3” has its own settings.

Redirect the dashboard loading folder

By default, Web Dashboard uploads the .adb files into the <web_dashboard_install_dir>/dashboards/uploaded/ folder and then loads the dashboard from that location.

If a different location is required, edit config.xml to change the path attribute of the dashboard under the <dashboards> element.

Example:

<dashboards>
  <dashboard name="Dashboard_A2" path="/home/gelo/etc/support_dashboard.adb"/>
  <dashboard name="Dashboard_B1" path="/home/gelo/etc/test.adb"/>
  </dashboard>
</dashboards>

Resolve the high CPU/memory of Web Dashboard

CPU and memory used by Web Dashboard are largely determined by the contents and updates of the dashboards it has been configured with.

Edit config.xml to slow down the update rate for:

  • The <dashboardDefaults> element - this action implies that the new settings for <updateRate> and <dashboardRefreshRate> are applied to all dashboards.
  • Individual dashboards if they have been identified as main contributors to the high CPU/memory - the settings for <updateRate> and <dashboardRefreshRate> need to be added to the specific dashboard under the <Dashboards> element.

In both cases, it is recommended that <dashboardRefreshRate> is equal or faster than <updateRate> to ensure timely updates.

Resolve the constant flickering and blank areas of a dashboard on display

This issue may be the result of:

  • Having more updates than those processed by Web Dashboard in the time set by the <dashboardRefreshRate> parameter. If this is the case, increase the value of this parameter up to the value of the <updateRate> parameter.
  • Having increased the tile size, which implies that there is too much data through the network for each tile. If this is the case, reduce the values of the <tileSize> element.

Prevent memory buildup due to gateway disconnection

By default, Web Dashboard will try to reconnect to a disconnected gateway over and over again until the connection is restored. This, in turn, causes rapid memory buildup. To prevent this behavior:

  1. Edit the run script to add:
export ORBFASTER_FAST_CALLBACK=false
  1. Save the changes and restart Web Dashboard.

Apply MySQL to Web Dashboard

Web Dashboard supports database queries required for historical charts. Although no changes are required for Sybase, MSSQL, or Oracle, the connection to MySQL needs to be manually incorporated to the geneos-web-server.jar file.

  1. Create a temporary directory (e.g., gws) under the Web Dashboard installation directory.
  2. Copy geneos-web-server.jar into the gws directory.
  3. Extract the jar file with the following command:
jar xvf geneos-web-server.jar

The gws directory will contain the folders: com and META-INF.

  1. Delete geneos-web-server.jar from the gws directory.
  2. Navigate to the META-INF folder.
  3. Open MANIFEST.MF in an editor.
  4. Add the path to the MySQL driver to the end of the Class-Path pair and save the MANIFEST.MF file.
  5. Go back to the gws directory and recreate geneos-web-server.jar with the following command:
jar cmf META-INF/MANIFEST.MF geneos-web-server.jar *
  1. Replace geneos-web-server.jar in the Web Dashboard installation directory with the new geneos-web-server.jar file just created.

Note: The jar command is present in the Java JDK package, and the path must be indicated.

The MANIFEST.MF file must end with a blank line, and the maximum width of the line is 70 characters.

Enable DEBUG in Web Dashboard

Sometimes, there may be issues with Web Dashboard that need further investigation, and a detailed log file may be useful.

  1. Edit log4j.properties and modify the log4j.rootLogger parameter from:
log4j.rootLogger=off, CONSOLE, FILE

to:

log4j.rootLogger=DEBUG, CONSOLE, FILE
  1. Save the changes and restart Web Dashboard.
  2. Repeat the actions that led to the issue.
  3. Send the log file to Geneos Support for assistance.

Enable JMX port for remote monitoring

JMX can be used to remotely monitor the GatewayMonitor and DashboardMonitor MBeans.

To do this, enable the JMX_PORT and JMX_FLAG debugging flags in the run script of your installation.

JMX_PORT=50505
JMX_FLAGS="-Dcom.sun.management.jmxremote.port=$JMX_PORT -Dcom.sun.management.jmxremote.authenticate=false 
-Dcom.sun.management.jmxremote.ssl=false"

GatewayMonitor MBeans

The GatewayMonitor MBean attributes are as follows:

Field Description
GatewaysCount Number of Gateways configured.
GatewayInformation List of CompositeData that represents each GatewayDetails of configured gateways.
GatewaysAreDown Indicates when one of the gateways connected to the Web Dashboard is down.
   

Each item in the CompositeData list contains GatewayDetailsthat represents Gateway attributes:

Field Description
name Gateway name.
versionString Gateway version.
statusInfo Gateway status information.
isConnected Gateway connection current status.
isConnectedToSecondary Shows if the Gateway is connected to the secondary Gateway.
hostNameAndPort Gateway host name and port.
primaryHostAndPort Primary Gateway host and port.
secondaryHostAndPort Secondary Gateway host and port.
connectionState Connection state of the Gateway.

Values:
-2 : Unknown state
-1 : In error
0 : Waiting for the connection to be established
1 : Waiting for the system to start
2 : Connected
3 : Disconnected
4 : Connected, waiting for the data state
5 : Authenticating
   

DashboardMonitor MBean

The DashboardMonitor MBean attributes are as follows:

Field Description
DashboardsCount Number of dashboards that are currently configured in the navigation page.
DashboardInformation List of CompositeData that represents each DashboardDetails of configured dashboards in the navigation page.
   

Each item in the CompositeData list contains DashboardDetailsthat represents Gateway attributes:

Field Description
displayName WebDashboard display name.
clientRequestRate Web server refresh rate of the dashboard based on the <updateRate> property.
dashboardRefreshRate Dashboard refresh rate configured in the <dashboardRefreshRate> property.
lastUpdateTime Date and time since the dashboard received updates from the Gateway.
   

Gateway connections are not displayed when opening the Configuration interface

Frequent manipulation of config.xml may disrupt the presentation of the Connections page.

Press the “Reload” button to restore the gateway connections or press F5 to refresh the page.

Cannot remove a dashboard in the Dashboards configuration interface

This action will not be allowed if the dashboard has been configured in the Navigation tree and has been included in Slideshows.

  1. Remove the dashboard from Slideshows and then in the Navigation tree.
  2. Remove the dashboard from the Dashboards configuration interface.

Slideshow on display does not seem to update if a new dashboard has been added

Press F5 to refresh the slideshow on display.