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:
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 (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 Enforcing
mode, it may deny certain functions of Geneos depending on the implemented configurations and policies.
To see which functions /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
, 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:
- Download the binaries at ITRS Downloads.
- Extract the binary to a writable location in the host. This will become the installation directory.
- 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 . 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.
- Make sure that Web Dashboard is not running.
- Extract the new Web Dashboard binary to a new folder.
- 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. - 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>
- Start Web Dashboard.
Starting Web Dashboard
The first time Web Dashboard is started:
- The minimal template file
config.xml.min.tmpl
is automatically renamed toconfig.xml
and used as minimal configuration by the server. - A
Logs
folder is created in the installation directory with the fileWebDashboard.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 Red Hat or operating systems.
The following additional configuration must be done in order for the script to work:
- Copy the
geneosws
script into the system’s/etc/init.d
directory. - Set the appropriate run level. For example, in , it is:
- Specify the user that will start the service by editing the
USERNAME
variable. This user must have administrative authorization to run the service. - Change the base directory by editing the
SCRIPTPATH
variable from “.” to the installation directory. By default, thegeneosws
script assumes that the base directory is the current directory.
chkconfig --level 345 geneosws on
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
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.
- Go to your
<web_dashboard_install_dir>/config
directory. - 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 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 (
For example: CN=localhost.itrs.test, OU=Geneos, O=ITRS, L=Mountain View, ST=California, C=US The value of |
PASSWD
|
Password for your private key. Set the If you change the password, you should also update it in the |
keystore_type
|
By default, Web Dashboard sets the value of If you require Web Dashboard to have keys in |
Generate a new self-signed certificate
To generate a new self-signed certificate:
- Run
./ssl_util.sh
from<web_dashboard_install_dir>
directory. - Specify the host name or IP address of the box. This generates the certificate and add it to a keystore:
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.
- Convert your existing certificate and private key into
PKCS12
format. Your certificate file needs to be called<hostname_or_ip>.cer
. - If your CA provides multiple intermediary certificates, you need to combine them into a single file using the command:
- Import the newly converted certificate using the command and specify the Export Password.
cd <web_dashboard_install_dir>./ssl_util.sh convert <hostname_or_ip> <private_key_file>
cat my_cert.cer intermediate1.cer intermediate2.cer > hostname_or_ip.cer
./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:
Connecting to Gateways
- Click on the “Add Connection” button to add a new gateway connection.
- Edit the gateway connection fields. If connecting to a secure gateway, tick the “Secure” check box.
- Click on the “Save” button for Web Dashboard to establish the new gateway connection and add it to
config.xml
.
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.cer
and 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:
- Edit the value of the
KEYSTORE_TYPE
variable in thessl_util.sh
toPKCS12
instead of the defaultJCEKS
. Thekeystore.db
is generated after this. - Edit the
keyStoreType
andtrustStoreType
variable inconfig/security.properties
toPKCS12
. - You can now import the certificate to the keystore by using the sample command:
./ssl_util.sh import geneosAuthentication <password>
Adding a Certificate and Private Key to the keystore
-
Edit
<web_dashboard_install_dir>/ssl_utl.sh
and change the value ofKEYSTORE
to point to the desired keystore file. The keystore password can be changed by modifying the value ofPASSWD
. - Convert your existing certificate and private key into
PKCS12
format. The certificate needs to be calledgeneosAuthentication.cer
. - The converted certificate needs to be imported to the keystore using the password specified when the certificate was converted.
- If
KEYSTORE
orPASSWD
have been changed in: - Then edit:
- Update the values of the properties below accordingly:
KEYSTORE=${WEB_DASHBOARD_CONFIG_DIR}/keystore.db
cd <web_dashboard_install_dir> /ssl_util.sh convert geneosAuthentication <private_key_file>
./ssl_util.sh import geneosAuthentication <password>
<web_dashboard_install_dir>/ssl_utl.sh
<web_dashboard_install_dir>/config/security.properties
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:
- Select Dashboards from the left-hand navigation list in order to deploy a dashboard.
- Click Add Dashboard. This shows the Dashboard dialog.
- In the dialog, type a name for the dashboard.
- Click Browse to locate the
.adb
file to upload. - Click Upload to make a copy of the
.adb
file in the dashboard folder. - 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 By default, the path is |
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:
- Manually update the dashboard paths in the config.xml file to point to the new dashboard upload folder.
- 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.
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 selected dashboards
- Click on the “Add Slideshow” button to open a new slideshow row.
- Edit the name of the new slideshow. This shows the Dashboards dialog.
- The default interval time is 5 seconds. If a longer interval is required, edit the interval time.
- 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.
- Repeat step 4 to add more dashboards to this slideshow.
- The “Up” and “Down” buttons in the Dashboards dialog can be used to define the sequence of dashboards in the slideshow.
- The “Remove” button can be used to delete a dashboard from the slideshow.
- Once the new slideshow configuration is completed, click on the “Save” button to save the new slideshow details
config.xml
. - Go to the Dashboard tab to check the new slideshow.
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 |
<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:
Removing the dashboard from a user-defined slideshow
- Go to the Slideshows configuration page.
- Click on the user-defined slideshow. This shows the Dashboards dialog.
- Select the dashboard in the Dashboards dialog list and click on the “Remove” button.
- Click on the “Save” button so that Web Dashboard modifies the
<slideshows>
element inconfig.xml
.
Deleting the dashboard from Web Dashboard
- Go to the Dashboards configuration page.
- Click on the dashboard so that the “Remove Dashboard” button is activated.
- Click on the “Remove Dashboard” button.
- Click on the “Save” button so that Web Dashboard modifies the
<dashboards>
elementconfig.xml
and deletes the uploaded.adb
file in the installation directory.
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:
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:
- Edit the
run
script to add:
export ORBFASTER_FAST_CALLBACK=false
- 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.
- Create a temporary directory (e.g., gws) under the Web Dashboard installation directory.
- Copy
geneos-web-server.jar
into the gws directory. - 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
.
- Delete
geneos-web-server.jar
from the gws directory. - Navigate to the
META-INF
folder. - Open
MANIFEST.MF
in an editor. - Add the path to the MySQL driver to the end of the Class-Path pair and save the
MANIFEST.MF
file. - 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 *
- Replace
geneos-web-server.jar
in the Web Dashboard installation directory with the newgeneos-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.
- Edit
log4j.properties
and modify thelog4j.rootLogger
parameter from:
log4j.rootLogger=off, CONSOLE, FILE
to:
log4j.rootLogger=DEBUG, CONSOLE, FILE
- Save the changes and restart Web Dashboard.
- Repeat the actions that led to the issue.
- 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 GatewayDetails
that 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 DashboardDetails
that 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.
- Remove the dashboard from Slideshows and then in the Navigation tree.
- Remove the dashboard from the Dashboards configuration interface.