prometheus v2.8.0 releases: monitoring system and time series database


Prometheus, a Cloud Native Computing Foundation project, is a systems and service monitoring system. It collects metrics from configured targets at given intervals, evaluates rule expressions, displays the results, and can trigger alerts if some condition is observed to be true.


Prometheus’ main distinguishing features as compared to other monitoring systems are:

  • multi-dimensional data model (timeseries defined by metric name and set of key/value dimensions)
  • flexible query language to leverage this dimensionality
  • no dependency on distributed storage; single server nodes are autonomous
  • timeseries collection happens via a pull model over HTTP
  • pushing timeseries is supported via an intermediary gateway
  • targets are discovered via service discovery or static configuration
  • multiple modes of graphing and dashboarding support
  • support for hierarchical and horizontal federation


Dimensional data
Prometheus implements a highly dimensional data model. Time series are identified by a metric name and a set of key-value pairs.

Powerful queries
PromQL allows slicing and dicing of collected time series data in order to generate ad-hoc graphs, tables, and alerts.

Great visualization
Prometheus has multiple modes for visualizing data: a built-in expression browser, Grafana integration, and a console template language.

Efficient storage
Prometheus stores time series in memory and on local disk in an efficient custom format. Scaling is achieved by functional sharding and federation.

Simple operation
Each server is independent for reliability, relying only on local storage. Written in Go, all binaries are statically linked and easy to deploy.

Precise alerting
Alerts are defined based on Prometheus’s flexible PromQL and maintain dimensional information. An alertmanager handles notifications and silencing.

Many client libraries
Client libraries allow easy instrumentation of services. Over ten languages are supported already and custom libraries are easy to implement.

Many integrations
Existing exporters allow bridging of third-party data into Prometheus. Examples: system statistics, as well as Docker, HAProxy, StatsD, and JMX metrics.

Changelog v2.8.0

This release uses Write-Ahead Logging (WAL) for the remote_write API. This currently causes a slight increase in memory usage, which will be addressed in future releases.

  • [CHANGE] Default time retention is used only when no size based retention is specified. These are flags where time retention is specified by the flag --storage.tsdb.retention and size retention by --storage.tsdb.retention.size#5216
  • [CHANGE] prometheus_tsdb_storage_blocks_bytes_total is now prometheus_tsdb_storage_blocks_bytesprometheus/tsdb#506
  • [FEATURE] [EXPERIMENTAL] Time overlapping blocks are now allowed; vertical compaction and vertical query merge. It is an optional feature which is controlled by the --storage.tsdb.allow-overlapping-blocks flag, disabled by default. prometheus/tsdb#370
  • [ENHANCEMENT] Use the WAL for remote_write API. #4588
  • [ENHANCEMENT] Query performance improvements. prometheus/tsdb#531
  • [ENHANCEMENT] UI enhancements with upgrade to Bootstrap 4. #5226
  • [ENHANCEMENT] Reduce time that Alertmanagers are in flux when reloaded. #5126
  • [ENHANCEMENT] Limit number of metrics displayed on UI to 10000. #5139
  • [ENHANCEMENT] (1) Remember All/Unhealthy choice on target-overview when reloading page. (2) Resize text-input area on Graph page on mouseclick. #5201
  • [ENHANCEMENT] In histogram_quantile merge buckets with equivalent le values. #5158.
  • [ENHANCEMENT] Show list of offending labels in the error message in many-to-many scenarios. #5189
  • [ENHANCEMENT] Show Storage Retention criteria in effect on /status page. #5322
  • [BUGFIX] Fix sorting of rule groups. #5260
  • [BUGFIX] Fix support for password_file and bearer_token_file in Kubernetes SD. #5211
  • [BUGFIX] Scrape: catch errors when creating HTTP clients #5182. Adds new metrics:
    • prometheus_target_scrape_pools_total
    • prometheus_target_scrape_pools_failed_total
    • prometheus_target_scrape_pool_reloads_total
    • prometheus_target_scrape_pool_reloads_failed_total
  • [BUGFIX] Fix panic when aggregator param is not a literal. #5290

Download && Use

© Prometheus Authors 2014-2019