Supported Target Versions
Validated on IBM WebSphere Application Server (WAS) version 9.0.5.1.

Application Version and Upgrade Details

Application VersionBug fixes / Enhancements
1.0.2Provided fix for Get Latest Metrics, Activity Logger and DebugHandler Changes.
1.0.1Resource Management object ID(moId) changes for IBM WAS Server and IBM WAS Applications Native Types
1.0.0Initial deployment

Introduction

IBM WebSphere Application Server is a flexible, secure Java server runtime environment for enterprise applications. Deploy and manage applications and services regardless of time, location, or device type. Integrated management and administrative tools provide enhanced security and control, while support for multi-cloud environments allows you to choose your deployment method. Continuous delivery capabilities and services help you respond at the speed your business needs.

In the WebSphere Application Server product, an application server collaborates with a web server to handle requests for web applications. The application server and web server communicate using a WebSphere HTTP plug-in for the web server.

Prerequisites

  • OpsRamp Classic Gateway 14.0.0 and above.

  • OpsRamp NextGen Gateway 14.0.0 and above.
    Note: OpsRamp recommends using the latest Gateway version for full coverage of recent bug fixes, enhancements, etc.

  • For Applications Manager to collect data from WebSphere Application Server, configurations are required at the Performance Monitoring Infrastructure (PMI) specification level.

  • Change the Performance Monitor Interface (PMI) Monitoring statistics from “None” to “Extended”. Deploy the perfServletApp.ear file in which is the PMI infrastructure to retrieve the performance information from WebSphere Application Server, and then restart the WebSphere Application Server.

  • Enable Performance Monitor Interface (PMI) Monitoring:

    1. Enable Performance Monitoring Infrastructure (PMI) in the application servers you want to monitor.
    2. Go to the IBM WAS Console, then navigate to Servers > All servers.
    3. Click the server name, then “Performance Monitoring Infrastructure (PMI)” under the “Performance” tab.
    4. Select the Enable Performance Monitoring Infrastructure checkbox and then check the Extended button under Currently monitored statistic set.
    5. Click Apply.
    6. Click Save and restart the server.
  • To deploy perfServletApp.ear:

    The performance servlet is deployed exactly as any other servlet. Deploy the servlet on a single application server instance within the domain.

    1. Open the IBM WAS Admin console.
    2. Go to Applications on the left-side tree, then navigate to Application Types > WebSphere Enterprise applications.
    3. Click Install.
    4. Select Local File system and then browse the perf servlet application ear file.
    5. Click Next.
    6. The default path is <WAS_INSTALLED_PATH>/<APP_SERVER_NAME>/installableApps/PerfServletApp.ear.
    7. Accept all default options and click Next until finish.
    8. Click Save.
    9. After successful installation, restart the node server once in order to make the perf servlet work correctly.
    10. If global security is enabled in Websphere, make sure that a WebSphere Admin User is added to the monitor group of the perfservletApp.
    11. Navigate to IBM WebSphere Admin console → Applications → Installed Applications → Choose perfservletapp → Security role to user group mapping → Choose Monitor Role → Associate the admin user → Save directly to the master configuration.

    Note: To ensure whether the PMI & perfServletApp are configured properly in WebSphere, invoke the below URL & check whether the data is returned in XML format. http://localhost:<PORT>/wasPerfTool/servlet/perfservlet - 9080 (Default)

    Refer: Retrieving performance data with PerfServlet for more information.

Hierarchy of IBM WebSphere Application resources

For IBM WebSphere Application:

        • IBM WAS Node

                • IBM WAS Server
                        • IBM WAS Application

Supported Metrics

