View of Infrastructure Metrics
The AppDynamics user interface organizes the infrastructure metrics for your application level by tiers. For each application, you can see metrics gathered by the machine agent (when installed) and app server agents. In general, agents upload metrics to the Controller once a minute at staggered intervals. The Controller rolls up the data and makes it available in the UI. You can get a view of the health of the nodes in a tier using the App Servers Dashboard.
To access this dashboard, in the left navigation pane, click Servers -> App Servers.
Click the Hardware tab to see hardware metrics.
Click the Memory tab to see some of the key memory metrics.
You can see more detailed infrastructure metrics from the Node Dashboard. To access this dashboard, in the left navigation pane, click Servers -> App Servers -> <tier> -> <node>.
You can also view metrics in the Metric Browser.
Infrastructure Metric Collection
Collection varies depending on the environment.
JVM and JMX infrastructure metrics are averaged over a period of one minute at 15-second intervals. As the minute boundary starts, we take the value, and take three more values every 15 seconds until the end of the minute. The four values are averaged and reported to the controller. Therefore, every minute the agent reports a tuple consisting of min, max, avg, sum, current for that minute to the controller. For example, if we took 10,20,40,30 as values for that minute we have 10,40,25,100,30 for that particular metric. In other words:
Standalone Machine Agent
Machine agent CPU and memory metrics are gathered every 2 seconds and averaged over a period of one minute.
Machine agent network and disk metrics are gathered at one minute intervals.
.NET Embedded Machine Agent
The .NET embedded machine agent collects IIS and CLR metrics every 60 seconds using Windows Performance counters. The update interval is configurable using the update-interval-in-secs property found in web.config.
Long-term Metrics for Baselining, Monitoring, and Alerting
Usually it is best to focus on detecting anomalies in business transactions, because infrastructure problems always have an impact on the business transaction metrics. However there may be cases where you want to monitor infrastructure directly.
By default AppDynamics generates long-term metrics for the key machine, app server, and app server attributes that represent the health of an application. By default AppDynamics includes health rules at the node level for infrastructure metrics. You can modify these or create new health rules to be notified of actual or impending problems. The default infrastructure health rules are shown in the following screen capture.
For instructions to modify or add health rules see Health Rules.
Analyzing metrics over the long term enables AppDynamics to define baselines against which anomalies are identified. A health rule can use a baseline as a condition. You can also compare baselines against current metrics in the Metric Browser.
For more information about using baselines see Behavior Learning and Anomaly Detection.
Short-term Metrics for Correlating and Troubleshooting
When a problem is discovered in the application infrastructure, you can drill down to find the root cause. The investigation may involve looking at the short-term trends of specific metrics, defining new metrics, or comparing different metrics to find correlations between behavior in different parts of the application environment.
The Metric Browser displays the metrics and enables you to graph different metrics onto the same panel so that you can compare different data that was gathered in the same timeframe.
The built-in Correlation Analysis graph is similar to the basic metric graph, but it enables you to assign two metrics to X and Y coordinates. By default it uses a scatter plot view. The scatter plot view also calculates the Best Fit line, which uses the quadratic least squares algorithm to find the best fit curve line.
A built-in Scalability Analysis graph compares the CPU usage to the load (calls per minute) on the application, business transaction, tier, or node level. This comparison may be more easily understood in the graphs view shown here.
Using Metrics in External Systems
You may want to add metrics to external reports, dashboards or systems. AppDynamics helps you do this in a variety of ways:
- Exporting and importing application configuration baselines: Metric baselines (not the metric data) are included when you export AppDynamics application configuration data.
For details see Export and Import Business Application Configurations.
- Exporting metrics as comma-separated values (CSV): The Metrics Browser has an option to export metrics on the graph to a CSV file. For each metric you can specify the columns to use, and you see a preview that you can also copy to the clipboard.
For details about how to export data see To Export Metrics Data.
- Accessing metrics using the REST API: The REST API provides access to all performance data gathered by the Controller. You can also use a POST request to create an event of type "APPLICATION_DEPLOYMENT" in your managed environment.
For details about the REST API see Use the AppDynamics REST API.