Data Model
+Prometheus implements a highly dimensional data model. Timeseries are identified by a metric name and a set of key-value pairs.
+ +Query Language
+A flexible query languge allows slicing and dicing of collected timeseries data in order to generate ad-hoc graphs, tables, and alerts.
+ +Visualization
+Prometheus supports multiple modes for visualizing data: a built-in expression browser, a GUI-based dashboard builder, and a console template language.
+ +Query Language
-A flexible query languge allows slicing and dicing of collected timeseries data in order to generate ad-hoc graphs, tables, and alerts.
- +Pull Model
+Prometheus collects timeseries data by scraping instrumented services via HTTP. Short-lived jobs are supported via a push gateway.
+ +Storage
+Prometheus stores timeseries in memory and on local disk in an efficient custom format. Scaling is achieved by functional sharding and federation.
+ +Operation
+Prometheus servers are autonomous, with no dependency on distributed storage. Written in Go, all binaries are statically linked and easy to deploy.
+ +Visualization
-Prometheus supports multiple modes for visualizing data: a built-in expression browser, a GUI-based dashboard builder, and a console template language.
- -Pull Model
-Prometheus collects timeseries data by scraping instrumented services via HTTP. Short-lived jobs are supported via a push gateway.
- -Storage
-Prometheus stores timeseries in memory and on local disk in an efficient custom format. Scaling is achieved by functional sharding and federation.
- -Operation
-Prometheus servers are autonomous, with no dependency on distributed 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 alertmanager 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.
- +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 alertmanager 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.
+ +