feat(grafana): provision disk alerts to ntfy

Provision Grafana Unified Alerting as code: ntfy webhook contact point
(?template=grafana), notification policy tree, and cumulative disk tiers
for HDD temperature (48-60C, <20C) plus ZFS/filesystem capacity. Lower the
smartctl exporter interval to 30m for alert responsiveness.
This commit is contained in:
Clément Désiles
2026-09-18 18:32:02 +02:00
parent c127336321
commit be73f3adfa
8 changed files with 887 additions and 2 deletions
+21 -1
View File
@@ -11,7 +11,7 @@ See [defaults/main.yml](defaults/main.yml).
Gated by `smartctl_exporter_enabled`. When true, downloads and runs the
`smartctl_exporter` static binary as a root systemd service, polling `smartctl`
at `smartctl_exporter_interval` (default `1h`).
at `smartctl_exporter_interval` (default `30m`).
```yaml
smartctl_exporter_enabled: true
@@ -27,3 +27,23 @@ prometheus_scrape_configs:
labels:
instance: andromeda
```
### Temperature alerts
The `grafana` role provisions cumulative temperature thresholds: a rise fires
each newly crossed threshold (lower tiers keep firing), a fall resolves each
crossed-down threshold (ack), and the final ack fires when leaving the lowest
tier.
| Threshold | `severity` | `for` |
|-----------|-----------|-------|
| ≥48°C | warning | 10m |
| ≥50°C | warning | 10m |
| ≥52°C | warning | 10m |
| ≥54°C | high | 10m |
| ≥56°C | high | 10m |
| ≥58°C | critical | 10m |
| ≥60°C | critical | 5m |
| <20°C | warning | 10m |
Responsiveness is bounded by `smartctl_exporter_interval` (default `30m`).
+1 -1
View File
@@ -7,4 +7,4 @@ smartctl_exporter_version: "0.14.0"
smartctl_exporter_listen_address: "127.0.0.1:9633"
smartctl_exporter_binary_dir: "/usr/local/bin"
smartctl_exporter_smartctl_path: "/usr/sbin/smartctl"
smartctl_exporter_interval: "1h"
smartctl_exporter_interval: "30m"