AppDynamics Application Intelligence Platform

3.8.x Documentation

PDFs

Videos

Release Notes

 

Infrastructure Monitoring in a Java Environment

A Java application environment has multiple functional subsystems. These are usually instrumented using JMX (Java Management Extensions) or IBM Performance Monitoring Infrastructure (PMI). AppDynamics automatically discovers JMX and PMI attributes.

JMX uses objects called MBeans (Managed Beans) to expose data and resources from your application. In a typical application environment, there are three main layers that use JMX:

  • JVMs provide built-in JMX instrumentation, or platform-level MBeans that supply important metrics about the JVM.
  • Application servers provide server or container-level MBeans that reveal metrics about the server.
  • Applications often define custom MBeans that monitor application-level activity.

MBeans are typically grouped into domains to indicate where resources belong. Usually in a JVM there are multiple domains. For example, for an application running on Apache Tomcat there are “Catalina” and “Java.lang” domains. “Catalina” represents resources and MBeans relating to the Tomcat container, and “Java.lang” represents the same for the JVM Hotspot runtime. The application may have its own custom domains.

For more information about JMX, see the JMX overview and tutorial. To learn about PMI see Writing PMI Applications Using the JMX Interface.

App Server Key Performance Indicators

AppDynamics creates long-term metrics of the key MBean attributes that represent the health of the Java container. Depending on your application configuration, metrics may include:

  • Session information such as the number of active and expired sessions, maximum active sessions, processing time, average and maximum alive times, and a session counter.
  • Web container runtime metrics that represent the thread pool that services user requests. The metrics include pending requests and number of current threads servicing requests. These metrics are related to Business Transaction metrics such as response time.
  • Messaging metrics related to JMS destinations, including the number of current consumers and the number of current messages.
  • JDBC connection pool metrics including current pool size and maximum pool size.

To see the JMX metrics discovered in a node, see the JMX tab on the Node Dashboard.

To learn how to customize additional MBean attributes for long-term monitoring, see Configure JMX Metrics from MBeans.

Alerting for App Server Health

AppDynamics discovers metrics for most Java platforms and applications. Some environments however are not instrumented by default, yet they have MBeans. For those situations you can enable monitoring using the MBean Browser. For details see Monitor JMX MBeans.

In addition to the preconfigured metrics, you may be interested in additional JVM or Java container metrics. You can add custom metrics using JMX MBean attributes in the Metric Browser. To customize which MBean attributes are monitored, see Configure JMX Metrics from MBeans.

Once you add a custom metric you can create a custom health rule for it and receive alerts if conditions indicate problems. For details see Alert and Respond.

AppDynamics also provides the Application Server Agent API (Agent API) for access to metrics that are not supported by default or by MBeans. You can use the Agent API to:

  • Inject custom events and report on them
  • Create and report on new metrics
  • Correlate distributed transactions when using protocols that AppDynamics does not support

Learn More