AppDynamics Application Intelligence Platform

3.8.x Documentation

PDFs

Videos

Release Notes

This topic describes how to resolve issues that may prevent AppDynamics from properly reporting JMX MBean metrics.

Unable to browse MBeans on WebSphere Application Server (WAS).

In certain situations, you may encounter the following exception in the agent.log file for App Agent for Java App deployed on the WebSphere Application Server (WAS).

[AD Thread-Transient Event Channel Poller0] 17 Aug 2011 08:14:08,031
ERROR JMXTransientOperationsHandler - Error trying to lookup clz -
java.lang.ClassNotFoundException: com.ibm.ws.security.core.SecurityContext

To resolve this issue:

1. From the WAS administration console, navigate to the JVM settings for the server of interest: Application servers -> <server> -> Process Definition -> Java Virtual Machine.

2. Remove the following setting from the generic JVM settings:

-Djavax.management.builder.initial = -Dcom.sun.management.jmxremote

Unable to get metrics from the App Agent for Java App on a GlassFish server

Under some situations JMX metrics from GlassFish are not reported. Also some metrics may not be enabled by default. Try these solutions:

1) Confirm that JMX monitoring is enabled in the GlassFish server. Refer to the following screenshot:

2) Copy the text below into an mbean-servers.xml file in the following directory:

<App_Agent_Dir>/conf/jmx/
<?xml version="1.0" encoding="UTF-8" ?>
<!--<!DOCTYPE servers SYSTEM "mbean-servers.dtd"> -->

<servers xmlns="http://www.appdynamics.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                   xsi:schemaLocation="http://www.appdynamics.com mbean-servers.xsd">
    <!--
    <server mbean-server-name="WebSphere" mbean-name-pattern="WebSphere:*,type=Server,j2eeType=J2EEServer" version-attribute="platformVersion" version-startsWith="7" config-file="servers/websphere-7-jmx-config.xml" />

    <server mbean-server-name="WebSphere" mbean-name-pattern="WebSphere:*,type=Server,j2eeType=J2EEServer" version-attribute="platformVersion" version-startsWith="6" config-file="servers/websphere-7-jmx-config.xml" />
    -->
    <server mbean-server-name="WebSphere" mbean-name-pattern="WebSphere:*,type=Server"  config-file="servers/websphere-7-jmx-config.xml" />
    <server mbean-server-name="JBoss_4" mbean-name-pattern="jboss.management.local:j2eeType=J2EEServer,name=Local" version-attribute="serverVersion" version-startsWith="4" config-file="servers/jboss-4-jmx-config.xml" />
    <server mbean-server-name="JBoss_5" mbean-name-pattern="jboss.management.local:j2eeType=J2EEServer,name=Local" version-attribute="serverVersion" version-startsWith="5" config-file="servers/jboss-5-jmx-config.xml" />
    <server mbean-server-name="JBoss_6" mbean-name-pattern="jboss.management.local:j2eeType=J2EEServer,name=Local" version-attribute="serverVersion" version-startsWith="6" config-file="servers/jboss-5-jmx-config.xml" />
    <server mbean-server-name="Tomcat_5.5" mbean-name-pattern="Catalina:type=Server" version-attribute="serverInfo" version-startsWith="Apache Tomcat/5.5" config-file="servers/tomcat-5-jmx-config.xml" />
    <server mbean-server-name="Tomcat_6.0" mbean-name-pattern="Catalina:type=Server" version-attribute="serverInfo" version-startsWith="Apache Tomcat/6.0" config-file="servers/tomcat-6-jmx-config.xml" />
    <server mbean-server-name="Tomcat_7" mbean-name-pattern="Catalina:type=Server" version-attribute="serverInfo" version-startsWith="Apache Tomcat/7" config-file="servers/tomcat-7-jmx-config.xml" />
    <server mbean-server-name="Sun GlassFish_2.1" mbean-name-pattern="com.sun.appserv:j2eeType=J2EEServer,name=server,category=runtime"  config-file="servers/glassfish-v2-jmx-config.xml" />
    <server mbean-server-name="WebLogic_10" mbean-server-lookup-string="java:comp/jmx/runtime"  mbean-name-pattern="com.bea:*,Type=ServerRuntime" version-attribute="WeblogicVersion" version-startsWith="WebLogic Server 10" config-file="servers/weblogic-10-jmx-config.xml" />
    <server mbean-server-name="WebLogic_9" mbean-server-lookup-string="java:comp/jmx/runtime" mbean-name-pattern="com.bea:*,Type=ServerRuntime" version-attribute="WeblogicVersion" version-startsWith="WebLogic Server 9" config-file="servers/weblogic-9-jmx-config.xml" />
    <server mbean-server-name="ActiveMQ_5.3.2" mbean-name-pattern="org.apache.activemq:*"  config-file="servers/activemq-5.3.2-jmx-config.xml" />
    <server mbean-server-name="Apache Solr 1.4.1" mbean-name-pattern="solr:*" config-file="servers\solr-1.4.1-jmx-config.xml" />
    <server mbean-server-name="Apache Cassandra 0.7.0" mbean-name-pattern="org.apache.cassandra.net:*" config-file="servers\cassandra-0.7.0-jmx-config.xml" />
    <server mbean-server-name="Apache Cassandra 0.7.0" mbean-name-pattern="org.apache.cassandra.db:*" config-file="servers\cassandra-0.7.0-jmx-config.xml" />
    <server mbean-server-name="Apache Cassandra 0.7.0" mbean-name-pattern="org.apache.cassandra.request:*" config-file="servers\cassandra-0.7.0-jmx-config.xml" />
    <server mbean-server-name="Apache Cassandra 0.7.0" mbean-name-pattern="org.apache.cassandra.internal:*" config-file="servers\cassandra-0.7.0-jmx-config.xml" />
    <!-- If you are using Platform MBean server to report activemq metrics then you may uncomment the following line.
    -->
    <!--
    <server mbean-server-name="Platform" mbean-name-pattern="org.apache.activemq:*" config-file="servers\activemq-5.3.2-jmx-config.xml" />
    -->

    <!-- If your app publishes custom jmx metrics to platform jmx server then  you may modify the platform-jmx-config.xml
    and update the mbean-name-pattern in the following line to start recording your metrics by appdynamics agent
    -->

    <!--
    <server mbean-server-name="Platform" mbean-name-pattern="com.foo.myjmx:*" config-file="servers\platform-jmx-config.xml" />
    -->

