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
or commenting out the property would have the same effect
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
ThreadPoolRuntime:MinThreadsConstraintsPending
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
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