Icon

Comments have been closed on this page. Please use AppMon & UEM Open Q & A forum for questions about this plugin.

Overview

 

This plugin allows you to gather single server WebSphere metrics via the SOAP interface.

Plug-In Files

com.dynatrace.diagnostics.plugins.jmx.websphere_1.0.0.jar

Author

Todd Ellis 

Versions

Dynatrace 6.0+, WebSphere 7.0+

License

dynaTrace BSD

Support Level

Not Supported

Release History05/XX/15 - v1.0.0 Initial Release


Collector Configuration:

You need to ensure the collector host is not marked as unknown. If it is, when running the plugin, you will get a local host related error. To resolve the issue for Linux:

  1. Type hostname (on the collector box in order to get the host name)
  2. In /ect/hosts define the hostname from above command)

On Windows, the host file is located: c:\windows\system32\drivers\etc\hosts

Installation and Configuration

  1. Import the Plugin into the dynaTrace Server via the dynaTrace Server Settings menu -> Plugins -> Install Plugin. For details how to do this please refer to the dynaTrace documentation: Plugin Management - Dynatrace Community
  2. Navigate to the appropriate System Profile Preferences and create a new WebSphere Application Server Monitor.
  3. i. Enter the name for the monitor (eg. environment name).
    ii. Fill out the Settings



    1. WebSphere Monitoring Thread Count - Number of threads to be used when monitoring the server (1-10)
    2. Metric Timeout - Amount of time (ms) to wait for data

    3. Environment - Name of the Environment

    4. WebSphere Server - WebSphere Server DNS or IP

    5. WebSphere SOAP Port - Port for the Server

    6. Security Enabled - Is security turned on?

    7. Key Store - E.g. C:/test/DummyClientKeyFile.jks - Needs to be on the Collector running the plugin. (.jks or .p12 supported)

    8. Key Password - Default WebAS

    9. Trust Store - E.g. C:/test/DummyClientTrustFile.jks - Needs to be on the Collector running the plugin. Trust file must be in JKS format, instructions available below.

    10. Trust Password - Default WebAS

    11. WebSphere User Name - WebSphere User

    12. WebSphere Password - Password for the WebSphere User

    13. Monitor X - Enable X Monitoring with checkmarks

    14. Application Data - List the Applications you do not want session data (separate with newline)

    15. Thread Pool Ignore - List the Thread Pools you do not want to monitor (separate with newline)

    16. Servlet Ignore - List the Servlets you do not want to monitor (separate with newline)

    17. JDBC Ignore - List the JDBC resources you do not want to monitor (separate with newline)

    18. DataSource Ignore - List the DataSource you do not want to monitor (separate with newline)

  4. Add a host for the monitor (WebSphere Server DNS or IP)
  5. Under the Schedule tab, configure the monitoring interval and dynaTrace Collector
  6. Under the Measures tab, configure the Thresholds. NOTE: For Dynamic Thresholds (different thresholds per server), refer to the Extended EMail Action Plugin.
  7. Confirm data collection by right clicking the server name under Monitors, then navigating to details.

How to convert from PKCS12 to JKS format

NOTE: If a different key/trust store is being added to the plugin configuration, the Dynatrace Collector executing the WebSphere Application Server Monitor must be restarted.

  1. Open IBM Key Management
    • On AIX or Solaris, type ikeyman on the command line.
    • On Windows, go to the start menu and select Start Key Management Utility. Or alternatively, navigate to install_dir\java\jre\bin\ikeyman.exe.
  2. Select Key Database File from the main UI, then select Open.
  3. In the Open dialog box, select PKCS12 for the Key database type, then Browse... to select a file. Click OK.
  4. In the Password Prompt dialog box, input the key/trust store password. Click OK.
  5. Select Key Database File from the main UI, then select Save As...
  6. In the New dialog box, select JKS for the Key database type, then Browse... to select the file name and location. Click OK.
  7. In the Password Prompt dialog box, input the key/trust store password for the new file. Click OK.

Updating the Plugin

NOTE: The following steps should be taken to ensure that the Collector is running the correct plugin revision. A restart of the Collector is highly recommended.

  1. Open the System Profile Preferences
    1. Navigate to the Monitors tab in the left pane. 
    2. Select the plugin Monitor and click on the Suspend button. 
    3. Click OK to confirm the changes.
  2. Open the dynatrace Server Settings
    1. Navigate to the Plugins tab in the left pane. 
    2. Select the old version of the plugin under Installed Plugins and click on the Delete button.
    3. Click on the Install Plugin... button and upload the new revision of the plugin. Click Open, then Apply.
    4. Navigate to the Collectors tab in the left pane.
    5. Select the Collector executing the plugin and click on the Restart button.
    6. Click OK to confirm the changes.
  3. Open the System Profile Preferences
    1. Navigate to the Monitors tab in the left pane. 
    2. Select the plugin Monitor and click on the Resume button. 
    3. Click OK to confirm the changes.

