Dropwizard Monitoring Extension

An AppDynamics extension to be used with a stand alone Java machine agent to provide metrics for Dropwizard

Dropwizard

Dropwizard is a Java framework for developing ops-friendly, high-performance, RESTful web services. Dropwizard pulls together stable, mature libraries from the Java ecosystem into a simple, light-weight package that lets you focus on getting things done. Dropwizard has out-of-the-box support for sophisticated configuration, application metrics, logging, operational tools, and much more, allowing you and your team to ship a production-quality web service in the shortest time possible.

Prerequisites

Before the extension is installed, the prerequisites mentioned here need to be met. Please do not proceed with the extension installation if the specified prerequisites are not met.

Installation

  1. Download the DropWizardMonitor.zip
  2. Unzip as "DropWizardMonitor" and copy the "DropWizardMonitor" directory to <MACHINE_AGENT_HOME>/monitors
  3. Edit the config.yml file as specified in the next section.
  4. Restart the Machine Agent.

Configuring the extension

Edit the file config.yml located at <MachineAgent_Dir>/monitors/
metricPrefix The metricPrefix of the extension has to be configured as specified here. Please make sure that the right metricPrefix is chosen based on your machine agent deployment, otherwise this could lead to metrics not being visible in the controller. ServerDetails
#Dropwizard Health Metric URL path
servers:
  - uri: http://<<dropwizard_host>>:<<health_metrics_port>>/metrics
    displayName: metrics
Metrics: These are the metrics collected from DropWizard and reported to controller.
##Dropwizard Metrics
metrics:
   - meters:
       - displayName : "Logback|M1Rate|All"
         path : "ch.qos.logback.core.Appender.all"
         type: "OBS.CUR.COL"
         . . . .
         

Workbench

Workbench is a feature that lets you preview the metrics before registering it with the controller. This is useful if you want to fine tune the configurations. Workbench is embedded into the extension jar.

To use the workbench
  1. Follow all the installation steps
  2. Start the workbench with the command
    java -jar /path/to/MachineAgent/monitors/DropWizard/DropWizardMonitor.zip
    This starts an http server at http://host:9090/. This can be accessed from the browser.
  3. If the server is not accessible from outside/browser, you can use the following end points to see the list of registered metrics and errors.
    #Get the stats
    curl http://localhost:9090/api/stats
    #Get the registered metrics
    curl http://localhost:9090/api/metric-paths
    
  4. You can make the changes to config.yml and validate it from the browser or the API
  5. Once the configuration is complete, you can kill the workbench and start the Machine Agent

Contributing

Always feel free to fork and contribute any changes directly via GitHub.

Troubleshooting

Please look at the troubleshooting document and make sure that everything is followed correctly.

Support

Please contact help@appdynamics.com with the following details

  1. config.yml
  2. debug logs

Compatibility

Version1.0.0
Machine Agent Compatibility4.0+
Last Update15 Aug 2017

 

Releases Notes

  • 1.0.0: Initial release