cognitedata / prom-stack

Run a local Prometheus, AlertManager, Push Gateway, and Grafana locally using Docker compose

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Prom-Stack

This repo contains a quick start for running a development instance of Prometheus.

What's Included?

  • Prometheus Server
  • Push Gateway
  • Alertmanager
  • Grafana
               +--------------+
               |              |
               |   Grafana    |
               |              |
               +--------------+
                      |
                      | datasource
                      |
               +------v-------+           +--------------+
         +-----+              |           |              |
  scrape |     |  Prometheus  +-----------> AlertManager |
         +----->    Server    |   push    |              |
               |              |   alerts  |              |
               +--------------+           +--------------+
                      |
                      | scrape
                      |
               +------v-------+
               |              |
               | Pushgateway  |
               |              |
               +--------------+

How do I use it?

  1. Clone the repo.
  2. Navigate to the directory and run make up
  3. Go to http://localhost:9090 for Prometheus.
  4. Go to http://localhost:9091 for the Push Gateway.
  5. Go to http://localhost:9093 for Alertmanager.
  6. Go to http://localhost:3000 for Grafana.

Guides

Add a Scrape Target

To add a new scrape target, edit the scrape_configs section of /prometheus/prometheus.yml and run make reload-prom

See here for more details on scrape configs.

Add an alert

To add a new alert, create or edit a *.rules file in the prometheus/alerts directory and run make reload-prom

Use the Push Gateway

The Pushgateway can be used as an intermediary to push metrics, where the Prometheus pull model doesn't fit. Examples of this include short lived processes or batch jobs.

To push a metric in Prom-Stack, you can do something like this:

echo "mymetric 99" | curl --data-binary @- http://localhost:9091/metrics/job/my-push-job

You can confirm this has worked by navigating to the Push Gateway UI or the Prometheus expression browser.

About

Run a local Prometheus, AlertManager, Push Gateway, and Grafana locally using Docker compose


Languages

Language:Makefile 53.4%Language:Shell 46.6%