This repo contains a quick start for running a development instance of Prometheus.
- Prometheus Server
- Push Gateway
- Alertmanager
- Grafana
+--------------+
| |
| Grafana |
| |
+--------------+
|
| datasource
|
+------v-------+ +--------------+
+-----+ | | |
scrape | | Prometheus +-----------> AlertManager |
+-----> Server | push | |
| | alerts | |
+--------------+ +--------------+
|
| scrape
|
+------v-------+
| |
| Pushgateway |
| |
+--------------+
- 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.
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.
To add a new alert, create or edit a *.rules
file in the prometheus/alerts
directory and run make reload-prom
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.