From 4686beca33946db03f2415421e46f124ca6ce154 Mon Sep 17 00:00:00 2001 From: kenpat Date: Mon, 15 Jun 2026 10:18:37 -0500 Subject: [PATCH] 2026-06-15: mirror Uptime Kuma monitors into Prometheus Grafana --- project-kitestacks-migration.md | 35 +++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/project-kitestacks-migration.md b/project-kitestacks-migration.md index 003e2c5..761b6d2 100644 --- a/project-kitestacks-migration.md +++ b/project-kitestacks-migration.md @@ -539,6 +539,41 @@ Verified current live state on monk before making changes: `https://status.kitestacks.com/dashboard` returned `cookie-handoff` 6/6. - User confirmed after retest: Uptime Kuma Authentik SSO button works. +### Uptime Kuma monitors mirrored into Prometheus/Grafana (2026-06-15) +User asked to set up the same monitors currently in Uptime Kuma for Grafana and +Prometheus. Existing Uptime Kuma monitor list at the time: +- `T14 Deb Assassin`: ping `127.0.0.1` +- `HomeRouter`: ping `192.168.1.254` +- `Google DNS`: ping `8.8.8.8` +- `TailScale`: ping `100.90.13.55` + +Implemented on monk's live Prometheus/Grafana stack: +- Added `prom/blackbox-exporter` service to + `~/kitestacks-live/docker/prometheus/docker-compose.yml`. +- Added blackbox config + `~/kitestacks-live/docker/prometheus/blackbox.yml` with ICMP module + (`preferred_ip_protocol: ip4`, timeout 5s). +- Added Prometheus scrape job `uptime-kuma-ping-probes` in + `~/kitestacks-live/docker/prometheus/prometheus.yml`, using `/probe` with + `module=icmp` and labels `monitor_name` matching the Uptime Kuma names. +- Added Grafana provisioned dashboard + `~/kitestacks-live/docker/grafana/provisioning/dashboards/kitestacks-uptime-probes.json` + titled `KiteStacks Uptime Probes`, with stat/timeseries panels for + `probe_success{job="uptime-kuma-ping-probes"}` and + `probe_duration_seconds{job="uptime-kuma-ping-probes"}`. +- Ran `docker compose up -d` in the Prometheus directory, pulled/started + `blackbox-exporter`, restarted Prometheus, and restarted Grafana. + +Verification: +- Prometheus config validates with `promtool check config`. +- Prometheus active targets include all four `uptime-kuma-ping-probes`. +- Query result for `probe_success{job="uptime-kuma-ping-probes"}`: + `Google DNS=1`, `T14 Deb Assassin=1`, `HomeRouter=0`, `TailScale=0`. + The two failures match Kuma's existing failing ping behavior from inside the + container/network namespace. +- Grafana logs show dashboard provisioning completed without dashboard errors + (only unrelated bundled plugin permission warnings). + Important security hygiene: local git remote for `~/claude-memory` contains an HTTP token in the URL; do not print it in summaries. Prefer redacted URLs in handoffs.