prometheus/prometheus
Prometheus
Prometheus is an open-source systems and service monitoring system, originally built at SoundCloud and now a Cloud Native Computing Foundation (CNCF) graduated project. It scrapes metrics from configured HTTP targets at intervals, stores them in a custom on-disk time series database (TSDB), evaluates rule expressions written in PromQL, and triggers alerts through external Alertmanagers.
This wiki covers the github.com/prometheus/prometheus repository: a single Go module that builds two binaries (prometheus and promtool), a React-based web UI, and a large collection of service discovery, storage, and protocol-translation packages.
What this repository contains
The repo at github.com/prometheus/prometheus produces:
prometheus— the main server binary. It scrapes targets, ingests samples into the TSDB or the agent WAL, evaluates rules, and serves the HTTP API and UI. Source:cmd/prometheus/main.go.promtool— a CLI for validating configuration, querying a server, debugging the TSDB, running rule unit tests, and importing OpenMetrics data. Source:cmd/promtool/main.go.- The TSDB library (
tsdb/) — a self-contained time series database used by the Prometheus server and reusable by other projects. - The PromQL engine (
promql/) — a parser, AST, and evaluator for PromQL queries. - A library of service discovery plugins (
discovery/) for Kubernetes, AWS, Consul, DNS, Azure, GCE, and ~25 other systems. - The remote write/read subsystem (
storage/remote/) for shipping samples to long-term storage and ingesting from compatible senders. - The React web UI (
web/ui/) — both the new Mantine-based UI and the legacy 2.x UI.
Where to start
| If you want to... | Read this |
|---|---|
| Understand the high-level architecture | Architecture |
| Build and run Prometheus locally | Getting started |
| Learn project-specific terminology | Glossary |
| Submit a PR or fix a bug | How to contribute |
| Understand the storage engine | TSDB |
| Learn how scraping works | Scrape |
| Understand PromQL evaluation | PromQL |
| Add or modify a service discovery | Discovery |
| See current codebase statistics | By the numbers |
| Read the project history | Lore |
Project facts
| Attribute | Value |
|---|---|
| Current version | 3.11.2 (April 2026), see VERSION |
| Language | Go (server, library, tooling) + TypeScript/React (UI) |
| Go module | github.com/prometheus/prometheus (Go 1.25+, see go.mod) |
| License | Apache 2.0 (LICENSE) |
| First commit | 24 November 2012 |
| Governance | CNCF graduated project; a team of general and area maintainers |
| Build system | make build driven by Makefile and Makefile.common |
See Maintainers for the current owner list and Reference: Dependencies for the third-party landscape.
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.