Prometheus is an open source monitoring and alerting toolkit originally developed in 2012 at SoundCloud. It was inspired by Borgmon at Google. In contrast to the push model employed by systems such as statsd
, Prometheus uses a pull model for collecting metrics. Instead of each service being responsible for pushing metrics to a statsd
server, Prometheus is responsible for scraping an endpoint exposed by services that have metrics. This inversion of responsibilities provides some benefits when operating metrics at scale. Targets in Prometheus can be configured manually or via service discovery.
In contrast to the hierarchical format that systems such as Graphite use to store metrics data, Prometheus employs a multidimensional data model. Time-series data in Prometheus is identified by a metric name (such as http_request_duration_seconds
) and one or more labels (such as service=message-service
and method=POST
). This format can make it easier to standardize...