Hints on JMX wildcard for Weblogic.
search cancel

Hints on JMX wildcard for Weblogic.

book

Article ID: 43718

calendar_today

Updated On:

Products

CA Application Performance Management Agent (APM / Wily / Introscope) INTROSCOPE

Issue/Introduction

 Introduction

 We provide default JMX filters for Weblogic. However you may want to expand the monitoring to add extra MBean attributes.

This is a run-through of the filter configuration based on one customer problem scenario particular to retrieving data for the JDBCDataSourceRuntime.

 

 Background

 The steps assume this option is enabled to remove Type and Name from JMX metrics:

introscope.agent.jmx.name.primarykeys=Type,Name

 

 Environment

 Testing was accomplished on Weblogic 10.3.6 using the sample Medrec application on Windows 2008 server with APM 10.2 agent, Java 1.6.

Only changes in the Weblogic version are likely to affect this process.

 

 Instructions

 1. Check for all available attribute names for the MBean. This would be verified by either:

 a. running the agent with no JMX filter

either

  • introscope.agent.jmx.name.filter=

       or commenting out the property would have the same effect

  • #introscope.agent.jmx.name.filter=ThreadPoolRuntime:ExecuteThreadIdleCount [..]

 

 b. Using a separate tool such as JConsole to review the MBean data

 

 2.

 a. Review the metric name for two selected additions to the filter:

*SuperDomain*|apmw2k8r2c0|WebLogic|medrec//MedRecServer|JMX|com.bea|ThreadPoolRuntime|ThreadPoolRuntime:MinThreadsConstraintsPending

*SuperDomain*|apmw2k8r2c0|WebLogic|medrec//MedRecServer|JMX|com.bea|JDBCDataSourceRuntime|MedRecGlobalDataSourceXA:ActiveConnectionsAverageCount

 

  • For the first metric, we have no part that we need to wildcard. So we can simply add the following (the last part of the metric) to the filter:

ThreadPoolRuntime:MinThreadsConstraintsPending

 

  • For the second metric, we have a datasource specifier of MedRecGlobablDataSourceXA, but this is application specific.

 

 b. Compare the filter for similar JMX metrics already in the filter:

JDBCDataSourceRuntime*:ActiveConnectionsCurrentCount

 

 So to add a filter for the above metric for all data sources we would add

JDBCDataSourceRuntime*:ActiveConnectionsAverageCount

 

As an aside, you can make the filter for just that datasource by basically copying the last few segments of the metric name

JDBCDataSourceRuntime|MedRecGlobalDataSourceXA:ActiveConnectionsAverageCount

 

  • A filter for just the two original metrics would look like this:

 

introscope.agent.jmx.name.filter=ThreadPoolRuntime:MinThreadsConstraintsPending,JDBCDataSourceRuntime*:ActiveConnectionsAverageCount

 

3. The point is to be careful about the wildcard, we had seen it configured as:

JDBCDataSourceRuntime:*ActiveConnectionsAverageCount

 

 which is incorrect as the part we need to wildcard is before the colon (:) not after it.

 

 Additional information

 Documentation on JMX configuration for Weblogic

 https://docops.ca.com/ca-apm/10-1/en/implementing-agents/java-agent/configure-java-monitoring/configure-jmx-monitoring#ConfigureJMXMonitoring-JMXfiltersforWebLogic

 

 

 

 

Environment

Release: CEMUGD00200-9.7-Introscope to CA Application-Performance Management-Upgrade Main
Component: