feat(monitoring): add backup and systemd metrics, alerts, and dashboards

- backup role emits last-success/run metrics into node_exporter's textfile collector
- node_exporter enables systemd and textfile collectors
- prometheus deploys BackupStale/BackupTimerSilent/SystemdUnitFailed alert rules
- grafana gains Backups - Restic and Systemd dashboards
- fix prometheus.yml params rendering (quote values so {job=...} stays a string)
This commit is contained in:
Clément Désiles
2026-09-09 12:07:50 +02:00
parent 8756eb1183
commit f6c4d36bbe
16 changed files with 335 additions and 7 deletions
+13
View File
@@ -21,6 +21,19 @@ Keep localhost-only — Prometheus scrapes it locally on the same host. To add
collectors (e.g. `--collector.systemd`, `--collector.textfile.directory`), extend
`node_exporter_listen_address` or override the args in host_vars.
## Collectors
The role enables, on top of the defaults:
- `--collector.zfs` — ZFS pool/dataset metrics.
- `--collector.systemd` — unit state (`node_systemd_unit_state`), restart
counts (`node_systemd_restart_count_total`) and timer trigger times
(`node_systemd_timer_last_trigger_seconds` / `..._next_trigger_seconds`).
Powers the systemd dashboard (failed units, timers that stopped firing).
- `--collector.textfile.directory={{ node_exporter_textfile_dir }}` — re-exposes
`*.prom` files dropped into that directory. The backup role writes
`backup_*` metrics there; other cron/timer jobs can do the same.
## Pairing with Prometheus
```yaml