Click here to view the supported metrics
Native TypeMetric NameDisplay NameUnitsApplication VersionDescription
IBM WAS Nodeibm_was_resource_APIStatsIBM WAS Resource API Stattisticscount1.0.0Provides the number of API calls made within the frequency and resources.
IBM WAS Serveribm_was_JdbcCreateCountIBM WAS JDBC Create Countcount1.0.0The total number of managed connections that were created since pool creation.
ibm_was_JdbcCloseCountIBM WAS JDBC Close Countcount1.0.0The total number of managed connections that were destroyed since pool creation.
ibm_was_JdbcAllocateCountIBM WAS JDBC Allocate Countcount1.0.0The total number of managed connections that were allocated since pool creation.
ibm_was_JdbcReturnCountIBM WAS JDBC Return Countcount1.0.0The total number of managed connections that were returned since pool creation.
ibm_was_JdbcPoolSizeIBM WAS JDBC Pool Sizecount1.0.0The size of the connection pool.
ibm_was_JdbcFreePoolSizeIBM WAS JDBC Free Pool Sizecount1.0.0The number of managed connections that are in the free pool.
ibm_was_JdbcWaitingThreadCountIBM WAS JDBC Waiting Thread Countcount1.0.0The number of threads that are currently waiting for a connection.
ibm_was_JdbcFaultCountIBM WAS JDBC Fault Countcount1.0.0The total number of faults, such as timeouts, in the connection pool.
ibm_was_JdbcPercentUsedIBM WAS JDBC Percent Used%1.0.0The percent of the pool that is in use.
ibm_was_JdbcUseTimeIBM WAS JDBC Use Timems1.0.0The average time in milliseconds that a connection is in use. Shown as millisecond.
ibm_was_JdbcWaitTimeIBM WAS JDBC Wait Timems1.0.0The average waiting time in milliseconds until a connection is granted if a connection is not currently available. Shown as millisecond
ibm_was_JdbcPrepStmtCacheDiscardCountIBM WAS JDBC Prep Stmt Cache Discard Countcount1.0.0The total number of statements that are discarded by the least recently used (LRU) algorithm of the statement cache.
ibm_was_JdbcTimeIBM WAS JDBC Timems1.0.0The average time in milliseconds spent running in the JDBC driver includes time that is spent in the JDBC driver, network, and database. Shown as millisecond.
ibm_was_JvmHeapSizeIBM WAS JVM Heap SizeKB1.0.0The total memory in the JVM run time. Shown as kibibyte.
ibm_was_JvmFreeMemoryIBM WAS JVM Free MemoryKB1.0.0The free memory in the JVM run time. Shown as kibibyte.
ibm_was_JvmUsedMemoryIBM WAS JVM Used MemoryKB1.0.0The used memory in the JVM run time. Shown as kibibyte.
ibm_was_JvmUpTimeIBM WAS JVM Up Times1.0.0The amount of time that the JVM is running. Shown as second.
ibm_was_JvmProcessCpuUsageIBM WAS JVM Process CPU Usage%1.0.0The CPU Usage (in percent) of the Java virtual machine.Shown as percent.
ibm_was_ThreadPoolsActiveCountIBM WAS Thread Pools Active Countcount1.0.0The number of concurrently active threads. Shown as thread.
ibm_was_ThreadPoolsSizeIBM WAS Thread Pools Sizecount1.0.0The average number of threads in pool. Shown as thread.
ibm_was_ThreadPoolDeclaredThreadHungCountIBM WAS Thread Pool Declared Thread Hung Countcount1.0.0The number of threads declared hung. Shown as thread.
ibm_was_ThreadPoolClearedThreadHangCountIBM WAS Thread Pool Cleared ThreadHang Countcount1.0.0The number of thread hangs cleared. Shown as thread.
ibm_was_ThreadPoolConcurrentHungThreadCountIBM WAS Thread Pool Concurrent Hung Thread Countcount1.0.0The number of concurrently hung threads. Shown as thread.
ibm_was_OverallCPUUtilizationIBM WAS Overall CPU Utilization%1.0.0IBM WAS Overall CPU Utilization.
ibm_was_TotalMemoryIBM WAS Total MemoryKB1.0.0IBM WAS Total Memory.
ibm_was_RecentCPUUtilizationIBM WAS Recent CPU Utilization%1.0.0IBM WAS Recent CPU Utilization.
ibm_was_ResidentMemoryIBM WAS Resident MemoryKB1.0.0IBM WAS Resident Memory.
IBM WAS Applicationibm_was_ServletSessionLifeTimeIBM WAS Servlet Session Life Timems1.0.0The average session life time in milliseconds (time invalidated - time created)
ibm_was_ServletSessionLiveCountIBM WAS Servlet Session Live Countcount1.0.0The number of local sessions that are currently cached in memory from the time at which this metric is enabled. Shown as session.
ibm_was_ServletSessionNoRoomForNewSessionCountIBM WAS Servlet Session No Room For New Session Countcount1.0.0Applies only to sessions 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.
ibm_was_ServletSessionExternalReadTimeIBM WAS Servlet Session External Read Timems1.0.0The time (ms) taken in reading the session data from the persistent store. For multirow sessions, the metrics are for the attribute; for single row sessions, the metrics are for the entire session. Applicable only for persistent sessions. When using a JMS persistent store, only available if replicated data is serialized.
ibm_was_ServletSessionExternalReadSizeIBM WAS Servlet Session External Read SizeBytes1.0.0Size of the session data read from persistent store. Applicable only for (serialized) persistent sessions; similar to external Read Time.
ibm_was_ServletSessionExternalWriteTimeIBM WAS Servlet Session External Write Timems1.0.0The time (milliseconds) taken to write the session data from the persistent store. Applicable only for (serialized) persistent sessions. Similar to external Read Time.
ibm_was_ServletSessionExternalWriteSizeIBM WAS Servlet Session External Write SizeBytes1.0.0The size of the session data written to the persistent store. Applicable only for (serialized) persistent sessions. Similar to external Read Time.
ibm_was_ServletSessionActiveCountIBM WAS Servlet Session Active Countcount1.0.0The number of concurrently active sessions. A session is active if the WebSphere Application Server is currently processing a request that uses that session.
ibm_was_webapp_RequestCountIBM WAS WebApp Request Countcount1.0.0The total number of requests that a web application processed.
ibm_was_webapp_ConcurrentRequestsIBM WAS WebApp Concurrent Requestscount1.0.0The number of requests that are concurrently processed.
ibm_was_webapp_ServiceTimeIBM WAS WebApp Service Timems1.0.0IBM WAS WebApp Service Time.
ibm_was_webapp_ErrorCountIBM WAS WebApp Error Countcount1.0.0Total number of errors in a servlet or JavaServer Page (JSP).
ibm_was_webapp_AsyncContextResponseTimeIBM WAS WebApp Async Context Response Timems1.0.0IBM WAS WebApp Async Context Response Time.

