I LOVE SOUNDCLOUD!
From time to time I read their tech blog…
Today I’v found Prometheus! Hooray SoundCloud! Hooray!
Prometheus
An open-source service monitoring system and time series database.
Prometheus is developed in the open and has a growing community outside of SoundCloud.
Data model
Prometheus implements a highly dimensional data model. Time series are identified by a metric name and a set of key-value pairs.
Query language
A flexible query language allows slicing and dicing of collected time series data in order to generate ad-hoc graphs, tables, and alerts.
Visualization
Prometheus has multiple modes for visualizing data: a built-in expression browser, a GUI-based dashboard builder, and a console template language.
Storage
Prometheus stores time series in memory and on local disk in an efficient custom format. Scaling is achieved by functional sharding and federation.
Operation
Each server is independent for reliability, relying only on local storage. Written in Go, all binaries are statically linked and easy to deploy.
Client libraries
Client libraries allow easy instrumentation of services. Currently, Go, Java, and Ruby are supported. Custom libraries are easy to implement.
Alerting
Alerts are defined based on Prometheus’s flexible query language and maintain dimensional information. An alert manager handles notifications and silencing.
Exporters
Existing exporters allow bridging of third-party data into Prometheus. Examples: system statistics, as well as Docker, HAProxy, StatsD, and JMX metrics.