Review of Open Source Monitoring Tools
Open Source software includes a range of free monitoring solutions that allow much greater visibility and insight about applications and server systems. Monitoring tools such as Graphite, Tessera, Logstash, Kibana and Sensu enable to collect, store and visualise metrics, events and behavior of applications and infrastructure to alert when anomalies happen much better than it was available in the past. Collection Server monitoring starts with collecting measured metrics and logged events, using tools like collectd, Sensu or Logstash. Performance metrics of computing and network systems is sent to a single location for searchable storage. And events that occur in these systems, which often get lost in log files, are aggregated in real-time into a searchable index.
Monitoring software such as Graphite is perfectly suited for storage of gigantic quantities of metrics taking a minimal amount of physical space, yet allowing for very fast retrieval and query of this extensive set of data. Graphite enables creation of informative dashboards full of metric aggregations, these dashboards can be used for visual anomaly detection and future trends prediction. While Graphite is great at storing metrics, LogStash and ElasticSearch allow to collate and filter monitored log files and events in a central place so that there is no need to search for them at the individual locations where they are created. Using ElasticSearch allows to search for a needle in a haystack when required, but also see trends of events as these aggregate over time.
Metrics stored in graphite and events stored in ElasticSearch can be arranged in beautiful and informative dashboards using Kibana, Grafana or Tessera. Highlight key metrics of importance to be easily identified at a glance by an operator, providing meaningful insight into the state of applications and infrastructure. Display of trends and anomalies can help prevent and fix exceptions before these become a massive problem.
With this large amount of metrics and events, it is challenging to stay in control of all the moving parts. Focus on just the highlighted problems can save a lot of time and effort. This is where automated interpretation of trends and anomalies using tools such as Sensu or Nagios comes into play. No monitoring solution is complete without notifications about things going wrong, or behaving in an abnormal way. Alerts can arrive in a variety of ways such as via SMS, E-Mail, Instant Messaging or Pager notifications. Handling on-call duty outside of business hours can be scheduled in advance to send notification to the right person at the right time and keep downtime and malfunctions to a minimum.
Traditional approach to monitoring systems has been to use a all-included single tool, this usually covers only a small fraction of monitoring needs in a suboptimal way and has become less popular. Server monitoring services available online suffer from a similar problem while also adding high cost for storage and search of your own metrics. Using the best free monitoring software, installed on your own servers, to track your infrastructure as described in this article allows maximum value out of each monitoring aspect. Interchangeable tools that do one thing well can better adapt to new needs brought by future growth and changes in applications and infrastructure.