Icon

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

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. 

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


  1. Anonymous (login to see details)

    Hi Todd,

    I am trying to set up this plugin, but keep getting an "unable to connect" error. Do you perhaps have some guidance in terms of the configuration parameters?

    I am especially uncertain as to what should be entered for "Environment", "Weblogic Server", "System Profile" and "Admin Server Name". Is there anything specific that has to be enabled on the Weblogic Admin server to allow the monitor to connect? I am not too familiar with the configuration of Weblogic, hence my confusion regarding the terminology.

     

    Thanks,

    Derick

    1. Anonymous (login to see details)

      Hi,

      Here is what I enter for these variables.

      1)      Environment – I use dev, test and production. This value should reflect the Weblogic domain you are monitoring. This name will be appended to the end of all metrics collected. You could also use your domain name.

      Let’s say you have a SOA environment. I would use devsoa, tstsoa and prdsoa for each respective environment.

      2)      Weblogic Server – This should be the IP, or hostname, of the server where the Weblogic administration server is running.

      3)      Weblogic Port – This should be the port you use to connect to the Admin Server over http.

      If you used http://localhost:8001/console to connect to the Admin server the info below is what it is looking for.

      Weblogic Server = localhost

      Weblogic Port = 8001

      4)      System Profile – This is optional.

      I use System Profile to validate I am in the correct profile when making changes (I have a lot of environments).

      5)      Admin Server Name – This is looking for your Weblogic Admin Servers name. This information can be found in the Weblogic console under servers.

      For example, in my console the admin servers name is: stst-tst1-a01(admin). You just need to enter stst-tst1-a01.

      You should not have to enable any other configurations to run the plugin. Just be sure to pass it a valid username and password (the user needs rights to access the domain and collect data). I use an Admin user because I monitor JMS message age.

      Thanks,

      Todd

      1. Anonymous (login to see details)

        Thanks, Todd. That cleared up some of my confusion. The plugin is connecting properly now.

  2. Anonymous (login to see details)

    Hi there,

    With regards to adding the application to be monitored to the plugin, just want to know if there is a way to either include all application ears or is it required to specifically specify them. Also if it cant be modified to use a regex which would also prove very useful.

     

    Thanks.

     

    1. Anonymous (login to see details)

      Hi,

      Yes, you will need to add each application you want to monitor. I did this to save on data points being collected and to ensure people know what data they are collecting (normally we don’t monitor all applications just the core ones). Originally it was setup so you could list the applications you wanted to exclude but found this list was larger than the ones we wanted to monitor.

      If adding the ability to use a regex expression would be ideal, let me know and I will look into modifying the code base. We would just need to be careful that we don’t collect a lot of unneeded data.

      Thanks,
      Todd

      1. Anonymous (login to see details)

        Hi Todd.

        Yes, I think using a Regex would be a lot better so we don't have to specifically specify each application..

         

        Thanks....

        1. Anonymous (login to see details)

          Hi,

          The Plugin has been updated to allow Regex usage for both Application Data and Application State.

          Thanks,
          Todd

  3. Anonymous (login to see details)

    Can you please mark which parameters are mandatory to fill? We don't have JMS and would like to know if the monitor can be configured without JMS details?

    1. Anonymous (login to see details)

      Hi,

      The sections that are not required (shorter list):

      Agent Group, System Profile and Metrics (These are just place holders for now for a future update)

      The rest are required if you choose to monitor them.

      So, if you choose not to monitor JMS. Uncheck the Monitor JMS (Boolean value) and you do not need to fill in sections JMS Mods or JMS Queues.

      The same for Store-And-Forward. Uncheck monitor SAF and you don’t need to fill in the SAF Agents.

      Hopefully this helps. If you are still having any trouble, feel free to email me at todd.ellis@dynatrace.com.

      Thanks,
      Todd

  4. Anonymous (login to see details)

    Hey Todd,

    Is there a way we can use SSL ports instead of non-ssl ports while using this plug-in.

    Thanks,

    Seshikanth.

    1. Anonymous (login to see details)

      Hi,

      Currently, the plugin is not setup to use the Admin SSL port. If this is a must have, let me know and I will see when I can get this ability added.

      Thanks,
      Todd

      1. Anonymous (login to see details)

        I would really appreciate if you can bring the Admin SSL port. configuration  

        For our needs We don't use non-ssl ports in our environments. 

        SSL is must. 

        Please let us know.

         

        Thanks,

        Seshikanth.

  5. Anonymous (login to see details)

    Hi,

    I am working on it but having a couple of issues getting it to work correctly. I will update this page when I figure it out.

    Thanks,

    Todd

  6. Anonymous (login to see details)

    Hi,

    I have added the ability to use SSL when connecting to the Admin Server. The plugin is being validated and if all goes well, I will post the update early next week.

    Thanks,
    Todd

    1. Anonymous (login to see details)

      Hi,

      The new version is now available.

      Thanks,
      Todd

  7. Anonymous (login to see details)

    Hi Todd,

    What kind of access do I need to the weblogic admin server if I don't need JMS details? Would a user with read access to it be sufficient?

    Thanks,

    Keerti

     

    1. Anonymous (login to see details)

      Hi,

      A user with read/monitoring access should do it.

      Thanks,
      Todd

  8. Anonymous (login to see details)

    Hi Todd,

    What if I don't want to monitor the admin server, but one of the other servers? Can I mention the other server name (for ex: S_PYBSSV) in the "admin server name" field? And will I have to mention the port of that server (9086) instead of the weblogic console port?

    Thanks,

    Keerti

    1. Anonymous (login to see details)

      Hi,

      The plugin monitors all servers in the domain (all 3 servers in the above screenshot). For the configuration, you need to connect to the Admin Server (I am using the domain to gather the stats for the other servers - this is done through the Admin). The only reason we enter the Admin Server name is so I don't throw a lot of unneeded exceptions in the logs. Because in most cases, the Admin Server does not contain all available monitoring metrics (cluster, jms etc...).

      Hope that answers your question. If not, please let me know.

      Thanks,

      Todd

      1. Anonymous (login to see details)

        Hi Todd,

        How do I filter if I want to collect statistics on only *_PYBSSV server (please see picture above)? 

        Thanks,

        Keerti

        1. Anonymous (login to see details)

          Hi,

          To make the plugin auto adaptive, it will automatically capture statistics on all Managed Servers in the domain. There is no option to only select 1 Managed Server. If you only want to see the stats from the one Managed Server, while graphing the data, you can choose just that one.

          Thanks,

          Todd

          1. Anonymous (login to see details)

            Hi Todd,

            Thanks a lot for the clarification. (smile) I have another question regarding the retrieved measures. Application health and application run state are returning null values in the plugin even when the applications are up and running as per the console. Do I need to configure something in the plugin to be able to see their values.

             

            Thanks,

            Keerti

             

            1. Anonymous (login to see details)

              Hi,

              Looking at the above, and not seeing the next 14 pages, it looks like maybe you did not fill in the Application sections to monitor. If you log into the Weblogic Admin and select environment (left side) and choose Applications, this will give you the names needed to fill in the Application sections. If you have already done this, please let me know and we can troubleshoot why you are not getting the data.

              Thanks,
              Todd

              1. Anonymous (login to see details)

                Hi Todd,

                I got the application names from Console-> Environment -> Deployments. The measures are working now. Thank you so much!

                Keerti

  9. Anonymous (login to see details)

    Hi Todd,

    thank you for the plugin - it works great!

     

    Just a few questions:

    1) Is it possible to return also string values for run/health states? Not only 0/1, but for example running/admin/failed etc?

    2) Is there a way how to get collected data in tabular form (similar to the wls console - for example datasources monitoring)? 

     

    Regards

    Stepan

    1. Anonymous (login to see details)

      Hi,

      To store the measures, Dynatrace requires us to have numeric values. That is why I converted the string values to numeric ones. This is also true for the tabular form. We need each measure returned as a single value in order to save the measure in the PW. You do have access to all the data and can create charts and graphs that represent the weblogic view from DT.  If I can be of any help, please let me know.

      Thanks,
      Todd

  10. Anonymous (login to see details)

    Hi,

    There is custom EJB Pools that we would like to monitor although there was request monitor specific EJB attributes and I cannot seem to make this work can you assist as I have tried all possibilities and can seem to get the data that I want, the help would be greatly appreciated in this.

    Regards

    Kay-G

    1. Anonymous (login to see details)

      Hi,

      Could you send me a screen shot (from Weblogic Console) of the EJB you are trying to monitor along with a screenshot of the plugin configuration (EJB information sections). Also, what attributes are you trying to gather?

      Thanks,

      Todd

  11. Anonymous (login to see details)

    Hi Todd,

    Thanks for the assistance on this issue. I cannot seem to attach any images to this forum so i have attached the table in this case.

    I navigated to deployments and went to the monitoring tab and then went to EJB.

    In this case I need to monitor the below attributes that are also on the table below

     

    Mbean AttributeDescription
    Max Beans in Free PoolMax Pool Size
    Pool Current Count Number of Connections currently in use
    Waiter Current Count Number of Threads waiting in the pool 

     

     

    Stateless EJBs(Filtered - More Columns Exist) 
       Showing 1 - 10 of 11   Previous  Next 
    EJB Name Table sorted by this column in ascending orderApplication NamePooled Beans Current CountBeans In Use CountWaiter Current CountTimeout Total CountAccess Total Count
    ClassManager_appsdir_NotificationServer_ear10004
    fop019_appsdir_fop019_ear00000
    fop025_appsdir_fop025_ear00000
    Mejbmejb00000
    NotifErrorHandler_appsdir_NotificationServer_ear80002658
    NotificationDispatchServerNew_appsdir_NotificationServer_ear29100150369
    NotificationQuery_appsdir_NotificationServer_ear20002760
    NotificationRequest_appsdir_NotificationRequest_ear22000157546
    NotificationViewer_appsdir_NotificationServer_ear1500014227
    NotifProbeServer_appsdir_NotificationServer_ear4000208281

     

     

    let me know if this will be of any assistance on your side.

    Regards

    Katlego

    1. Anonymous (login to see details)

      Hi,

      A couple of things.

      1)      Ensure the check box is checked for EJB Monitoring.

      2)      Ensure the EJB Name is added to the EJB Monitor Data.

      3)      Ensure you have chosen the application to be monitored. This would be added in the section “Application Data To Monitor”.  Along with ensuring the Monitor Application Data check box is checked. This is done mainly to limit the amount of measures we are creating and ensure we are only monitoring what is important.

      If all the above is done, please send me an email (todd.ellis@dynatrace.com). I have some availability this morning and can help troubleshoot the issue.

      From a code level, the only thing that is not being recorded is the Max Pool Size and Access Total Count.

      Thanks,
      Todd

  12. Anonymous (login to see details)

    Hi Todd,

    Thanks for the assistance, I have done as per the above and I still seem to be having some issues around this as I am not picking this up yet.

    Regards

    Katlego

  13. Anonymous (login to see details)

    Hi Todd,

    what is a best way to monitor status of managed servers?

    When I use ServerRunningState and the server is in running state, value returned is 0. When I shutdown the server or if the server fails, there is no value returned (runtime mbean of the sever doesnt exist anymore, it cannot return any value).

    Is there any configuration of Measure/serie in the dashboard to maintain this situation?

    My goal is to have Running State configured to be green is the server is running and red not running.

     

    Which mbean are you using for ServerRunningState?

    Maybe you can use domainRuntime/ServerLifeCycleRuntimes/servername/State - this mbean is persistant and all states are visible there.

     

     

    Thanks,

    Stepan

     

     

  14. Anonymous (login to see details)

    Hi Todd, Is there a way to clear/erase the measures from the performance warehouse created by the plug-in after a specific days like a different task with a schedule. 

     

    Thanks

    Sakthi

    1. Anonymous (login to see details)

      Hi Sakthi,

      Please see my reply on this question which I sent to our DT Delivery team which is working with you on site. You are cc-ed on this e-mail. They sent me your question directly.

      Eugene.

      1. Anonymous (login to see details)

        Thanks Eugene.

        Hi All, We configured the plugin now and can see few statistics are collected and few are not. We configured a user with admin privileges are wanted JMS related details. Below details are populated with null. Do we need to see if the related Mbeans are exposed because the certain measures are collected and others are not. Especially we are looking for statistics related to SAF. We checked the monitor SAF and edited the Store-And-Forward agents with
        <Managed Server Name>

        <SAF Name> 

         

        Oldest Message Age (Measure Name,Server1|JMS|<ReplacedQueueName>|OldestMessageAge|): 0.0
        Oldest Message Age (Measure Name,Server1|JMS|<ReplacedQueueName>|OldestMessageAge|): 8.0
        Oldest Message Age (Measure Name,Server1|JMS|<ReplacedQueueName>|OldestMessageAge|): 0.0

        Line 18: Retrieved measurements:         

        Active Connections Current: null

                        Line 60: Active Connections High: null

                        Line 102: Active Transactions Total: null

                        Line 103: Alive Server Count: null

                        Line 105: All Processors Average Load: null

                        Line 108: Application Deployed Single State: null

                        Line 109: Application Health: null

                        Line 122: Application Run State: null

                        Line 173: Beans In Use Current: null

                        Line 174: Completed Request Count: null

                        Line 177: Connection Delay Time: null

                        Line 219: Connection Status: null

                        Line 221: Consumers Current: null

                        Line 416: Create Count: null

                        Line 417: Current Capacity: null

                        Line 459: Current Capacity High: null

                        Line 501: Delete Count: null

                        Line 502: Execute Thread Idle Counts: null

                        Line 505: Execute Thread Total Counts: null

                        Line 508: Failed Reserve Request: null

                        Line 550: Failures To Reconnect: null

                        Line 592: Heap Free Current: null

                        Line 595: Heap Size Current: null

                        Line 598: Heap Used Current: null

                        Line 601: Hogging Thread Counts: null

                        Line 604: JDBC State: null

                        Line 646: JVM Processor Load: null

                        Line 649: Leaked Connection: null

                        Line 691: Listen Address: null

                        Line 694: Message Bridge Forwarding: null

                        Line 695: Message Bridge Status: null

                        Line 696: Messages Current: null

                        Line 891: Messages High: null

                        Line 1086: Messages Pending: null

                        Line 1281: Messages Received: null

                        Line 1476: Multicast Messages Lost: null

                        Line 1478: Number Of Processors: null

                        Line 1481: Oldest Message Age: null

                        Line 1676: Open Sessions Current: null

                        Line 1688: Open Sessions High: null

                        Line 1700: Open Sockets: null

                        Line 1703: Physical Write Count: null

                        Line 1704: Pooled Beans Current: null

                        Line 1705: Prep Stmt Cache Delete: null

                        Line 1747: Prep Stmt Cache Hit: null

                        Line 1789: Prep Stmt Cache Miss: null

                        Line 1831: Present Throughput: null

                        Line 1834: Queue Lengths: null

                        Line 1837: Read Count: null

                        Line 1838: SAF Conversations Current Count: null

                        Line 1839: SAF Conversations High Count: null

                        Line 1840: SAF Conversations Total Count: null

                        Line 1841: SAF Failed Messages Total: null

                        Line 1842: SAF Health State: null

                        Line 1843: SAF Messages Current Count: null

                        Line 1844: SAF Messages High Count: null

                        Line 1845: SAF Messages Pending Count: null

                        Line 1846: SAF Paused For Forwarding: null

                        Line 1847: SAF Paused For Incoming: null

                        Line 1848: SAF Paused For Receiving: null

                        Line 1849: SAF Remote Endpoints Current Count: null

                        Line 1850: SAF Remote Endpoints High Count: null

                        Line 1851: SAF Remote Endpoints Total Count: null

                        Line 1852: Server Count: null

                        Line 1854: Server Health: null

                        Line 1857: Server Running State: null

                        Line 1860: Server Running Time: null

                        Line 1863: Sessions Opened Total: null

                        Line 1875: Standby Thread Counts: null

                        Line 1878: Thread Health: null

                        Line 1881: Timeout Total: null

                        Line 1882: Total Garbage Collection Count: null

                        Line 1885: Total Garbage Collection Time: null

                        Line 1888: Transaction Abandoned Total: null

                        Line 1889: Transaction Committed Total: null

                        Line 1890: Transaction Heuristics Total: null

                        Line 1891: Transaction RolledBack App Total: null

                        Line 1892: Transaction RolledBack Resource Total: null

                        Line 1893: Transaction RolledBack System Total: null

                        Line 1894: Transaction RolledBack Timeout Total: null

                        Line 1895: Transaction RolledBack Total: null

                        Line 1896: Transaction Total: null

                        Line 1897: Transactions Committed Total: null

                        Line 1898: Transactions RolledBack Total: null

                        Line 1899: Transactions TimedOut Total: null

                        Line 1900: Update Count: null

                        Line 1901: Waiter Current: null

                        Line 1902: Weblogic Monitor Time: null

                        Line 1904: Workmanager Thread Usage: null.

        Thanks

        Sakthi

  15. Anonymous (login to see details)

    Hi All,

    We upgraded our dynaTrace version from 6.2.3 to 6.2.15. After the upgrade we don't see an option for split by measure name.We only have split by monitor name,monitor host,monitor, no splittings.

    So the dashboards we configured is not displaying any data. Not sure if it's an enhancement or a bug. Also please let us know if this plug-in will be supported in dynaTrace 6.5

    Thank You

    Regards

    Sakthi

    1. Anonymous (login to see details)

      Hi All,

      It looks like the plugin is populating the measure name and value dynamically. Only when the plug-in is running (monitor is active and scheduled to run frequent intervals) we are able to see the measure name in the drop down.

      Please let us know if this plug-in will be supported in dynaTrace 6.5 as we are already in the process of upgrading our system to 6.5

      Thank You

      Regards

      Sakthi

      1. Anonymous (login to see details)

        Hi Sakthi,

        I have just successfully installed the Plugin with Dynatrace 6.5. I could not really test it because I don't have Weblogic installed.

        Please keep in mind that this Plugin is only Community supported and not supported by Dynatrace.

        Ingo

         

         

  16. Anonymous (login to see details)

    Hi Todd,

    The weblogic monitor shows only 0 and 1 as the options for thread health to say if it is healthy or not. 

    But what if I want to know how bad the thread health is based on the below Weblogic measures. I want to get an incident only if the thread health is 2 or above based on the below values. Is that not possible using the weblogic monitor?

    Thanks,

    Keerti

     

     

    1. Anonymous (login to see details)

      Hi Todd Ellis,

      Can you please help me with the above issue? It is a production issue.

      Thanks,

      Keerti