sonde disque : declaree et posee par client_sante, P64 conforme

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Daniel Allaire 2026-09-28 16:51:38 -04:00
parent 40b38467e8
commit 22fffdbb6f
4 changed files with 40 additions and 9 deletions

View file

@ -1,5 +1,28 @@
# CHANGELOG — Set-OPS
## 2026-09-28 (17) — La sonde « disque » : espace et inodes, sur les 35 machines
**Le trou.** Seuls le cache apt et les dépôts de sauvegarde avaient une sonde d'espace.
Rien ne regardait le disque de la base, des boîtes, de Nextcloud, ni de Loki qui grossit
chaque jour ; Prometheus collecte l'occupation, mais aucune règle n'en fait une alerte.
Un disque plein aurait arrêté la base ou le courriel sans prévenir.
**La sonde.** Pour chaque système de fichiers réel (pas `tmpfs`, `overlay`…), l'espace ET
les inodes — une file de petits fichiers épuise les inodes avec la moitié de l'espace
libre, et l'erreur parle alors d'un disque « plein » qu'un `df` dit à moitié vide. Seuils
80 / 90 % (`client_sante_disque_avert` / `_crit`) ; relevé du jour : au plus 22 % d'espace
et 7 % d'inodes. Une ligne, le pire système de fichiers, les métriques de tous.
**Où elle vit, et pourquoi.** Déclarée ET posée par `client_sante`, dont le groupe est
exactement « tout hôte qui rapporte ». Pas par `common_packages`, qui porte `correctifs` :
il fait un `upgrade: full` à chaque passage, et poser un script aurait mis à jour toute la
flotte. Une première version la déclarait dans `serveur_debian` : P64 l'a refusée — il
suit le playbook du groupe déclarant pour trouver le dépôt, et `client_sante` n'y est pas.
La garde avait raison ; la déclaration a suivi le rôle qui dépose.
Déployé (Icinga d'abord, pour que les premiers rapports aient un destinataire) :
35 services `disque`, tous alimentés et OK — 13, 13 et 9. `make verifier` : CONFORME.
## 2026-09-28 (16) — La procédure d'activation du pare-feu Proxmox entre au dépôt
`scripts/eprouver_parefeu.py`, par `make proxmox-fw-eprouver TENANT= HOTE=` (aucune écriture)

View file

@ -0,0 +1,16 @@
---
# Supervision derivee du role. Voir docs/supervision-conception.md.
#
# `client_sante` EXECUTE les sondes de tous les roles ; il en DECLARE une a lui (2026-09-28).
#
# « disque » vaut pour tout hote qui rapporte — exactement le groupe de ce role. Elle est
# declaree ICI, et non par `serveur_debian` comme `correctifs` : la poser par
# `common_packages` aurait impose un `upgrade: full` de toute la flotte pour deposer un
# script, et P64 veut, a juste titre, que la declaration suive le role qui depose.
sondes:
- nom: disque
ttl: 5400
raison: >-
Reste-t-il de la place, et des inodes, sur chaque systeme de fichiers ? Seuls le
cache apt et les depots de sauvegarde etaient surveilles : un disque plein arretait
la base ou le courriel sans prevenir.

View file

@ -143,7 +143,7 @@
| select('sequence') | flatten | map(attribute='nom') | list }}
# LA SONDE « disque » EST POSEE ICI, PAS PAR `common_packages` (2026-09-28). Elle est
# DECLAREE par `serveur_debian` — tout hote la porte — comme `correctifs`. Mais
# DECLAREE par ce role (`meta/supervision.yml`) — tout hote qui rapporte la porte. Mais
# `common_packages` fait un `upgrade: full` a chaque passage : la poser par lui aurait
# impose une mise a jour de toute la flotte pour deposer un script. Ce role-ci execute
# deja les sondes, et se redeploie sans toucher au systeme.

View file

@ -26,14 +26,6 @@
# COMBIEN DE TEMPS. Le retard seul ne dit rien — c'est sa DUREE qui transforme un
# correctif publie en exposition acceptee.
sondes:
# POSEE PAR `client_sante` (voir ses taches) : la poser par `common_packages` aurait
# impose un `upgrade: full` de toute la flotte pour deposer un script.
- nom: disque
ttl: 5400
raison: >-
Reste-t-il de la place, et des inodes, sur chaque systeme de fichiers ? Seuls le
cache apt et les depots de sauvegarde etaient surveilles : un disque plein arretait
la base ou le courriel sans prevenir.
- nom: correctifs
ttl: 5400
raison: >-