Usage

The out-of-the-box WebSphere Monitoring dashboard can be modified with the WebSphere Single Server Plugin metrics to provide details of each server instead of aggregated metrics of the environment.

Measures Available:

WebSphere Application Data Group

  • High Water Mark
  • Integral
  • Low Water Mark
  • Sessions Current

WebSphere Connection Group

  • Connection Status
  • WebSphere Monitor Time

WebSphere DataSource Group

  • DataSource Status

WebSphere JDBC Group

  • Free Pool Current
  • Free Pool High
  • Free Pool Integral
  • Free Pool Lower
  • Free Pool Size Low
  • Free Pool Upper
  • JDBC Close Count
  • JDBC Create Count
  • Percent Used Current
  • Percent Used High
  • Percent Used Integral
  • Percent Used Low
  • Pool Size Current
  • Pool Size High
  • Pool Size Integral
  • Pool Size Low
  • Pool Size Lower Bound
  • Pool Size Upper
  • Use Time
  • Use Time Average
  • Use Time Average Count
  • Use Time Average Max
  • Use Time Average Min
  • Use Time Average SumSq
  • Use Time Average Total
  • Use Time Count
  • Use Time Max
  • Use Time Min
  • Use Time SumSq
  • Use Time Total
  • Wait Time Count
  • Wait Time Max
  • Wait Time Min
  • Wait Time SumSq
  • Wait Time Total
  • Waiting Thread Current
  • Waiting Thread High
  • Waiting Thread Integral
  • Waiting Thread Low

WebSphere JVM Group

  • JVM CPU Usage
  • JVM Current
  • JVM High
  • JVM Integral
  • JVM Low
  • JVM Lower Bound
  • JVM Upper Bound
  • JVM Uptime
  • JVM Used Memory

WebSphere Server Group

  • Node Status

WebSphere Servlet Group

  • Average Statistic Avg Count
  • Average Statistic Avg Max
  • Average Statistic Avg Min
  • Average Statistic Avg Statistic
  • Average Statistic Avg Sum Sq
  • Average Statistic Avg Total
  • Time Statistic Avg Count
  • Time Statistic Avg Max
  • Time Statistic Avg Min
  • Time Statistic Avg Statistic
  • Time Statistic Avg Sum Sq
  • Time Statistic Avg Total
  • Total Request Count

WebSphere Thread Group

  • Thread Active Count
  • Thread Active Count High
  • Thread Active Count Low
  • Thread Pool Size High
  • Thread Pool Size Low
  • Thread Pool Size Lower
  • Thread Pool Size Upper

