Backup-verificatie
Een backup-job die “geslaagd” meldt maar al drie weken niets nieuws wegschrijft, valt niemand op tot je hem nodig hebt. Met een backup-watch vertel je monsys waar de backup terechtkomt; de agent controleert dan zelf of daar recent iets is bijgekomen.
Hoe het werkt
Section titled “Hoe het werkt”- Je registreert per agent een pad: een map (bv.
/var/backups/borg) of een bestand (bv./srv/dumps/db.sql.gz). - De hub geeft de watch-lijst mee in de eerstvolgende ingest-response; er is geen aparte agent-configuratie nodig.
- De agent doet elke 30 minuten een
statover het pad en zoekt het nieuwste bestand (tot 8 mappen diep, max. 200 000 entries). Hij opent nooit de bestanden zelf: een watch op een versleutelde borg- of restic-repository werkt zonder leesrechten op de archiefinhoud. - De agent rapporteert
newest_mtime, grootte en bestandsnaam alsbackup_status-payload. - De hub vergelijkt de leeftijd met de ingestelde max_age_hours en alerteert wanneer de backup stale is.
Watch aanmaken
Section titled “Watch aanmaken”Agent-detailpagina → sectie Backups → + Watch:
| Veld | Betekenis |
|---|---|
| Pad | absoluut pad op de host |
| Label | vrije naam, verschijnt in alerts (leeg = het pad) |
| Max. leeftijd (uren) | 1 tot 8760; standaard 26 — net meer dan een dagelijkse job |
Editor-rol vereist; elke mutatie staat in het audit log. De API is
GET/POST /api/v1/backup-watches, PUT/DELETE /api/v1/backup-watches/<id>.
Alerts
Section titled “Alerts”De hub-worker loopt elk uur over alle watches:
| Situatie | Alert |
|---|---|
| leeftijd > max_age | warning — Backup stale: |
| leeftijd > 2 × max_age | critical — zelfde titel, hogere severity |
| pad onbereikbaar / fout op de agent | warning — Backup check failed: |
Alerts worden gededupliceerd op titel: één open alert per watch, geen herhaling elk uur. Ze volgen de gewone alert-pijplijn (ntfy, mail, webhook, on-call).
Compliance-bewijs
Section titled “Compliance-bewijs”Migratie 133 voegt de control ISO27001-A.8.13-backup toe. Het bewijs-query telt watches waarvan de laatste backup binnen de max-leeftijd valt; dat cijfer landt automatisch in audit packs en in het compliance-overzicht. Geen watches = geen bewijs.
Beperkingen
Section titled “Beperkingen”- De check is mtime-gebaseerd: een job die een leeg of corrupt bestand aanmaakt, telt als “vers”. Combineer met restore-tests.
- Netwerkshares moeten gemount zijn op de host waar de agent draait.
- Agents ouder dan de versie van sessie 18 negeren de watch-lijst; de
hub toont dan
last_checked_atleeg.