A sidecar that reloads Prometheus when config file or rule files change.
$ prometheus-reloader -config-file testdata/prometheus.yml
I0419 15:30:46.124751 72508 main.go:33] Starting prometheus-reloader 7f0d912 (7f0d912bba736278b2752943bf6287b4658b3490)
After changing prometheus.yml
or any of the rule files:
I0419 15:31:06.127397 72508 reloader.go:115] Config change detected, reloading Prometheus at http://127.0.0.1:9090/-/reload
-config-file string
Prometheus configuration file path (default "/etc/prometheus/prometheus.yml")
-reload-url string
Prometheus reload endpoint (default "http://127.0.0.1:9090/-/reload")
-watch-interval duration
Interval for watching config and rules files for changes (default 10s)
Run prometheus-reloader -h
to see the rest of the flags.
- Run:
skaffold dev --port-forward
-
Open http://127.0.0.1:9090/config in your browser.
-
Make some changes to
k8s/configmap.yaml
. Skaffold will apply the changes automatically once you save the file. -
Wait for up to two minutes for Kubernetes to propagate ConfigMap changes.
-
Observe something like:
[prometheus reloader] I0419 14:27:22.139774 1 reloader.go:115] Config change detected, reloading Prometheus at http://127.0.0.1:9090/-/reload
[prometheus] level=info ts=2020-04-19T14:27:22.143Z caller=main.go:788 msg="Loading configuration file" filename=/etc/prometheus/prometheus.yml
[prometheus] level=info ts=2020-04-19T14:27:22.147Z caller=main.go:816 msg="Completed loading of configuration file" filename=/etc/prometheus/prometheus.yml
- Refresh Prometheus config page in your browser to make sure Prometheus has been reloaded.