IBM WAS
Introduction
IBM WebSphere Application Server (WAS) is a comprehensive and robust application server designed to support Java applications, enterprise applications, and web services. It provides a flexible and scalable platform for deploying, managing, and running applications. As an integral part of IBM's middleware suite, WebSphere Application Server offers support for Java EE (Enterprise Edition) standards, making it ideal for complex, large-scale enterprise applications. It enables seamless integration with databases, messaging systems, and other technologies, offering high availability, security, and performance, making it a key solution for businesses in various industries.
Getting Started
Compatibility
The IBM WAS O11ySource is compatible with all versions equal to greater than 8.5.5.
Data Collection Method
vuSmartMaps collects health and performance data for IBM WebSphere Application server using VuNet's vuAppAgent. This agent collects data based on the source configuration.
Prerequisites
Dependent Configuration
To configure this O11ySource, create a 'credential' of type 'user' under the 'Definition' tab.
Inputs for Configuring Data Source
-
IBM WAS Server: The IP Address/FQDN of the IBM WAS server. This field is the key to identify each server you add here.
-
Port: SOAP connector port for Deployment Manager.
-
Security: Select if administrative security to be included/excluded from monitoring.
-
SSL: Select if SSL Certificate to be included/excluded from monitoring
-
Client Trusted Keystore file Path: Client Trusted Keystore file. This file would be in (WAS_HOME)/profiles/(DMGR_NAME)/etc. For example, DummyClientTrustFile.jks
-
Client Trusted Keystore password: Client Trusted Keystore password. By default, this is “WebAS”.
-
Client Keystore file path: Client Keystore file. This file would be in (WAS_HOME)/profiles/(DMGR_NAME)/etc/. For example, DummyClientKeyFile.jks.
-
Client Keystore password: Client Keystore password. By default, this is “WebAS”.
-
Credential: Select the credential.
-
Period [in seconds]: How frequently data is gathered. The period should be between 60 seconds – 3000 seconds.
Firewall Requirement
To collect data from this O11ySource, ensure the following ports are opened:
Source IP | Destination IP | Destination Port | Protocol | Direction |
---|---|---|---|---|
IP address of the IBM WebSphere Application server | Data Collector End Point | 8879* | TCP | Inbound |
*Before providing the firewall requirements, please update the port based on the customer environment.
Configuring the Target
IBM WebSphere metrics are collected using VuNet's VuApp agent, which connects to WebSphere's monitoring endpoints. The server provides monitoring capabilities via the administrative console or through JMX (Java Management Extensions) metrics.
To check whether the monitoring feature is enabled, verify the settings in the administrative console. Ensure that the WebSphere Performance Monitoring Infrastructure (PMI) is enabled using the following admin console steps:
- Go to Monitoring and Tuning > Performance Monitoring Infrastructure in the Admin Console.
- Select Servers, then select the Currently monitored statistic set (None, Basic, Extended, All, or Custom).
- Choose metrics such as response times, thread pools, garbage collection, and memory usage, then click Apply.
Configuration Steps
Configure Metrics and Logs Collection from IBM WebSphere Application Server
- Enable the IBM WAS O11ySource
- Select the Sources tab and press the
+
button to add a new WebSphere host to be monitored. - Set up metrics collection configurations for WebSphere. In the configuration screen, specify the desired metrics you wish to collect from your WebSphere server.
- After configuring, click
Save and Continue
to proceed with downloading the agent. - The following packages will be available for download based on the OS: Download <OS> vuAppAgent Installation Binary - Downloads the full vuAppAgent package with required configurations for a fresh installation. Download <OS> vuAppAgent Update Configuration Binary - Downloads the agent configuration package to update an existing vuAppAgent installation.
- Download the agent installation or update package, then click
Finish
to close the data source window.
Metrics Collected
Name | Description | Data Type |
---|---|---|
@timestamp | The original string timestamp from the source log. | String |
timestamp | The timestamp for the data point with high precision (64-bit). | DateTime64 |
target | The target for the metrics, typically identifying the specific system or service being monitored. | String |
Host | This is the host/ip of the machine where JVM is running. This is just a | String |
tenant_id | nan | LowCardinality(String) |
bu_id | copy of the "Host" field in the configuration file. | LowCardinality(String) |
StatisticType | Type of statistic being monitored | String |
DisplayName | Name to identify the WAS. It is cofigured in the Metadata section of the | String |
Status | Current status of the server or service (e.g., "Up", "Down"). | LowCardinality(String) |
Process | Name of the WAS process. | String |
ProcessType | Process Type. The values would be ManageProcess | String |
Cell | Name of the WAS cell. | String |
Node | Name of the WAS Node | String |
RolledbackCount | The total number of global transactions rolled back | UInt64 |
CommittedCount | The total number of global transactions committed | UInt64 |
ActiveCount | The number of concurrently active global transactions | UInt64 |
ConcurrentHungThreadCount_current | The number of thread hangs cleared. | UInt64 |
ClearedThreadHangCount | The number of thread hangs cleared. | UInt64 |
CPUUsageSinceServerStarted_max | The max percent CPU Usage that is busy once the server is | UInt64 |
CPUUsageSinceServerStarted_count | The count CPU Usage that is busy once the server is | UInt64 |
CPUUsageSinceServerStarted_mean | The average system CPU utilization taken over the time interval since | Float32 |
CPUUsageSinceLastMeasurement | The average system CPU utilization taken over the time interval since the last reading. Because the first call is required to perform initialization, a value such as 0, which is not valid, will be returned. All subsequent calls return the expected value. On SMP machines, the value returned is the utilization averaged over all CPUs. | UInt64 |
FreeMemory | The free memory in the JVM run time. | UInt64 |
CPUUsageSinceServerStarted_min | The min percent CPU Usage that is busy once the server is | UInt64 |
ActiveCount_current | All subsequent calls return the expected value. On SMP machines,The number of concurrently active sessions. A session is active if the WebSphere® Application Server is currently processing a request that uses that session. | UInt64 |
LiveCount_current | The number of local sessions that are currently cached in memory from the time at which this metric is enabled. | UInt64 |
HeapSize_current | Applies only to session in memory with AllowOverflow=false. The number of times that a request for a new session cannot be handled because it exceeds the maximum session count. | UInt64 |
UsedMemory | The used memory in the JVM run time | UInt64 |
UpTime | The amount of time that the JVM is running | UInt64 |
UseTime_mean | Mean value of UseTime. UseTime is the average time in milliseconds that a connection is in use. | UInt64 |
PercentUsed_current | The percent of the pool that is in use. | UInt64 |
UseTime_max | Max value of UseTime. UseTime is the average time in milliseconds that a connection is in use. | UInt64 |
UseTime_count | Current value of UseTime. UseTime is the average time in milliseconds that a connection is in use. | UInt64 |
WaitingThreadCount_current | The number of threads that are currently waiting for a connection. | UInt64 |
WaitTime_max | Max of WaitTime. WaitTime is the average waiting time in milliseconds until a connection is granted if a connection is not currently available. | UInt64 |
PoolSize_current | The size of the connection pool. | UInt64 |
UseTime_min | Min value of UseTime. UseTime is the average time in milliseconds that a connection is in use. | UInt64 |
FreePoolSize_current | The number of managed connections that are in the free pool. | UInt64 |
WaitTime_min | Min of WaitTime. WaitTime is the average waiting time in milliseconds until a connection is granted if a connection is not currently available. | UInt64 |
CreateCount | The total number of managed connections that were created since pool creation. | UInt64 |
WaitTime_mean | Mean of WaitTime. WaitTime is the average waiting time in milliseconds | UInt64 |
CloseCount | The total number of managed connections that were destroyed since pool creation. | UInt64 |
WaitTime_count | Current value of WaitTime. WaitTime is the average waiting time in milliseconds until a connection is granted if a connection is not currently available. | UInt64 |
@timestamp | The original string timestamp from the source log. | String |
timestamp | The timestamp for the data point with high precision (64-bit). | DateTime64 |
target | The target for the metrics, typically identifying the specific system or service being monitored. | String |
Host | This is the host/ip of the machine where JVM is running. This is just a | String |
tenant_id | nan | LowCardinality(String) |
bu_id | copy of the "Host" field in the configuration file. | LowCardinality(String) |
StatisticType | Type of statistic being monitored | String |
DisplayName | Name to identify the WAS. It is cofigured in the Metadata section of the | String |
Status | Current status of the server or service (e.g., "Up", "Down"). | LowCardinality(String) |
Process | Name of the WAS process. | String |
ProcessType | Process Type. The values would be ManageProcess | String |
Cell | Name of the WAS cell. | String |
Node | Name of the WAS Node | String |
@timestamp | The original string timestamp from the source log. | String |
timestamp | The timestamp for the data point with high precision (64-bit). | DateTime64 |
target | The target for the metrics, typically identifying the specific system or service being monitored. | String |
Host | This is the host/ip of the machine where JVM is running. This is just a | String |
tenant_id | nan | LowCardinality(String) |
bu_id | copy of the "Host" field in the configuration file. | LowCardinality(String) |
StatisticType | Type of statistic being monitored | String |
DisplayName | Name to identify the WAS. It is cofigured in the Metadata section of the | String |
Process | Name of the WAS process. | String |
ProcessType | Process Type. The values would be ManageProcess | String |
Cell | Name of the WAS cell. | String |
Node | Name of the WAS Node | String |
PercentUsed_current | The percent of the pool that is in use. | UInt64 |
WaitingThreadCount_current | The number of threads that are currently waiting for a connection. | UInt64 |
FaultCount | The total number of faults, such as timeouts, in the connection pool. | UInt64 |
WaitTime_count | Current value of WaitTime. WaitTime is the average waiting time in milliseconds until a connection is granted if a connection is not currently available. | UInt64 |
PoolSize_current | The size of the connection pool. | UInt64 |
FreePoolSize_current | The number of managed connections that are in the free pool. | UInt64 |
CreateCount | The total number of managed connections that were created since pool creation. | UInt64 |
CloseCount | The total number of managed connections that were destroyed since pool creation. | UInt64 |
@timestamp | The original string timestamp from the source log. | String |
timestamp | The timestamp for the data point with high precision (64-bit). | DateTime64 |
target | The target for the metrics, typically identifying the specific system or service being monitored. | String |
Host | This is the host/ip of the machine where JVM is running. This is just a | String |
tenant_id | nan | LowCardinality(String) |
bu_id | copy of the "Host" field in the configuration file. | LowCardinality(String) |
StatisticType | Type of statistic being monitored | String |
DisplayName | Name to identify the WAS. It is cofigured in the Metadata section of the | String |
Process | Name of the WAS process. | String |
ProcessType | Process Type. The values would be ManageProcess | String |
Cell | Name of the WAS cell. | String |
Node | Name of the WAS Node | String |
ProcessCpuUsage | CPU usage for this process. | UInt64 |
FreeMemory | The free memory in the JVM run time. | UInt64 |
HeapSize_current | The total memory in the JVM run time. | UInt64 |
UsedMemory | The used memory in the JVM run time | UInt64 |
UpTime | The amount of time that the JVM is running | UInt64 |
@timestamp | The original string timestamp from the source log. | String |
timestamp | The timestamp for the data point with high precision (64-bit). | DateTime64 |
target | The target for the metrics, typically identifying the specific system or service being monitored. | String |
Host | This is the host/ip of the machine where JVM is running. This is just a | String |
tenant_id | nan | LowCardinality(String) |
bu_id | copy of the "Host" field in the configuration file. | LowCardinality(String) |
StatisticType | Type of statistic being monitored | String |
DisplayName | Name to identify the WAS. It is cofigured in the Metadata section of the | String |
Process | Name of the WAS process. | String |
ProcessType | Process Type. The values would be ManageProcess | String |
Cell | Name of the WAS cell. | String |
Node | Name of the WAS Node | String |
LiveCount_current | The number of local sessions that are currently cached in memory from the time at which this metric is enabled. | UInt64 |
ActiveCount_current | The number of concurrently active sessions. A session is active if the WebSphere® Application Server is currently processing a request that uses that session. | UInt64 |
HeapSize_current | Applies only to session in memory with AllowOverflow=false. The number of times that a request for a new session cannot be handled because it exceeds the maximum session count. | UInt64 |
@timestamp | The original string timestamp from the source log. | String |
timestamp | The timestamp for the data point with high precision (64-bit). | DateTime64 |
target | The target for the metrics, typically identifying the specific system or service being monitored. | String |
Host | This is the host/ip of the machine where JVM is running. This is just a | String |
tenant_id | nan | LowCardinality(String) |
bu_id | copy of the "Host" field in the configuration file. | LowCardinality(String) |
StatisticType | Type of statistic being monitored | String |
DisplayName | Name to identify the WAS. It is cofigured in the Metadata section of the | String |
Process | Name of the WAS process. | String |
ProcessType | Process Type. The values would be ManageProcess | String |
Cell | Name of the WAS cell. | String |
Node | Name of the WAS Node | String |
CPUUsageSinceLastMeasurement | The average system CPU utilization taken over the time interval since the last reading. Because the first call is required to perform initialization, a value such as 0, which is not valid, will be returned. All subsequent calls return the expected value. On SMP machines, the value returned is the utilization averaged over all CPUs. | UInt64 |
CPUUsageSinceServerStarted_mean | The average system CPU utilization taken over the time interval since | UInt64 |
CPUUsageSinceServerStarted_count | The count CPU Usage that is busy once the server is | UInt64 |
FreeMemory | The free memory in the JVM run time. | UInt64 |
@timestamp | The original string timestamp from the source log. | String |
timestamp | The timestamp for the data point with high precision (64-bit). | DateTime64 |
target | The target for the metrics, typically identifying the specific system or service being monitored. | String |
Host | This is the host/ip of the machine where JVM is running. This is just a | String |
tenant_id | nan | LowCardinality(String) |
bu_id | copy of the "Host" field in the configuration file. | LowCardinality(String) |
StatisticType | Type of statistic being monitored | String |
DisplayName | Name to identify the WAS. It is cofigured in the Metadata section of the | String |
Process | Name of the WAS process. | String |
ProcessType | Process Type. The values would be ManageProcess | String |
Cell | Name of the WAS cell. | String |
Node | Name of the WAS Node | String |
ActiveCount_current | The number of concurrently active threads | UInt64 |
PoolSize_current | The average number of threads in pool | UInt64 |
DeclaredthreadHungCount | The number of threads declared hung. | UInt64 |
ClearedThreadHangCount | The number of thread hangs cleared. | UInt64 |
@timestamp | The original string timestamp from the source log. | String |
timestamp | The timestamp for the data point with high precision (64-bit). | DateTime64 |
target | The target for the metrics, typically identifying the specific system or service being monitored. | String |
Host | This is the host/ip of the machine where JVM is running. This is just a | String |
tenant_id | nan | LowCardinality(String) |
bu_id | copy of the "Host" field in the configuration file. | LowCardinality(String) |
StatisticType | Type of statistic being monitored | String |
DisplayName | Name to identify the WAS. It is cofigured in the Metadata section of the | String |
Process | Name of the WAS process. | String |
ProcessType | Process Type. The values would be ManageProcess | String |
Cell | Name of the WAS cell. | String |
Node | Name of the WAS Node | String |
ActiveCount | The number of concurrently active global transactions | UInt64 |
CommittedCount | The total number of global transactions committed | UInt64 |
GlobalTimeoutCount | The number of global transactions timed out | UInt64 |
RolledbackCount | The total number of global transactions rolled back | UInt64 |
@timestamp | The original string timestamp from the source log. | String |
timestamp | The timestamp for the data point with high precision (64-bit). | DateTime64 |
target | The target for the metrics, typically identifying the specific system or service being monitored. | String |
Host | This is the host/ip of the machine where JVM is running. This is just a | String |
tenant_id | nan | LowCardinality(String) |
bu_id | copy of the "Host" field in the configuration file. | LowCardinality(String) |
StatisticType | Type of statistic being monitored | String |
DisplayName | Name to identify the WAS. It is cofigured in the Metadata section of the | String |
Process | Name of the WAS process. | String |
ProcessType | Process Type. The values would be ManageProcess | String |
Cell | Name of the WAS cell. | String |
Node | Name of the WAS Node | String |
ConcurrentRequests | The number of requests that are concurrently processed. | UInt64 |
RequestCount | The total number of requests processed for an URI associated with a servlet. | UInt64 |
ErrorCount | Total number of errors in a servlet or JavaServer Page (JSP). | UInt64 |
ResponseTime | The average service response time, in milliseconds, for an URI associated with a servlet. | Float32 |
StatisticSubTypeLevel1 | The Application name provider | String |