{"id":13392823,"url":"https://github.com/prometheus/prometheus","last_synced_at":"2026-02-26T04:25:10.366Z","repository":{"id":5630768,"uuid":"6838921","full_name":"prometheus/prometheus","owner":"prometheus","description":"The Prometheus monitoring system and time series database.","archived":false,"fork":false,"pushed_at":"2025-05-04T09:50:06.000Z","size":255765,"stargazers_count":58392,"open_issues_count":708,"forks_count":9539,"subscribers_count":1118,"default_branch":"main","last_synced_at":"2025-05-05T13:55:40.771Z","etag":null,"topics":["alerting","graphing","hacktoberfest","metrics","monitoring","prometheus","time-series"],"latest_commit_sha":null,"homepage":"https://prometheus.io/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/prometheus.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY-INSIGHTS.yml","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2012-11-24T11:14:12.000Z","updated_at":"2025-05-05T12:30:04.000Z","dependencies_parsed_at":"2023-09-26T16:12:19.947Z","dependency_job_id":"4aae2510-e2dd-420f-8aa2-66116b7bf58c","html_url":"https://github.com/prometheus/prometheus","commit_stats":{"total_commits":9003,"total_committers":1045,"mean_commits":8.615311004784688,"dds":0.886704431856048,"last_synced_commit":"bdc3cfdd5dff0e076e1a5778289b36b3fe5962f3"},"previous_names":[],"tags_count":468,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prometheus%2Fprometheus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prometheus%2Fprometheus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prometheus%2Fprometheus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prometheus%2Fprometheus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/prometheus","download_url":"https://codeload.github.com/prometheus/prometheus/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253757046,"owners_count":21959326,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["alerting","graphing","hacktoberfest","metrics","monitoring","prometheus","time-series"],"created_at":"2024-07-30T17:00:37.733Z","updated_at":"2026-02-20T02:14:27.991Z","avatar_url":"https://github.com/prometheus.png","language":"Go","readme":"\u003ch1 align=\"center\" style=\"border-bottom: none\"\u003e\n    \u003ca href=\"https://prometheus.io\" target=\"_blank\"\u003e\u003cimg alt=\"Prometheus\" src=\"/documentation/images/prometheus-logo.svg\"\u003e\u003c/a\u003e\u003cbr\u003ePrometheus\n\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003eVisit \u003ca href=\"https://prometheus.io\" target=\"_blank\"\u003eprometheus.io\u003c/a\u003e for the full documentation,\nexamples and guides.\u003c/p\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n[![CI](https://github.com/prometheus/prometheus/actions/workflows/ci.yml/badge.svg)](https://github.com/prometheus/prometheus/actions/workflows/ci.yml)\n[![Docker Repository on Quay](https://quay.io/repository/prometheus/prometheus/status)][quay]\n[![Docker Pulls](https://img.shields.io/docker/pulls/prom/prometheus.svg?maxAge=604800)][hub]\n[![Go Report Card](https://goreportcard.com/badge/github.com/prometheus/prometheus)](https://goreportcard.com/report/github.com/prometheus/prometheus)\n[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/486/badge)](https://bestpractices.coreinfrastructure.org/projects/486)\n[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/prometheus/prometheus/badge)](https://securityscorecards.dev/viewer/?uri=github.com/prometheus/prometheus)\n[![CLOMonitor](https://img.shields.io/endpoint?url=https://clomonitor.io/api/projects/cncf/prometheus/badge)](https://clomonitor.io/projects/cncf/prometheus)\n[![Gitpod ready-to-code](https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod)](https://gitpod.io/#https://github.com/prometheus/prometheus)\n[![Fuzzing Status](https://oss-fuzz-build-logs.storage.googleapis.com/badges/prometheus.svg)](https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened\u0026can=1\u0026q=proj:prometheus)\n\n\u003c/div\u003e\n\nPrometheus, a [Cloud Native Computing Foundation](https://cncf.io/) project, is a systems and service monitoring system. It collects metrics\nfrom configured targets at given intervals, evaluates rule expressions,\ndisplays the results, and can trigger alerts when specified conditions are observed.\n\nThe features that distinguish Prometheus from other metrics and monitoring systems are:\n\n* A **multi-dimensional** data model (time series defined by metric name and set of key/value dimensions)\n* PromQL, a **powerful and flexible query language** to leverage this dimensionality\n* No dependency on distributed storage; **single server nodes are autonomous**\n* An HTTP **pull model** for time series collection\n* **Pushing time series** is supported via an intermediary gateway for batch jobs\n* Targets are discovered via **service discovery** or **static configuration**\n* Multiple modes of **graphing and dashboarding support**\n* Support for hierarchical and horizontal **federation**\n\n## Architecture overview\n\n![Architecture overview](documentation/images/architecture.svg)\n\n## Install\n\nThere are various ways of installing Prometheus.\n\n### Precompiled binaries\n\nPrecompiled binaries for released versions are available in the\n[*download* section](https://prometheus.io/download/)\non [prometheus.io](https://prometheus.io). Using the latest production release binary\nis the recommended way of installing Prometheus.\nSee the [Installing](https://prometheus.io/docs/introduction/install/)\nchapter in the documentation for all the details.\n\n### Docker images\n\nDocker images are available on [Quay.io](https://quay.io/repository/prometheus/prometheus) or [Docker Hub](https://hub.docker.com/r/prom/prometheus/).\n\nYou can launch a Prometheus container for trying it out with\n\n```bash\ndocker run --name prometheus -d -p 127.0.0.1:9090:9090 prom/prometheus\n```\n\nPrometheus will now be reachable at \u003chttp://localhost:9090/\u003e.\n\n### Building from source\n\nTo build Prometheus from source code, You need:\n\n* Go: Version specified in [go.mod](./go.mod) or greater.\n* NodeJS: Version specified in [.nvmrc](./web/ui/.nvmrc) or greater.\n* npm: Version 10 or greater (check with `npm --version` and [here](https://www.npmjs.com/)).\n\nStart by cloning the repository:\n\n```bash\ngit clone https://github.com/prometheus/prometheus.git\ncd prometheus\n```\n\nYou can use the `go` tool to build and install the `prometheus`\nand `promtool` binaries into your `GOPATH`:\n\n```bash\ngo install github.com/prometheus/prometheus/cmd/...\nprometheus --config.file=your_config.yml\n```\n\n*However*, when using `go install` to build Prometheus, Prometheus will expect to be able to\nread its web assets from local filesystem directories under `web/ui/static`. In order for\nthese assets to be found, you will have to run Prometheus from the root of the cloned\nrepository. Note also that this directory does not include the React UI unless it has been\nbuilt explicitly using `make assets` or `make build`.\n\nAn example of the above configuration file can be found [here.](https://github.com/prometheus/prometheus/blob/main/documentation/examples/prometheus.yml)\n\nYou can also build using `make build`, which will compile in the web assets so that\nPrometheus can be run from anywhere:\n\n```bash\nmake build\n./prometheus --config.file=your_config.yml\n```\n\nThe Makefile provides several targets:\n\n* *build*: build the `prometheus` and `promtool` binaries (includes building and compiling in web assets)\n* *test*: run the tests\n* *test-short*: run the short tests\n* *format*: format the source code\n* *vet*: check the source code for common errors\n* *assets*: build the React UI\n\n### Service discovery plugins\n\nPrometheus is bundled with many service discovery plugins. You can customize\nwhich service discoveries are included in your build using Go build tags.\n\nTo exclude service discoveries when building with `make build`, add the desired\ntags to the `.promu.yml` file under `build.tags.all`:\n\n```yaml\nbuild:\n    tags:\n        all:\n            - netgo\n            - builtinassets\n            - remove_all_sd           # Exclude all optional SDs\n            - enable_kubernetes_sd    # Re-enable only kubernetes\n```\n\nThen run `make build` as usual. Alternatively, when using `go build` directly:\n\n```bash\ngo build -tags \"remove_all_sd,enable_kubernetes_sd\" ./cmd/prometheus\n```\n\nAvailable build tags:\n* `remove_all_sd` - Exclude all optional service discoveries (keeps file_sd, static_sd, and http_sd)\n* `enable_\u003cname\u003e_sd` - Re-enable a specific SD when using `remove_all_sd`\n\nIf you add out-of-tree plugins, which we do not endorse at the moment,\nadditional steps might be needed to adjust the `go.mod` and `go.sum` files. As\nalways, be extra careful when loading third party code.\n\n### Building the Docker image\n\nYou can build a docker image locally with the following commands:\n\n```bash\nmake promu\npromu crossbuild -p linux/amd64\nmake npm_licenses\nmake common-docker-amd64\n```\n\nThe `make docker` target is intended only for use in our CI system and will not\nproduce a fully working image when run locally.\n\n## Using Prometheus as a Go Library\n\nWithin the Prometheus project, repositories such as [prometheus/common](https://github.com/prometheus/common) and\n[prometheus/client-golang](https://github.com/prometheus/client-golang) are designed as re-usable libraries.\n\nThe [prometheus/prometheus](https://github.com/prometheus/prometheus) repository builds a stand-alone program and is not\ndesigned for use as a library. We are aware that people do use parts as such,\nand we do not put any deliberate inconvenience in the way, but we want you to be\naware that no care has been taken to make it work well as a library. For instance,\nyou may encounter errors that only surface when used as a library.\n\n### Remote Write\n\nWe are publishing our Remote Write protobuf independently at\n[buf.build](https://buf.build/prometheus/prometheus/assets).\n\nYou can use that as a library:\n\n```shell\ngo get buf.build/gen/go/prometheus/prometheus/protocolbuffers/go@latest\n```\n\nThis is experimental.\n\n### Prometheus code base\n\nIn order to comply with [go mod](https://go.dev/ref/mod#versions) rules,\nPrometheus release number do not exactly match Go module releases.\n\nFor the\nPrometheus v3.y.z releases, we are publishing equivalent v0.3y.z tags. The y in v0.3y.z is always padded to two digits, with a leading zero if needed.\n\nTherefore, a user that would want to use Prometheus v3.0.0 as a library could do:\n\n```shell\ngo get github.com/prometheus/prometheus@v0.300.0\n```\n\nFor the\nPrometheus v2.y.z releases, we published the equivalent v0.y.z tags.\n\nTherefore, a user that would want to use Prometheus v2.35.0 as a library could do:\n\n```shell\ngo get github.com/prometheus/prometheus@v0.35.0\n```\n\nThis solution makes it clear that we might break our internal Go APIs between\nminor user-facing releases, as [breaking changes are allowed in major version\nzero](https://semver.org/#spec-item-4).\n\n## React UI Development\n\nFor more information on building, running, and developing on the React-based UI, see the React app's [README.md](web/ui/README.md).\n\n## More information\n\n* Godoc documentation is available via [pkg.go.dev](https://pkg.go.dev/github.com/prometheus/prometheus). Due to peculiarities of Go Modules, v3.y.z will be displayed as v0.3y.z (the y in v0.3y.z is always padded to two digits, with a leading zero if needed), while v2.y.z will be displayed as v0.y.z.\n* See the [Community page](https://prometheus.io/community) for how to reach the Prometheus developers and users on various communication channels.\n\n## Contributing\n\nRefer to [CONTRIBUTING.md](https://github.com/prometheus/prometheus/blob/main/CONTRIBUTING.md)\n\n## License\n\nApache License 2.0, see [LICENSE](https://github.com/prometheus/prometheus/blob/main/LICENSE).\n\n[hub]: https://hub.docker.com/r/prom/prometheus/\n[quay]: https://quay.io/repository/prometheus/prometheus\n","funding_links":[],"categories":["Prometheus","Go","HarmonyOS","📡 Monitoring \u0026 Observability","开源类库","Apps","Monitoring","Database","Misc","Uncategorized","Observability","Go (134)","Repositories","Open source library","Integrations","[Go](#go)","Data Management \u0026 Processing","Tools and Libraries","Monitoring \u0026 Logging","Logging and Monitoring","数据库","monitoring","语言资源库","其他_安全与渗透","时序数据库","🏗相关开源项目","Containers","数据库工具","Back-End Development","GitHub projects","Observability \u0026 Monitoring","time-series","Application Recommendation","APM Monitoring","Data Integration Frameworks","数据库  `go语言实现的数据库`","Analysis","Official resources","DevOps Utilities","Generators","數據庫","\u003cspan id=\"数据库-database\"\u003e数据库 Database\u003c/span\u003e","Tools"],"sub_categories":["Windows Manager","数据库","Monitoring","Prometheus","Advanced Console UIs","Uncategorized","Rust","Streaming Data Management","Monitoring, Alerts, and Visualization","Vector Database","go","网络服务_其他","Databases Implemented in Go","监控工具","常用数据库实现","Go中实现的数据库","📡 Web Tools","Backend","标准 CLI","高級控制台界面","\u003cspan id=\"高级控制台用户界面-advanced-console-uis\"\u003e高级控制台用户界面 Advanced Console UIs\u003c/span\u003e","高级控制台界面"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprometheus%2Fprometheus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprometheus%2Fprometheus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprometheus%2Fprometheus/lists"}