This write-up is meant as a starting point into software monitoring for developers and DevOps engineers alike. There’s a wealth of tools and resources on the internet, but getting a big picture view of how everything fits together is harder to understand when you start researching this topic.
If you suddenly find yourself as a new DevOps engineer, or a developer needing to do operations work on your software, then hopefully this guide can serve as a starting point into the world of open source monitoring.
Open Source Tool List
There are lots of tools out there for monitoring, and I’ll begin by separating them into these loosely defined categories, then attempt to explain the underlying problems each category solves. This list is in no way comprehensive, but represent tools which I have tried out myself.
- Graphite: http://graphite.wikidot.com/
- StatsD: https://github.com/etsy/statsd/
- collectd: http://collectd.org/
- Diamond: https://github.com/BrightcoveOS/Diamond
- OpenTSDB: http://opentsdb.net/
- Yammer Metrics: http://metrics.codahale.com/
- Logstash: http://logstash.net/
- Graylog2: http://graylog2.org/
- Syslog-ng: http://www.balabit.com/network-security/syslog-ng
General Purpose Monitoring/Alerting Platforms
- Ganglia: http://ganglia.sourceforge.net/
Event Steam Processing
- Riemann: http://riemann.io/
Reading this Guide
This guide is broken up into more detailed write-ups:
- Crash Course Into Open Source Monitoring - Part 2 (Metrics)
- Crash Course Into Open Source Monitoring - Part 3 (Centralized Logging)
- Crash Course Into Open Source Monitoring - Part 4 (Logstash)