WebSphere Transaction Group

  • Active Transactions Count
  • Transactions Committed Count
  • Transactions RolledBack Count

 

  1. Anonymous (login to see details)

    This webserver plugin is great, I tried to implement in my customer environment, but was not able to configure successfully, the error message I got was “unable to connect to the admin server : 10.32.140.28:8881”

    1. Anonymous (login to see details)

      I have never used this plugin but I assume it tries to connect to your WebSphere SOAP INterface. This error message tells you that the plugin - which runs on your collector - cant connect to that port. So - here are some thoughts

      a) double check whether your websphere has this SOAP Interface enabled

      b) double check on which port this SOAP Interface is running - maybe it is not 8881

      c) double check that there is no firewall between your collector and your websphere instance -> here i typically try a telnet and then reach out to IT in case I cant connect

      andi

  2. Anonymous (login to see details)

    Hi Andi

    Thank you

    btw I have double checked that it has SOAP is enabled, and i did successfully telnet 8881, our collector and websphere instance are in same lan Segment, but no luck 

    Regards

    Ibrahim

    1. Anonymous (login to see details)

      Hi,

      i just sent you an email. Please have a look and let me know if it helps.

      Thanks,

      Todd

  3. Anonymous (login to see details)

    Tod, I am also having the same issue, unable to connect to the admin server!!

    1. Anonymous (login to see details)

      Hi,

      I am looking into why the .p12 files are not playing nice. Hopefully I can I find the issue this evening.

      Thanks,
      Todd

  4. Anonymous (login to see details)

    Hi,

    I have found the issue and will be posting the solution today. In short, the issue is with the format of the trust.p12. This file will need to be converted to trust.jks format. You can use the IBM key management tool to do this (jre/bin/ikeyman.exe). When you make the change, you will need to restart the collector as it has already stored (cached) the old files for use. I will also be posting a new plugin (better logging for this issue).

    Thanks,
    Todd

  5. Anonymous (login to see details)

    Greetings Todd!!

    We have faced an issue after deploy the plugin in my customer machine. Looks like the plugin execution has been completed successfully. whereas I don't see the values in the monitor plugin result field. But when I check the logs for the plugin, i could see the field values for the 10 threads ( set in the configuration).

    Please help me to resolve this.

    Sending the SS and log archives to the community.

    Regards,

    Aravindhan

  6. Anonymous (login to see details)

    Hi,

    For some reason I cannot access the logs. Could you send them directly to me: todd.ellis@dynatrace.com.

    Also, what version of WebSphere are you running? If you are using ssl, did you convert the key to JKS format?

    Thanks,

    Todd

  7. Anonymous (login to see details)

    Todd,

    I have send you the logs through mail. Also Webpshere 7 has been used.

    Thanks,

    Aravindhan

  8. Anonymous (login to see details)

    Hi Todd,

    I have installed this plugin but not able to configure successfully, the error message I got was “unable to connect to the admin server.

    They keys are in JKS format placed on collector and the Web sphere version is 8.5.5.3. I have also sent email to your dynatrace id  (todd.ellis@dynatrace.com) and waiting for the response.

    Thanks in advance.

     

    Regards,

    Najmul

     

  9. Anonymous (login to see details)

    Hi Todd Ellis,

    Could you explain the WebSphere Monitoring Thread Count field? Is this how many threads the DT server is using or Websphere?

    Regards,

    Jacob P.

    1. Anonymous (login to see details)

      Hi Jacob,

      that's the maximum number of Threads the plugin is going to create for monitoring.

      The number is related to what you want to monitor.

      Configuration example. You set

      "Monitor Threads" to true

      "Monitor Servlet" to true

      "Monitor Server" to true

      and all other "Monitor xxx" to false

      When you now set "WebSphere Monitoring Thread Count" to 3 each MonitoringTasks is assigned to it's own Thread.

      If you set "WebSphere Monitoring Thread Count" to 2 then two MonitoringTasks will have to share one Thread.

      I have added the source code of the Plugin to the GitHub-repository: https://github.com/Dynatrace/Dynatrace-WebSphere-Single-Server-Plugin

      If you want to have a look at it.

      Ingo

       

       

  10. Anonymous (login to see details)

    Hello,

     

    We are having issues connecting to WAS via SOAP. I have recieved the following errors:

     

    2016-10-31 09:15:56 INFO [WebSphereMonitoring@DEMO Monitor_1] Monitoring Thread count: 2
    2016-10-31 09:15:58 WARNING [WebSphereConnection@DEMO Monitor_1] Exception creating Admin Client Connection: com.ibm.websphere.management.exception.ConnectorException: ADMC0016E: The system cannot create a SOAP connector to connect to host odi006apps01.oddc.chrysler.com at port 58101.
    2016-10-31 09:15:58 WARNING [WebSphereMonitoring@DEMO Monitor_1] Connection is null. We will try again. Server connection information = odi006apps01.oddc.chrysler.com 58101 User1
    2016-10-31 09:15:58 INFO [DynamicMeasure@DEMO Monitor_1] Entering populateDynamicMeasure method
    2016-10-31 09:15:58 INFO [DynamicMeasure@DEMO Monitor_1] populateDynamicMeasure method: measure group: WebSphere Connection Group. BaseMeasure: Connection Status. Measure Name: AdminConnection|Test. Value is: 0.0
    2016-10-31 09:15:58 INFO [DynamicMeasure@DEMO Monitor_1] populateDynamicMeasure method done
    2016-10-31 09:15:58 WARNING [WebSphereMonitoring@DEMO Monitor_1] Error with connection: java.lang.NullPointerException
    2016-10-31 09:15:58 INFO [DynamicMeasure@DEMO Monitor_1] Entering populateDynamicMeasure method
    2016-10-31 09:15:58 INFO [DynamicMeasure@DEMO Monitor_1] populateDynamicMeasure method: measure group: WebSphere Connection Group. BaseMeasure: Connection Status. Measure Name: AdminConnection|Test. Value is: 0.0
    2016-10-31 09:15:58 INFO [DynamicMeasure@DEMO Monitor_1] populateDynamicMeasure method done
    2016-10-31 09:19:29 INFO [WebSphereMonitoring@DEMO Monitor_1] Entering teardown method
    2016-10-31 09:19:34 INFO [WebSphereMonitoring@DEMO Monitor_1] Monitoring Thread count: 2
    2016-10-31 09:19:34 WARNING [WebSphereMonitoring@DEMO Monitor_1] Connection is null. We will try again. Server connection information = odi006apps01.oddc.chrysler.com 58101 User2
    2016-10-31 09:19:34 INFO [DynamicMeasure@DEMO Monitor_1] Entering populateDynamicMeasure method
    2016-10-31 09:19:34 INFO [DynamicMeasure@DEMO Monitor_1] populateDynamicMeasure method: measure group: WebSphere Connection Group. BaseMeasure: Connection Status. Measure Name: AdminConnection|Test. Value is: 0.0
    2016-10-31 09:19:34 INFO [DynamicMeasure@DEMO Monitor_1] populateDynamicMeasure method done
    2016-10-31 09:19:34 WARNING [WebSphereMonitoring@DEMO Monitor_1] Error with connection: java.lang.NullPointerException
    2016-10-31 09:19:34 INFO [DynamicMeasure@DEMO Monitor_1] Entering populateDynamicMeasure method
    2016-10-31 09:19:34 INFO [DynamicMeasure@DEMO Monitor_1] populateDynamicMeasure method: measure group: WebSphere Connection Group. BaseMeasure: Connection Status. Measure Name: AdminConnection|Test. Value is: 0.0
    2016-10-31 09:19:34 INFO [DynamicMeasure@DEMO Monitor_1] populateDynamicMeasure method done
    2016-10-31 09:20:55 INFO [DynamicMeasure@DEMO Monitor_1] Entering populateDynamicMeasure method
    2016-10-31 09:20:55 INFO [DynamicMeasure@DEMO Monitor_1] populateDynamicMeasure method: measure group: WebSphere Connection Group. BaseMeasure: Connection Status. Measure Name: AdminConnection|Test. Value is: 0.0
    2016-10-31 09:20:55 INFO [DynamicMeasure@DEMO Monitor_1] populateDynamicMeasure method done
    2016-10-31 09:25:55 INFO [DynamicMeasure@DEMO Monitor_1] Entering populateDynamicMeasure method
    2016-10-31 09:25:55 INFO [DynamicMeasure@DEMO Monitor_1] populateDynamicMeasure method: measure group: WebSphere Connection Group. BaseMeasure: Connection Status. Measure Name: AdminConnection|Test. Value is: 0.0
    2016-10-31 09:25:55 INFO [DynamicMeasure@DEMO Monitor_1] populateDynamicMeasure method done

     

     

    I tried two different users to make sure if wasnt an authentication issue, but as you can see it created two separate error messages. Any ideas why we might be having issues?

     

    Thank you,

    Jacob P.

     

  11. Anonymous (login to see details)

    Hello Ingo Hackl, any idea why we are having the connection issues above?

    1. Anonymous (login to see details)

      Can you ensure that the Collector that runs that plugin can open a connection to odi006apps01.oddc.chrysler.com on port 58101? If there is a firewall or anything else blocking it it would probably cause that issue

      1. Anonymous (login to see details)

        Yes, I have verified that I can create a telnet connection from the collector on that host to that port and another port as well. I have ensured there are firewall rules in place to allow communication.

  12. Anonymous (login to see details)

    Hi Jakob,

    I don't have an idea why you have these connection issues. Sorry.

    Ingo

  13. Anonymous (login to see details)

    Good Afternoon,

    Can you tell me what controls what thread pools are able to be measured? I have not implemented any "do not monitor" settings, but i get random sets of thread pools from similar application servers one gives me only Orb as an example while the other gives me a few more but not all and a third gives me all. They all have the same basic pmi metrics enabled. i am on 6.3 monitoring was 7.0 servers. Any ideas would be greatly appreciated.

  14. Anonymous (login to see details)

    Hi,

    I'm trying to chart how many times a servlet was used.

    I've been trying to do that through charting the measure:

    • Average Statistic Avg Count

     

    but i've received values that far greater than the times the servlet ran.

    My charting aggregation was "average".

     

    Does anyone know what metric should i use and how to aggregate it?

     

    Daniel