Prometheus is an open-source system monitoring and alerting toolkit originally built at SoundCloud. Since its release in 2012, many companies and organizations have adopted Prometheus, and the project has a very active community. It is developed as an open project, independent of any company or organization.“
It is based on metrics and is designed to measure and visualise the overall health and performance of services, it is similar to tools like Graphana/Graphite, but offering a more robust and comprehensive feature set, including:
Let’s start with the most important feature of any monitoring tool, which is its data collection framework. There are two ways of collecting data in Prometheus, which one you use depends on your particular needs and access to application’s source code.
Prometheus is a pull-based system, therefore it requires some sort of service discovery to work in the first place. Which one you use will depend on your infrastructure needs and approach to automation. For example, assuming you already use Hashicorp’s Consul for configuration management and service discovery, you will want to use that. And Prometheus has it. And it works out of the box.
It can be configured by defining access parameters for our Consul agent and a list of Consul services for which we want to query targets. Prometheus then discovers given services from the local Consul agent. For more information, I recommend this blog post.
Next time, we will be looking into how Prometheus stores its data and the ways in which we use this data to monitor our critical infrastructure.
Do you have any questions or comments? Contact Us