Monitoring business transaction health gives you an inside view of how applications are performing. AppDynamics encourages you to monitor your business transactions and make them the focus of your performance monitoring strategy. However, infrastructure performance naturally affects business transaction performance, and so infrastructure metrics can provide important clues to the root causes of your application performance issues. AppDynamics can alert you to the problem at the business transaction level and at the infrastructure level. In addition, you can correlate metrics with each other to see the relationships among different events that occur in the system.
AppDynamics provides preconfigured application infrastructure metrics and default health rules to enable you to discover and correct infrastructure problems. You can also configure additional persistent metrics to implement a monitoring strategy specific to your business needs and application architecture.
Application infrastructure includes:
The following diagram illustrates the infrastructure associated with a Java application environment.
The App Agent for Java provides both infrastructure metrics for the JVM and the App Server, and application metrics for your business application. When a machine agent is installed, metrics are collected for CPU usage, disk I/O, network I/O, and memory usage.
The following diagram illustrates the infrastructure associated with a .NET application environment.
Having the right infrastructure monitoring strategy is important because many times the root cause of application issues is most obvious by looking at infrastructure metrics. For example, the following infrastructure issues can slow down your application:
In all these cases, transaction snapshots are able to correlate the infrastructure metrics for the specific node so that you can identify the root cause of slow or stalled transactions. For example, from the Node Dashboard, you can view the JVM tab, the JMX tab showing the connection pool metrics, and the Hardware tab (when the machine agent is installed) respectively.
You can configure health rules on metrics such as garbage collection time, connection pool contention, or CPU usage to catch issues early in the cycle before there is an impact on your business transactions. In all cases, with the right monitoring strategy in place, you can be alerted to problems and fix them before user transactions are affected.
Utilizing JMX Metrics in Troubleshooting