My APM Agents are not seeing any or all JMX Metrics. What should I do to resolve this?
There are various documents on what to do when missing all or any JMX metrics. But no overall article.
Previous references to review include:
1. https://techdocs.broadcom.com/us/en/ca-enterprise-software/it-operations-management/dx-apm-agents/SaaS/java-agent/java-agent-properties.html#concept.dita_e3b0b5e4c888550feb742b0f947b9fa2e2fd716d_JMXProperties -- Configure JMX Monitoring
2. https://techdocs.broadcom.com/us/en/ca-enterprise-software/it-operations-management/application-performance-management/10-8/troubleshooting/agent-troubleshooting/expected-jmx-metrics-not-reported.html -- JMX Metrics not reported
Case #1: When no JMX metric is reported:
a. Ensure Webappsupport.jar is placed in AGENT_HOME/core/ext folder
b. Ensure the following property is enabled (You must restart the managed application before changes to this property take effect.):
introscope.agent.jmx.enable=true
c. If JMX filter is defined, ensure it is a valid one. It is a positive filter and we show only the matching metrics defined in the filter. You must restart the managed application before changes to this property take effect.
introscope.agent.jmx.name.filter=
Case #2: When not seeing some JMX Metrics but they are appearing in JConsole
1. If JMX filter is defined, ensure it is valid. It is a positive filter and APM shows only the matching metrics defined in the filter. You must restart the managed application before changes to this property take effect.
introscope.agent.jmx.name.filter=
2. If the expected MBean is reporting only non-integer metrics, enable the following property to see String type metrics. You must restart the managed application before changes to this property take effect.
introscope.agent.jmx.excludeStringMetrics=false
3. Sometimes we may not identify some dynamic MBeans which failed to notify APM agent on its creation. In such scenarios enable the following property and wait for few minutes (5-10 minutes) to identify missing MBeans.
com.wily.introcope.agent.jmx.syncWithAllMbeanServersForcibly=true
Note: The above property is a hot property which can be added, modified without restarting the application. When the property is set to true, applications may experience performance overhead. So it is advised to turn off the property after the required Mbeans are identified.