Open-source real-time infrastructure monitoring agent with per-second metrics, auto-discovery, built-in ML anomaly detection and alerting.
- Stars
- 66,667
- Forks
- 10,919
- Open issues
- 1,019
- Last commit
- 11 hours ago
What is it?
Prometheus collects metrics from configured targets at set intervals, evaluates rule expressions, displays the results, and can fire alerts when specified conditions are met. It stores data as multi-dimensional time series, each identified by a metric name and a set of key/value labels, and is queried with PromQL.
Each server node is autonomous and does not depend on distributed storage. Targets are found through service discovery or static configuration, and collection uses an HTTP pull model. Batch jobs that cannot be scraped can push samples through an intermediary gateway. Federation supports hierarchical and horizontal setups, and the project ships with a built-in web UI for graphing and dashboards.
The project is written in Go and distributes the prometheus server and promtool command-line utility. It is a Cloud Native Computing Foundation project, and Docker images are published on Quay.io and Docker Hub.
Key features
- 01Multi-dimensional time series data model identified by metric name and labels
- 02PromQL query language for analyzing time series
- 03Pull-based collection with service discovery or static target configuration
- 04Alerting based on rule expressions
- 05Pushing samples through a gateway for batch jobs
- 06Federation and built-in graphing UI
Use cases
- Monitoring server and service health across a infrastructure fleet
- Collecting application metrics and building dashboards for latency and error rates
- Triggering alerts when metrics cross defined thresholds
- Aggregating metrics from multiple Prometheus servers via federation
Quick start
- 1
Run the Prometheus Docker container for a quick try
docker run --name prometheus -d -p 127.0.0.1:9090:9090 prom/prometheus - 2
Download precompiled binaries from the download page on prometheus.io
- 3
Clone the repository and build from source with make
make build - 4
Run the built binary with your config file
./prometheus --config.file=your_config.yml
Things to know
- Building from source requires Go, Node.js and npm 10 or greater.
- The repository builds a standalone program and is not designed for use as a Go library.
Topics
FAQ
- What is prometheus?
- Prometheus is an open-source systems and service monitoring system that collects metrics, evaluates rules, and triggers alerts. Prometheus collects metrics from configured targets at set intervals, evaluates rule expressions, displays the results, and can fire alerts when specified conditions are met. It stores data as multi-dimensional time series, each identified by a metric name and a set of key/value labels, and is queried with PromQL.
- Is prometheus free to use? What license does it have?
- prometheus is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is prometheus still maintained?
- Actively maintained. The last commit to prometheus was on Oct 21, 2026.
- What can I use prometheus for?
- Monitoring server and service health across a infrastructure fleet Collecting application metrics and building dashboards for latency and error rates Triggering alerts when metrics cross defined thresholds Aggregating metrics from multiple Prometheus servers via federation
- How do I install prometheus?
- Run the Prometheus Docker container for a quick try: docker run --name prometheus -d -p 127.0.0.1:9090:9090 prom/prometheus Download precompiled binaries from the download page on prometheus.io Clone the repository and build from source with make: make build Run the built binary with your config file: ./prometheus --config.file=your_config.yml
- Where can I get prometheus?
- The source code and installation instructions are on GitHub: https://github.com/prometheus/prometheus
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Open-source platform to query, visualize, alert on and explore metrics, logs and traces from many data sources.
An open-source observability database that stores metrics, logs, and traces in one columnar engine on object storage, queryable with SQL and PromQL.
Horizontally scalable, multi-tenant log aggregation system that indexes only labels, not log contents, from Grafana Labs.
Lightweight self-hosted server monitoring with a web dashboard, Docker container stats, historical data and alerts.
Self-hosted alerting for metrics, logs, and SQL data sources, with notification routing and a built-in AI agent and MCP server.