Etsy Dashboards ---------------------- This code is an example of how we build monitoring dashboards at Etsy. These dashboards are bare bones collections of metrics from various graphing tools, specifically Graphite, Ganglia, and Cacti. It's not important for these to be pretty (though a bit of CSS won't hurt!). The important thing is to collect complementary graphs in a single view so you can see correlations between different parts of your architecture. Why? - Put related metrics from different tools on a single page. - Select time period to view (1 hour, 4 hours, 12 hours, 1 day, 1 week, etc.) - Periodically refresh each graph, so you can use on a wall-mounted monitor. We use this day in and day out. Over 30 contributors have build more than 50 feature-specific dashboards within Etsy's engineering team. For more details about how we collect and use metrics at Etsy, start with these slides: http://www.slideshare.net/mikebrittain/metricsdriven-engineering Hack on these to fit your own needs. Getting Started ---------------------- Only a few steps are required to get started, assuming you are already collecting metrics in Graphite, Ganglia, and/or Cacti: 1. Grab this code and put it on a web server. Point the document root at the htdocs folder. 2. Update the base URL settings in lib/Config.php. If you are collecting deploy lines in Graphite, you can set these names in the config file as well (otherwise, just remove those array entries). 3. The htdocs/example.php script serves as a good place to start for building out a dashboard of your own, and includes samples of how to use each of the Graphite, Ganglia, and Cacti classes. Legal ---------------------- This code is released under the MIT license. The dashboard code requires a copy of jQuery. The example.php sample code links to Google's hosted version of jQuery, which is governed by the terms outlined on their web site: http://code.google.com/apis/libraries/terms.html Questions? ---------------------- Contact me on GitHub, or directly by email: mike@etsy.com