[infra] Combler les angles morts de la supervision : tâches non instrumentées, sondes non affichées, front non sondé #228
Labels
No labels
Compat/Breaking
EC01
EC02
EC03
EC04
EC05
EC06
Kind/BDD
Kind/Back
Kind/Bug
Kind/CICD
Kind/Cloud
Kind/Contenu
Kind/Data
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Front
Kind/IA
Kind/Infra
Kind/Monitoring
Kind/Security
Kind/Testing
Portée/Post-jury
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
ops/alerte
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
g2/enervision#228
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Exigence couverte
ENF-08
Épreuve servie
EC03 · CI/CD et qualité
Charge estimée
0,5 j.h
Ce qu'on veut obtenir
La supervision est verte de bout en bout, et c'est le problème : elle est verte
sur ce qu'elle regarde, pas sur ce qui peut casser. Relevé sur la production le
09/09 :
collecte-current.shécrit un.prom. Si l'ETL argent, l'ETL or, lechargement PostgreSQL, la prévision ou les recommandations s'arrêtent, rien
ne le dit.
probe_*sont collectées et affichées dans aucunpanneau. La disponibilité et la latence de l'API, de la forge et de
Grafana sont invisibles.
écoute directe : elles resteraient vertes avec un Caddy arrêté, un vhost mal
routé ou un
/srv/www/appvide — les trois cas où plus personne ne peutouvrir l'application. MLflow et MinIO ne sont pas sondés non plus.
prevision,recommandation,alerteetqualite_journ'ont aucun panneau.Critères d'acceptation
dernière tentative, dernière réussite et code de retour.
chaque sonde, l'âge des sauvegardes et les alertes en cours.
sonde en échec se voit dans le tableau de bord.
panneau de fraîcheur et de volume.
une le retard de la chaîne ETL, une le retard de la prévision.
127.0.0.1après le changement.Comment on le vérifie
Commande arrêter un conteneur sondé (
docker stop ev-mlflow), attendre deux passesAttendu la sonde passe à zéro dans le tableau de bord, l'alerte correspondante s'arme
Preuve capture du tableau de bord disponibilité, sonde rouge et horodatée
Commande
curl -s 127.0.0.1:9090/api/v1/targets | grep -c '"health":"up"'Attendu onze cibles au lieu de neuf
Preuve la sortie de la commande
Manuel d'exploitation à mettre à jour
docs/runbooks/supervision.md — tableau des sondes, tableau des alertes, et la
marche à suivre quand une tâche d'exploitation cesse de publier sa métrique.
Hors de ce ticket
Trois trous restent ouverts et sont volontairement laissés de côté à deux jours
du jury, parce que leur correctif touche l'API ou le Caddy de la forge :
/metrics) : ni taux d'erreur5xx ni latence par route, donc l'ENF-04 n'est mesuré en continu nulle part.
Le correctif demande une dépendance de plus (réinstallation du venv au
déploiement) et une règle Caddy pour ne pas exposer la route publiquement ;
/var/log/enervision,lus à la main ;
À reprendre en
Portée/Post-jury.Risque et retour arrière
Le rechargement de Prometheus et le redémarrage de blackbox sont sans effet sur
les services supervisés. Les tableaux de bord sont provisionnés en lecture
seule : un JSON invalide est refusé au chargement, il ne casse pas les autres.
Le point sensible est l'ajout de la publication de métriques dans les six
scripts d'exploitation : la publication est faite APRÈS la capture du code de
retour et n'en change pas la valeur, et l'échec de la publication est avalé
(
|| true) — une tâche ne peut donc pas échouer à cause de sa supervision.Retour arrière :
git revertde la PR puis redéploiement--tags app,proxy.