prom-stack
prom-stack copied to clipboard
Run a local Prometheus, AlertManager, Push Gateway, and Grafana locally using Docker compose
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?
- Clone the repo.
- Navigate to the directory and run
make up - Go to http://localhost:9090 for Prometheus.
- Go to http://localhost:9091 for the Push Gateway.
- Go to http://localhost:9093 for Alertmanager.
- 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.