prometheus /prometheus

The Prometheus monitoring system and time series database.

★ 67,605⑂ 11,014👁 1,158⑃ 12,978● 6,627▤ 387◈ 591
GoApache-2.0Created 2012-11-24prometheus.io/
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

Discussions

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

Snapshot: 2026-11-10T09:35:25Z · Data license Apache-2.0 · JSON