Monitoring with Prometheus
Access metrics that provide insight into the state, health, and performance of your workload environment and infrastructure.
Prometheus is an open-source monitoring and alerting solution. It is particularly useful for collecting time series data that can be easily queried. Prometheus pulls data from targets and then exposes it as metrics through a host address. Prometheus can be configured to retrieve metrics at regular intervals.
Prometheus integrates with monitoring tools like Grafana to visualize the metrics collected. Grafana uses the Prometheus system as a datasource and all of the HCL Workload Automation metrics can be accessed and added to dashboards. See Visualizing the metrics for the procedure to expose metrics to your monitoring tool.
- Middleware metrics (WebSphere Application Server Liberty Base)
- HCL Workload Automation infrastructure (message files)
- Workload statistics (jobs per status, total count or grouped by folder or by workstation)
- Critical job information (risk level, confidence factor, incomplete predecessors, estimated end)
- Workstation status (running, linked)
- Generating alerts and addressing problems before they actually occur.
- Monitoring and analyzing trends to
- Compare historical data
- Detect anomalies
Metric Display Name | Metric name | Description |
---|---|---|
Flexera Monitoring | application_wa_licence_uncountedJobs | The number of jobs that ran and Flexera was unable to count. |
Workload | application_wa_JobsInPlanCount_jobs | Workload by job status: WAITING, READY, HELD, BLOCKED, CANCELED, ERROR, RUNNING, SUCCESSFUL, SUPPRESS, UNDECIDED |
application_wa_JobsByWorkstation | Job status by workstation | |
application_wa_JobsByFolder_jobs | Job status by folder | |
application_wa_JobsInPlanCount_jobs | Workload throughput (jobs/minute) | |
Critical Jobs | application_wa_criticalJob_incompletePredecessor | Incomplete predecessors |
application_wa_criticalJob_potentialRisk_boolean | Risk level: potential risk | |
application_wa_criticalJob_highRisk_boolean | Risk level: high risk | |
application_wa_criticalJob_estimateEnd_seconds | Estimated end | |
application_wa_criticalJob_confidence_factor | Confidence factor | |
WA Server - Internal Message Queues | application_wa_msgFileFill_percent | Internal message queue usage for Appserverbox.msg, Courier.msg, mirrorbox.msg, Mailbox.msg, Monbox.msgn, Moncmd.msg, auditbox.msg, clbox.msg, planbox.msg, Intercom.msg, pobox messages, and server.msg |
Workstation Status | application_wa_workstation_running | Workstations running |
application_wa_workstation_linked_boolean | Workstations linked | |
Database Connection Status | application_wa_DB_connected_boolean | 1 - connected, 0 - not connected |
WA Server and Console - Liberty | base_memory_usedHeap_bytes | Heap usage percentage |
vendor_session_activeSessions | Active sessions | |
vendor_session_liveSessions | Live sessions | |
vendor_threadpool_activeThreads | Active threads | |
vendor_threadpool_size | Threadpool size | |
base_gc_time_seconds | Time per garbage collection cycle moving average | |
WA Sever and Console - Connection Pools (Liberty) | vendor_connectionpool_inUseTime_total_seconds | Average time usage per connection in milliseconds |
vendor_connectionpool_managedConnections | Managed connections | |
vendor_connectionpool_freeConnections | Free connections | |
vendor_connectionpool_connectionHandles | Connection handles | |
vendor_connectionpool_destroy_total | Created and destroyed connections |
Authorizing access to the metrics
To allow a user to access the metrics from the server, you must grant the administrator role to the user from the configured user registry.
If you access the metrics from the console, no configuration is required. See Visualizing the metrics.
Create a configuration file named, prometheus.xml, in which you define a user with administrator privileges to access the metrics data. Perform the following procedure to authorize a user access to the metrics with a basic user registry:
- To grant the default user specified in the
authentication_config.xml
file theadministrator
role to access the metrics, create a file named prometheus.xml with the following content:<server> <featureManager> <feature>mpMetrics-2.3</feature> <feature>cdi-1.2</feature> </featureManager> <administrator-role> <user>${user.twsuser.id}</user> </administrator-role> </server>
- Save the file prometheus.xml in the following location:
- On UNIX operating systems
-
- master domain manager
-
TWA_DATA_DIR/usr/servers/engineServer/configDropins/overrides
- On Windows operating systems
-
- master domain manager
-
TWA_home\usr\servers\engineServer\configDropins\overrides
- If, instead, you want to use a user different from the default user to
access metrics from the server, you must update the
authentication_config.xml
file with this user.- Make a backup copy of the existing
authentication_config.xml
file located in the following path:- On UNIX operating systems
-
- master domain manager
-
TWA_DATA_DIR/usr/servers/engineServer/configDropins/overrides
- On Windows operating systems
-
- master domain manager
-
TWA_home\usr\servers\engineServer\configDropins\overrides
- Edit the existing
authentication_config.xml
file adding the user to which you want to grant access to the metrics. The following is an example of a configuration that enables a user different from the default user, for example,OTHERUSER
, in the configured user registry to access the metrics:<server description="basicRealm"> <basicRegistry id="basic" realm="TWSRealm"> <!-- This user is defined in wauser_variables.xml, and it is the user used by liberty to run, if you remove this user please set another valid user and password defined into the user registry in wauser_variables.xml. --> <user name="${user.twsuser.id}" password="${user.twsuser.password}"/> <user name="OTHERUSER" password="OTHERUSERPASSWORD"/> </basicRegistry> </server>
- Save the
authentication_config.xml
file with the changes.
- Make a backup copy of the existing
-
Dynamic Workload Console users
defined in the
authentication_config.xml
on the console can access the metrics data from the console. To authorize additional users, add them to theauthentication_config.xml
as follows:- Make a backup copy of the existing
authentication_config.xml
file located in the following path:- Dynamic Workload Console
-
DWC_DATA_dir/usr/servers/dwcServer/configDropins/templates/authentication
- On Windows operating systems
-
- Dynamic Workload Console
-
DWC_home\usr\servers\dwcServer\configDropins\templates\authentication
- Edit the existing
authentication_config.xml
file adding the user to which you want to grant access to the metrics. The following is an example of a configuration that enables a user different from the default user, for example,OTHERUSER
, in the configured user registry to access the metrics:<server description="basicRealm"> <basicRegistry id="basic" realm="TWSRealm"> <!-- This user is defined in wauser_variables.xml, and it is the user used by liberty to run, if you remove this user please set another valid user and password defined into the user registry in wauser_variables.xml. --> <user name="${user.twsuser.id}" password="${user.twsuser.password}"/> <user name="OTHERUSER" password="OTHERUSERPASSWORD"/> </basicRegistry> </server>
- Save the
authentication_config.xml
file with the changes.
- Make a backup copy of the existing
Visualizing the metrics
- From the server:
- You can view the metrics from any browser by accessing the
/metrics
endpoint with the credentials of the user defined in theprometheus.xml
file. The product REST APIs retrieve and expose the metrics data through the following address:
where,https://MDM_HOST:MDM_PORT_HTTP/metrics
- MDM_HOST
- Represents the hostname or IP address of the master domain manager.
- MDM_PORT_HTTP
- Represents the HTTP port number of the master domain manager.
- From the console:
- You can view the metrics from any browser by accessing the
/metrics
endpoint with the credentials of the user defined in theauthentication_config.xml
file. The product REST APIs retrieve and expose the metrics data through the following address:
where,https://DWC_HOST:DWC_PORT_HTTP/metrics
- DWC_HOST
- Represents the hostname or IP address of the console.
- DWC_PORT_HTTP
- Represents the HTTP port number of the console.