Default Monitoring Configurations

IBM Websphere Application Server has default Global Device Management Policies, Global Templates, Global Monitors and Global metrics in OpsRamp. Users can customize these default monitoring configurations as per their business use cases by cloning respective global templates and global Device Management Policies. OpsRamp recommends doing this activity before installing the app to avoid noise alerts and data.

  1. Default Global Device Management Policies

    OpsRamp has a Global Device Management Policy for each Native Type of IBM Websphere Application Server. You can find those Device Management Policies at Setup > Resources > Device Management Policies, search with suggested names in global scope. Each Device Management Policy follows below naming convention:

    {appName nativeType - version}

    Ex: ibm-websphere IBM WAS Server - 1(i.e, appName = ibm-websphere, nativeType = IBM WAS Server , version = 1)

  2. Default Global Templates

    OpsRamp has a Global template for each Native Type of IBM Websphere Application Server. You can find those templates at Setup > Monitoring > Templates, search with suggested names in global scope. Each template follows below naming convention:

    {appName nativeType 'Template' - version}

    Ex: ibm-websphere IBM WAS Server Template- 1(i.e, appName = ibm-websphere, nativeType = IBM WAS Server, version = 1)

  3. Default Global Monitors

    OpsRamp has a Global Monitors for each Native Type which has monitoring support. You can find those monitors at Setup > Monitoring > Monitors, search with suggested names in global scope. Each Monitors follows below naming convention:

    {monitorKey appName nativeType - version}

    Ex: IBM WAS Application Monitor ibm-websphere IBM WAS Server 1 (i.e, monitorKey = IBM WAS Application Monitor, appName = ibm-websphere, nativeType =IBM WAS Server,version = 1)

Configure and Install the IBM WAS Integration

  1. From All Clients, select a client.
  2. Go to Setup > Account.
  3. Select the Integrations and Apps tab.
  4. The Installed Integrations page, where all the installed applications are displayed.
    Note: If there are no installed applications, it will navigate to the ADD APP page.
  5. Click + ADD on the Installed Integrations page. The Available Integrations and Apps page displays all the available applications along with the newly created application with the version.
    Note: You can even search for the application using the search option available. Also you can use the All Categories option to search.
  1. Click ADD in the IBM Websphere Application Server application.
    Note: Select the version from the drop down menu.
  2. In the Configurations page, click + ADD. The Add Configuration page appears.
  3. Enter the below mentioned Basic Information:
