feat(monitoring): provision runner-health dashboard as code #180

Sammanfogat
supernaut sammanfogade 1 incheckning från feat/monitoring-runners-dashboard in i main 2026-07-21 06:35:23 +00:00
Ägare

What

Adds ansible/roles/monitoring/files/bitborg-runners.json so the "bitborg CI runners — health" dashboard (uid bitborg-runners) is provisioned as code rather than living only as an API-created dashboard on the monitoring VM.

The monitoring role auto-globs bitborg-*.json (query('fileglob','bitborg-*.json')) and serves them via a Grafana file provider, so this file is picked up automatically. Deploy with:

pnpm ansible --tags dashboards

Details

  • 12 panels preserved verbatim from the live dashboard: runner-controller stat tiles (active VMs, queued jobs, last reconcile loop, last-loop age, Cinder volume quota), an on-call alerts note, timeseries (runners vs demand, Cinder used vs quota, events per cycle), a reconcile-loop state timeline, and two runner-controller Loki log panels.
  • Datasources parameterised via ${DS_VICTORIAMETRICS} / ${DS_LOKI} template vars — copied verbatim from bitborg-overview.json — instead of hardcoded datasource UIDs, matching every other bitborg-*.json dashboard. Zero raw datasource UIDs remain in the file.
  • uid set to the readable bitborg-runners (like bitborg-overview), not the random API uid. Grafana wrapper fields (id, version, weekStart, fiscalYearStartMonth, links, timepicker) dropped.
  • Visualises the runner-controller metrics + logs (ADR 0021), tracking #78.

Follow-up

The transient API-created dashboard (uid aa433a50-c056-4f2f-ac0e-c329d3f68b3f) should be deleted once this provisioned dashboard (uid bitborg-runners) has been applied, to avoid a duplicate "bitborg CI runners — health" entry.

## What Adds `ansible/roles/monitoring/files/bitborg-runners.json` so the **"bitborg CI runners — health"** dashboard (uid `bitborg-runners`) is **provisioned as code** rather than living only as an API-created dashboard on the monitoring VM. The monitoring role auto-globs `bitborg-*.json` (`query('fileglob','bitborg-*.json')`) and serves them via a Grafana file provider, so this file is picked up automatically. Deploy with: ```bash pnpm ansible --tags dashboards ``` ## Details - **12 panels** preserved verbatim from the live dashboard: runner-controller stat tiles (active VMs, queued jobs, last reconcile loop, last-loop age, Cinder volume quota), an on-call alerts note, timeseries (runners vs demand, Cinder used vs quota, events per cycle), a reconcile-loop state timeline, and two `runner-controller` Loki log panels. - **Datasources parameterised** via `${DS_VICTORIAMETRICS}` / `${DS_LOKI}` template vars — copied verbatim from `bitborg-overview.json` — instead of hardcoded datasource UIDs, matching every other `bitborg-*.json` dashboard. Zero raw datasource UIDs remain in the file. - `uid` set to the readable `bitborg-runners` (like `bitborg-overview`), not the random API uid. Grafana wrapper fields (`id`, `version`, `weekStart`, `fiscalYearStartMonth`, `links`, `timepicker`) dropped. - Visualises the **runner-controller** metrics + logs (ADR 0021), tracking #78. ## Follow-up The transient API-created dashboard (uid `aa433a50-c056-4f2f-ac0e-c329d3f68b3f`) should be **deleted** once this provisioned dashboard (uid `bitborg-runners`) has been applied, to avoid a duplicate "bitborg CI runners — health" entry.
supernaut lade till 1 incheckning 2026-07-21 06:30:44 +00:00
feat(monitoring): provision runner-health dashboard as code
Alla kontroller lyckades
ci / ci (pull_request) Successful in 1m31s
b6a749ae0f
Add ansible/roles/monitoring/files/gitborg-runners.json so the 'gitborg CI runners — health' dashboard is provisioned as code (auto-globbed by the Grafana file provider) instead of living only as an API-created dashboard.

Datasource UIDs are parameterised via ${DS_VICTORIAMETRICS} / ${DS_LOKI} template vars, matching the other gitborg-*.json dashboards. Visualises the runner-controller metrics + logs (#78).
supernaut sammanfogade incheckning e642341864 till main 2026-07-21 06:35:23 +00:00
supernaut tog bort grenen feat/monitoring-runners-dashboard 2026-07-21 06:35:23 +00:00
Logga in för att delta i denna konversation.
Inga granskare
Ingen milstolpe
Inget projekt
Inga tilldelade
1 deltagare
Notiser
Förfallodatum
Förfallodatumet är ogiltigt eller utanför gränserna. Använd formatet "åååå-mm-dd".

Inget förfallodatum satt.

Beroenden

Inga beroenden satta

Referens
bitborg/bitborg-infra!180
Ingen beskrivning angiven.