The open source software ecosystem has grown bigger and better over the last decade, and cloud monitoring tools...
are no exception. In 2019, enterprises will have a wide range of options for open source tools to monitor cloud apps.
That's good news for developers and admins, since the native monitoring tools available on public cloud platforms, such as AWS and Azure, aren't always enough to properly monitor and manage cloud apps -- particularly those in multi-cloud or private cloud environments.
Ranging from some lesser-known options to those many developers already know and use, here's a look at five open source cloud monitoring tools to consider in 2019.
Riemann provides a single, straightforward tool to monitor distributed applications and infrastructure. The open source software enables developers to define various types of events to monitor, as well as streams that generate alerts when a particular type of event occurs. Developers can configure streams to send email notifications or alerts via Slack about events.
Riemann builds an index of all of the services it monitors and provides a dashboard to visualize that data. Developers can also set up Riemann to feed data to a third-party open source data visualization tool, such as Grafana.
For some developers, Riemann's native feature set might seem somewhat limited. For example, there's not a lot of room for customization within the dashboard. However, Riemann can integrate with a range of external tools that are more customizable.
Another open source monitoring tool that's lesser-known, but worth a look, is cAdvisor. Short for Container Advisor, it was one of the first open source monitoring tools purpose-built for containerized applications. While it won't monitor other types of cloud apps, cAdvisor runs as a container itself, so users just need to spin up a new container to deploy it.
CAdvisor provides a browser-based graphical interface for data visualization, and developers can configure the tool via a command line. Compared to some commercial cloud monitoring tools, cAdvisor features might seem relatively basic; however, as one of the only open source monitoring tools built specifically for containers, it's worth a look for teams that use Docker to host apps in the cloud.
Some enterprises will already be familiar with Elasticsearch, an open source tool to search through large volumes of data.
While Elasticsearch isn't always put in the family of open source cloud monitoring tools, its search capabilities can come in handy for that use. Teams will need to integrate the tool with others, such as Kibana and Logstash, to collect and visualize the monitoring data that Elasticsearch will process. Still, as part of a larger stack, Elasticsearch can provide powerful search functionality to help admins and developers better understand their cloud monitoring data. It's also designed for massive scalability, so teams can use it to monitor a handful, or thousands, of application instances without having to change tool sets.
When used alongside other monitoring tools, Elasticsearch is essentially an open source alternative to Splunk. That's not to say Elasticsearch can be a full replacement for Splunk, but in some cases, it is a viable and less costly alternative.
Graphite is a popular open source tool -- set to remain so in 2019 -- to help monitor cloud apps and infrastructure.
The scope of Graphite is fairly narrow; it enables users to take time series data and visualize it. It doesn't collect data or store it persistently, but enterprises can integrate Graphite with a variety of other tools, including Riemann, to perform some of these tasks. Because of this, Graphite isn't an all-in-one cloud app monitoring tool. Still, it serves as a straightforward and highly extensible visualization tool for monitoring data.
For many admins and developers, Prometheus is one of the more familiar open source cloud monitoring tools.
Prometheus is feature-rich and offers a range of customization options. It integrates with third-party visualization tools, including Grafana, and also provides a native visualization engine. It offers an API to send data to external tools, and users can prepare monitoring data for interpretation using a special query language called PromQL.
While Prometheus is one of the most robust open source cloud monitoring tools available today, there are certain things it does not do. For example, it's not a log management tool, it doesn't provide automated anomaly detection and its native visualizations are relatively basic -- though, again, integration with other tools can extend users' visualization options.