FunctionalityDescription
NameEnter the name for the configuration.
IBM WAS IP Address/Host NameIP address/host name of the IBM WAS.
IBM WAS PerfServlet API PortAPI Port details

Example: Default port value is 9080.
CredentialSelect the Credential from the drop-down list.

(Optional): Click + Add to create a credential. The ADD CREDENTIAL window is displayed. Enter the following information.
  • Name: Credential name.
  • Description: Brief description of the credential.
  • User Name: User name.
  • Password: Password.
  • Confirm Password: Confirm password

Notes:

  • By default the Is Secure checkbox is selected.
  • Host Name/IP Address and Port should be accessible from Gateway.
  • Select the following:
    • App Failure Notifications: if turned on, you will be notified in case of an application failure that is, Connectivity Exception, Authentication Exception.
  1. Select the below mentioned Custom Attribute:
FunctionalityDescription
Custom AttributeSelect the custom attribute from the drop down list box.
ValueSelect the value from the drop down list box.

Note: The custom attribute that you add here will be assigned to all the resources that are created by the integration. You can add a maximum of five custom attributes (key and value pair).

  1. In the RESOURCE TYPE section, select:

    • ALL: All the existing and future resources will be discovered.
    • SELECT: You can select one or multiple resources to be discovered.
  2. In the DISCOVERY SCHEDULE section, select Recurrence Pattern to add one of the following patterns:

    • Minutes
    • Hourly
    • Daily
    • Weekly
    • Monthly
  3. Click ADD.

Now the configuration is saved and displayed on the configurations page after you save it.
Note: From the same page, you may Edit and Remove the created configuration.

  1. Under the ADVANCED SETTINGS, Select the Bypass Resource Reconciliation option, if you wish to bypass resource reconciliation when encountering the same resources discovered by multiple applications.

    Note: If two different applications provide identical discovery attributes, two separate resources will be generated with those respective attributes from the individual discoveries.

  2. Click NEXT.

  3. (Optional) Click +ADD to create a new collector by providing a name or use the pre-populated name.

Veeam
  1. Select an existing registered profile.
Veeam
  1. Click FINISH.

The application is installed and displayed on the INSTALLED INTEGRATION page. Use the search field to find the installed integration.

Modify the Configuration

View the IBM Websphere Application Server Details

  1. Navigate to Infrastructure > Search > MIDDLEWARE > IBM Websphere Application Server.
  2. The IBM Websphere Application Server page is displayed, select the application name.
  3. The RESOURCE DETAILS page appears from the right.
  4. Click the ellipsis () on the top right and select View details.
  5. Navigate to the Attributes tab to view the discovery details.
  1. Click the Metrics tab to view the metric details for IBM Websphere Application Server.

Resource Filter Input Keys

IBM Websphere Application Server application Resources are filtered and discovered based on below keys:

Click here to view the Supported Input Keys
Resource TypeSupported Input Keys
All TypesresourceName
hostName
aliasName
dnsName
ipAddress
macAddress
os
make
model
serialNumber
IBM WAS NodeNode Address
Version

Supported Alert Custom Macros

Customize the alert subject and description with below macros then it will generate alert based on customisation

Supported macros keys:

Click here to view the alert subject and description with macros

                                ${resource.name}

                                ${resource.ip}

                                ${resource.mac}

                                ${resource.os}

                                ${resource.type}

                                ${resource.make}

                                ${resource.model}

                                ${resource.serialnumber}

                                ${resource.systemId}

                                ${parent.resource.name}

                                    ${Custom attributes on the resource}

Risks, Limitations & Assumptions

  • Application can handle Critical/Recovery failure alert notifications for below two cases when user enables App Failure Notifications in configuration
    • Connectivity Exception
    • Authentication Exception
  • Application cannot control monitoring pause/resume actions based on above alerts. Metrics can be used to monitor PowerMax resources and can generate alerts based on the threshold values.
  • Component level thresholds can be configured on each resource level.
  • No support of showing activity logs.
  • The Template Applied Time will only be displayed if the collector profile (Classic and NextGen Gateway) is version 18.1.0 or higher.
  • Application will send any duplicate/repeat failure alert notification for every 6 hours.
  • Latest snapshot metric is available from Gateway version 14.0.0.
  • This application supports both Classic Gateway and NextGen Gateway.