Skip to content
The Prometheus monitoring system and time series database.
Go TypeScript JavaScript HTML Yacc CSS Other
Branch: master
Clone or download

Latest commit

brancz Merge pull request #7093 from tariq1890/upd_k8s
update kubernetes to v1.18.x and update the ingress apiVersion
Latest commit 18d9ebf Jun 2, 2020

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci Install go 1.14 in windows (#7310) Jun 1, 2020
.github Updated action workflow files to work with new test infra Dockerimage… May 24, 2020
cmd Correction of misleading help text(#5142) (#7231) May 11, 2020
config Add discovery support for triton compute nodes (#7250) May 22, 2020
console_libraries Added humanizePercentage formatting to templates (#5670) Jun 15, 2019
consoles Update console template example metric names. (#5678) Jun 17, 2019
discovery update kubernetes to v1.18.x and update ingress apiVersion Jun 1, 2020
docs Return NaN for histogram_quantile when buckets have 0 observations (#… Jun 1, 2020
documentation fix document rabbitmq example (#7297) May 27, 2020
notifier notifier: forget unlock before return (#7133) Apr 23, 2020
pkg change labelset comparison in promql engine to avoid false positive d… May 12, 2020
prompb Update vendors Feb 25, 2020
promql Return NaN for histogram_quantile when buckets have 0 observations (#… Jun 1, 2020
rules Give a bit more slack for alertmanager send failures. (#7228) May 9, 2020
scrape Pass reference to checkAddError so appendErrors is updated. (#7294) May 26, 2020
scripts Refactor makefile script Apr 11, 2020
storage Trace Remote Write requests (#7206) Jun 1, 2020
template template: remove redundant parentheses. (#5904) Aug 16, 2019
tsdb Added time range parameters to labelNames API (#7288) May 30, 2020
util replace github.com/prometheus/prometheus/testutil/promlint by github.… May 7, 2020
vendor update kubernetes to v1.18.x and update ingress apiVersion Jun 1, 2020
web Added time range parameters to labelNames API (#7288) May 30, 2020
.dockerignore Revert "Add armv6 docker image (#6605)" Feb 5, 2020
.gitignore Add tsdb/tsdb to .gitignore Nov 15, 2019
.golangci.yml Enable golint in CI Mar 23, 2020
.promu.yml switch to go 1.14 (#7100) Apr 13, 2020
CHANGELOG.md changelog: Fixed wrong link to federation PR. (#7205) May 11, 2020
CONTRIBUTING.md *: bump Go version to 1.13 (#6020) Sep 13, 2019
Dockerfile Integrate beginning of React UI (#5694) Oct 17, 2019
LICENSE Add license file Apr 10, 2017
MAINTAINERS.md Update and re-work maintainers file. Nov 28, 2019
Makefile Revert "Add armv6 docker image (#6605)" Feb 5, 2020
Makefile.common Makefile.common: add 'update-go-deps' target (#7259) May 18, 2020
NOTICE Integrate beginning of React UI (#5694) Oct 17, 2019
README.md Update README.md Jan 27, 2020
RELEASE.md Update RELEASE doc Jun 2, 2020
VERSION Cut v2.18.1 (#7222) May 7, 2020
code-of-conduct.md Add CNCF code of conduct as the Prometheus code of conduct Oct 19, 2016
fuzzit.sh Fix fuzzit job (#6005) Sep 11, 2019
go.mod update kubernetes to v1.18.x and update ingress apiVersion Jun 1, 2020
go.sum update kubernetes to v1.18.x and update ingress apiVersion Jun 1, 2020

README.md

Prometheus

CircleCI Docker Repository on Quay Docker Pulls Go Report Card CII Best Practices fuzzit

Visit prometheus.io for the full documentation, examples and guides.

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 if some condition is observed to be true.

Prometheus's main distinguishing features as compared to other monitoring systems are:

  • a multi-dimensional data model (timeseries defined by metric name and set of key/value dimensions)
  • a flexible query language to leverage this dimensionality
  • no dependency on distributed storage; single server nodes are autonomous
  • timeseries collection happens via a pull model over HTTP
  • pushing timeseries is supported via an intermediary gateway
  • targets are discovered via service discovery or static configuration
  • multiple modes of graphing and dashboarding support
  • support for hierarchical and horizontal federation

Architecture overview

Install

There are various ways of installing 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 of installing Prometheus. See the Installing chapter in the documentation for all the details.

Debian packages are available.

Docker images

Docker images are available on Quay.io or Docker Hub.

You can launch a Prometheus container for trying it out with

$ docker run --name prometheus -d -p 127.0.0.1:9090:9090 prom/prometheus

Prometheus will now be reachable at http://localhost:9090/.

Building from source

To build Prometheus from the source code yourself you need to have a working Go environment with version 1.13 or greater installed. You will also need to have Node.js and Yarn installed in order to build the frontend assets.

You can directly use the go tool to download and install the prometheus and promtool binaries into your GOPATH:

$ go get github.com/prometheus/prometheus/cmd/...
$ prometheus --config.file=your_config.yml

However, when using go get to build Prometheus, Prometheus will expect to be able to read its web assets from local filesystem directories under web/ui/static and web/ui/templates. In order for these assets to be found, you will have to run Prometheus from the root of the cloned repository. Note also that these directories do not include the new experimental 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 clone the repository yourself and build using make build, which will compile in the web assets so that Prometheus can be run from anywhere:

$ mkdir -p $GOPATH/src/github.com/prometheus
$ cd $GOPATH/src/github.com/prometheus
$ git clone https://github.com/prometheus/prometheus.git
$ cd prometheus
$ make build
$ ./prometheus --config.file=your_config.yml

The Makefile provides several targets:

  • build: build the prometheus and promtool binaries (includes building and compiling in web assets)
  • test: run the tests
  • test-short: run the short tests
  • format: format the source code
  • vet: check the source code for common errors
  • docker: build a docker container for the current HEAD

React UI Development

For more information on building, running, and developing on the new React-based UI, see the React app's README.md.

More information

  • The source code is periodically indexed: Prometheus Core.
  • You will find a CircleCI configuration in .circleci/config.yml.
  • See the Community page for how to reach the Prometheus developers and users on various communication channels.

Contributing

Refer to CONTRIBUTING.md

License

Apache License 2.0, see LICENSE.

You can’t perform that action at this time.