</servers>

You should see a new JMX node in the metrics tree.

Unable to get JMX metrics for database connections on GlassFish

JDBC connection pool metrics are not configured out-of-the-box for GlassFish. To configure them, uncomment the JDBC connection pool section and provide the relevant information in the following file:

<app_agent_install>/conf/jmx/servers/glassfish-v2-jmx-config.xml

Uncomment the following section and follow the instructions provided in the file.

<!-- The following config can be uncommented to monitor glassfish JDBC connection pool. Please set the name of the connection
pool (not the datasource name) and enable monitoring for the JDBC Pools on glassfish admin console. -->
<!--
<metric mbean-name-pattern="com.sun.appserv:type=jdbc-connection-pool,category=monitor,name=<set the name of pool>,*"
category="JDBC Connection Pools">
<attribute-counter-mappings>
<attribute-counter-mapping>
<attribute-name>numconnused-current</attribute-name>
<counter-name>Connections In Use</counter-name>
<counter-type>average</counter-type>
<time-rollup-type>average</time-rollup-type>
<cluster-rollup-type>individual</cluster-rollup-type>
</attribute-counter-mapping>
<attribute-counter-mapping>
<attribute-name>numconnused-highwatermark</attribute-name>
<counter-name>Max Connections Used</counter-name>
<counter-type>observation</counter-type>
<time-rollup-type>average</time-rollup-type>
<cluster-rollup-type>individual</cluster-rollup-type>
</attribute-counter-mapping>
<attribute-counter-mapping>
<attribute-name>numpotentialconnleak-count</attribute-name>
<counter-name>Potential Leaks</counter-name>
<counter-type>observation</counter-type>
<time-rollup-type>average</time-rollup-type>
<cluster-rollup-type>individual</cluster-rollup-type>
</attribute-counter-mapping>
<attribute-counter-mapping>
<attribute-name>averageconnwaittime-count</attribute-name>
<counter-name>Avg Wait Time Millis</counter-name>
<counter-type>observation</counter-type>
<time-rollup-type>average</time-rollup-type>
<cluster-rollup-type>individual</cluster-rollup-type>
</attribute-counter-mapping>
<attribute-counter-mapping>
<attribute-name>waitqueuelength-count</attribute-name>
<counter-name>Current Wait Queue Length</counter-name>
<counter-type>observation</counter-type>
<time-rollup-type>average</time-rollup-type>
<cluster-rollup-type>individual</cluster-rollup-type>
</attribute-counter-mapping>
</attribute-counter-mappings>
</metric>

Learn More