prometheus /prometheus
The Prometheus monitoring system and time series database.
★ 67,605⑂ 11,014👁 1,158⑃ 12,978● 6,627▤ 387◈ 591
67,605
stars
+26
11,014
forks
1,158
watchers
12,978
prs
6,627
issues
387
releases
591
discussions
README
Prometheus Visit prometheus.io for the full documentation, examples and guides. ![Docker Repository on Quay][quay] ![Docker Pulls][hub] 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 when specified conditions are observed. The features that distinguish Prometheus from other metrics and monitoring systems are: A multi-dimensional data model (time series defined by metric name and set of key/value dimensions) PromQL, a powerful and flexible query language to leverage this dimensionality No dependency on distributed storage; single server nodes are autonomous An HTTP pull model for time series collection Pushing time series is supported via an intermediary gateway for batch jobs Targets are discovered via service discovery or static configuration Multiple modes of graphing and dashboarding support Support for hierarchical and horizontal federation Architecture overview !Architecture overview Install There are various ways to install Prometheus. Precompiled binaries Precompiled binaries for released versions are available in the download section on prometheus.io. Using the latest production release binary is the recommended way to install Prometheus. See the Installing chapter in the documentation for all the details. Docker images Docker images are available on Quay.io or Docker Hub. You can launch a Prometheus container for trying it out with bash docker run --name prometheus -d -p 127.0.0.1:9090:9090 prom/prometheus Prometheus will now be reachable at . Building from source To build Prometheus from source code, you need: Go: Version specified in go.mod or greater. NodeJS: Version specified in .nvmrc or greater. npm: Version 10 or greater (check with npm --version and here). Start by cloning the repository: bash git clone https://github.com/prometheus/prometheus.git cd prometheus You can use the go tool to build and install the prometheus and promtool binaries into your GOPATH: bash go install github.com/prometheus/prometheus/cmd/... prometheus --config.file=your_config.yml However, when using go install to build Prometheus, Prometheus will expect to be able to read its web assets from local filesystem directories under web/ui/static. In order for these assets to be found, you will have to run Prometheus from the root of the cloned repository. Note also that this directory does not include the React UI unless it has been built explicitly using make assets or make build. An example of the above configuration file can be found here. You can also build using make build, which will compile in the web assets so that Prometheus can be run from anywhere: bash make build ./prometheus --config.file=your_config.yml The Makefile provides several targets: build: build the prometheus and promtool binaries (include
Top issues
#6541Handle OpenMetrics `..._created` lines38 comments · 2020-01-02#2204Joining different labels37 comments · 2016-11-18#394Scrape-time rule evaluation37 comments · 2014-06-09#16525Set and check (and document) a global label_value_length_limit35 comments · 2025-04-30#7971Remote Write page in the UI34 comments · 2020-09-23#13765enable querying of old data with new UTF-8 names29 comments · 2024-03-13#11505remote write: When ingesting, check that labels are indeed sorted lexicographically41 comments · 2022-10-31#10431Prometheus agent mode using more heap memory than regular mode.29 comments · 2022-03-10
Discussions
#20395Testing generated PromQL: zero errors, zero traffic, and missing series are different cases0 comments · 2026-11-08#20230Prometheus from the release binary, with configs checked by promtool before they reload0 comments · 2026-10-29#20221Severe Grafana query slowdown after migrating Prometheus storage from single HDD to 6-HDD RAID 5 (NetApp Harvest metrics)3 comments · 2026-10-29#20216Add `-lts` suffix to LTS images published on dockerhub?0 comments · 2026-10-28#19990"Real-time notifications interrupted. Please refresh the page or check your connection."1 comments · 2026-10-11#19898Source/build provenance for Prometheus 3.12.0 linux/arm64: vcs.modified=true2 comments · 2026-10-03#19889Looking for a Small First Contribution1 comments · 2026-10-02#19587Implement i18n support mentioned in #109020 comments · 2026-09-05
Latest release
3.16.0 / 2026-11-04 v3.16.0 2026-11-05- [CHANGE] API: The experimental search endpoints now clamp batch_size to 1000. 19731 - [CHANGE] Configuration: Default --web.external-url to https when --web.config.file enables TLS. 19241 - [CHANGE] PromQL: Subquery samples are now included in the query TotalSamples and TotalSamplesPerStep statistics, and SamplesRead now counts reads from subqueries with an @ modifier in range queries. 19165 - [CHANGE] Remote write: Stop exposing the deprecated prometheus_remote_storage_metadata_total, prometheus_remote_storage_metadata_failed_total, prometheus_remote_storage_metadata_retried_total, and p