Overview

 

Monitoring is a proactive, not reactive, approach to system management. That is what the Weblogic plugin is trying to provide. We have the ability to extract data that can be used for monitoring/alerting purposes, but having this history we can also start using the data for capacity planning and configuration validation (did we make things better or worse). This plugin makes collecting and storing Weblogic data easy. Add this to the graphical ability of dynaTrace and we now have a light weight and high result proactive monitoring solution.

This plugin allows you to gather metrics available in the Oracle WebLogic Console. In addition, it can also acquire the value of the oldest message in the JMS queue. The plugin collects system metric through auto discovery. This means no configuration is needed when adding or removing resources. 

Plug-In Files

com.dynatrace.diagnostics.plugins.jmx_1.0.0.jar

com.dynatrace.diagnostics.plugins.jmx_1.0.1.jar

Weblogic Monitoring Plugin Dashboards.zip

Author

Todd Ellis ( todd.ellis@dynatrace.com )

Versions

Dynatrace 5.6+, Weblogic 11g+

License

dynaTrace BSD

Support Level

Not Supported

Release History

01/XX/14 - v1.0.0 Initial Release

9/11/15 - v1.0.1

Version 1.0.1 (Be sure to follow the directions in "Updating the Plugin" below):

  1. Removed unused place holders (System Profile, Metrics, and Agent Groups)
  2. Added SSL connection (This plugin is configured to use the custom identity and custom trust. Also, hostname verification should be turned off on the Admin server.) You just need to tell the monitoring application where the trust.jks is located (The trust needs to be placed on the collector running this plugin). This will set the JVM container to use this trust for weblogic. If you have multiple instances that are going to be monitored, you will need to add the public keys to the trust.
  3. Added the ability to use Regex for Application Data and Application State.

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 Weblogic Monitor.
  3. i. Enter the name for the monitor (eg. environment name).
    ii. Fill out the Settings

    1. Weblogic Monitoring Thread Count - Number of threads to be used when monitoring the domain (1-10)
    2. Metric Timeout - Amount of time (ms) to wait for data
    3. Environment - Name of the Environment
    4. Weblogic Server - Weblogic Admin Server DNS or IP
    5. Weblogic Port - Port for the Admin Server
    6. Weblogic User Name - Weblogic User with Admin rights (if you want to get message age with JMS)
    7. Weblogic Password - Password for the Weblogic User
    8. Admin Server Name - Name for the Admin Server
    9. Monitor X - Enable X Monitoring with checkmarks.
    10. Application Data to Monitor - List the Applications that you would want to collect data (separate with newline). You can also use Regex.
    11. Application State to Monitor - List the Application that you would want to collect states (separate with newline). You can also use Regex.
    12. Store-And-Forward Agents - List SAF agents (separate with newline)
    13. Single Server Application Deploy - List the servers and applications you want to validate if it is deployed (separate with newline)
    14. JMS Mods - List the JMS Mods you would NOT want to monitor
    15. JMS Queues  - List the JMS queues you would NOT want to monitor. NOTE:  If it is excluded in JMS Mods, it is automatically excluded in JMS queues.
    16. EJB Monitor - From the Applications being monitored, list the EJBs that you would want to monitor
  4. Add a host for the monitor (Weblogic Admin 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. With our monitoring solution, we are alerting on metrics such as Connection Status, Application Health, JDBC Running State, JMS Oldest Message Age, Execute Thread Total, Server Health, etc.
  7. Confirm data collection by right clicking the server name under Monitors, then navigating to details.

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

NOTE: If the JVM is monitored through Weblogic, we are limited to what MBeans are exposed. I recommend using the JVM Monitoring Plugin as it provides all relevant metrics.
 
A zip file containing example dashboards that utilize this plugin has been attached
Through Dashboard Links, we have created drill downs based off of the information collected (diagram below).

Example drill downs with the included dashboards:

Starting with the Environments dashboard.. We can see that there seems to be an issue with UAT2 SOA. To further analyze the cause, we can drill down to UAT2 SOA Overview by right clicking the red X (Dashboard Links).

The issue is due to JMS - Oldest Message Age for OSB PRD1 and OSB PRD2. We can drill down into the UAT2 SOA JMS Overview through the red X (Dashboard Links).

Hovering over the Oldest Message Age chart, we can see that there is a message in the JMS queue over the defined threshold.

Monitor the Connection Status and the Monitoring Time with the included dashboard:

Additional Screenshots


NOTE: The JVM Overview dashboard is gathering metrics from the JVM Monitoring Plugin