sorbandClaude Opus 4.8 e0808bad90 fix(alerts): a missing series must not silence the backup alerts
Verification on CFGMON showed RestoreDrillStale could never fire: restore-drill
has no last_schedule_time series until its first scheduled run (a manually
triggered job does not set it), and an expression over a missing series yields
nothing. BackupNotRunning shares the flaw — deleting a CronJob removes the very
series the alert reads, so it goes quiet instead of firing.

Fall back to kube_cronjob_created, but aggregate with max by(namespace, cronjob):
'or' matches including __name__, so a bare fallback would return BOTH series and
the never-updating created timestamp would fire permanently once the window
elapsed. Add BackupCronJobMissing so a vanished CronJob is itself the alert.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-14 12:00:00 +00:00
2026-08-02 14:46:04 +02:00

threadnet-operating

Der Betriebs-/Monitoring-Stack für den Operating-Host CFGMON: Prometheus, Loki, Grafana, Alloy, Alertmanager und der CVE-Exporter — vollständig als Code, ein docker compose up -d stellt ihn auf einem frischen Host wieder her.

monitoring/README.md ist die eigentliche Betriebsanleitung (Deployment, Config-Fallen, Alerting, CVE-Pipeline).

Wo was liegt

Pfad Inhalt
monitoring/ der Stack: Compose, Prometheus, Loki, Grafana, Alertmanager, Alloy
monitoring/cve/ CVE-Exporter (Trivy-Scan → Prometheus-Metriken), ADR-0003
monitoring/grafana/ Datasources und Dashboards als Code

Offene Punkte

Kein Backlog in diesem Repo. Offene Punkte sind Issues im management-Projekt (ADR-0005) — sie betreffen meist mehrere Hosts, eine Liste je Repo würde auseinanderlaufen. Für diesen Stack einschlägig sind unter anderem #8 Remote-Write und Loki ohne Auth, #9 Grafana-Credentials und #10 Gitea-Backups off-host; Bestand und Historie zum Host stehen in hosts/cfgmon.md.

Kanonisch ist git.lab (ADR-0001, ADR-0002). Von außerhalb des Labs ist derselbe Stand über den Push-Mirror sorb/management lesbar — dorthin aber nie pushen, der Mirror überschreibt.

S
Description
No description provided
Readme
236 KiB
Languages
Python 94.2%
Shell 5.8%