AppDynamics is a popular APM solution for monitoring applications. The AppDynamics integration captures minute level data and stores it in Wavefront without any loss of precision.
The Wavefront collector collects AppDynamics metrics using the AppDynamics REST SDK. The Wavefront collector is a Python script that runs periodically to collect metrics about the application, tiers, and nodes. The Wavefront collector sends the metrics to the Wavefront proxy which in turn forwards the metrics to the Wavefront server.
- Install the Wavefront Collector:
pip install wavefront_collector
- Install AppDynamicsREST:
pip install AppDynamicsREST
appdynamics-sample-configurationto a directory of your choosing.
appdynamics.confin an editor and update the
- Run the Wavefront Collector:
wf -c wavefront-collector.conf
Example AppDynamics conf File
[api] account = <todo> username = <todo> password = <todo> controller_url = http://localhost:8081 debug = True [filter] ; Get the application IDs from your controller user interface ; blacklist_regex should be in the form: A|.*,B|C|.*,etc ... application_ids = APP_ID_1,APP_ID_2,... whitelist_regex = blacklist_regex = [options] retrieve_BT_node_data = false retrieve_error_node_data = false retrieve_Application_Infrastructure_Performance_node_data = false retrieve_EUM_AJAX_data = false [writer] ; TODO: Change this host to match the host of your Wavefront proxy. ; TODO: change dry_run = False when ready to send data host = 127.0.0.1 port = 2878 dry_run = True
options field allows you to get granular metrics from node level data. However, note that you can increase the number of points sent to Wavefront when this option is turned on. We recommend that you run the collector with the option of
dry_run set to
true. This prints the metrics fetched from AppDynamics and give you the total count of metrics fetched in one run.
The biggest advantage of this integration is the flexible and dynamic alerting. AppDynamics alerting is based on standard deviation or a value exceeding a threshold.
If your data does not follow the standard distribution or you want to do computations, such as take a ratio of two metrics, on the incoming data, you can use Wavefront Query Language expressions to model the shape of your data or do a ratio and then alert on the derived metrics.