[infra] La supervision voit que l'ETL tourne, pas ce qu'il transforme #244
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#244
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 (Observabilité)
Épreuve servie : EC05 · Data, ETL et BI
Ce qu'on veut obtenir
Le #228 a instrumenté les sept tâches planifiées : on sait qu'une passe a tourné, quand, combien de temps, et avec quel code. Ce qu'on ne sait toujours pas, c'est ce qu'elle a fait — une passe argent qui rend 0 en n'écrivant rien ressemble en supervision à une passe qui a traité 5 040 lignes.
Deux conséquences concrètes : une journée refusée par
verifier_taux_de_trous(TauxDeTrousAnormal) sort proprement et reste invisible ; et quand la chaîne décroche, le tableau de bordchaine-donneemontre la zone or en retard sans dire lequel des trois maillons — argent, or, chargement — a lâché. Le diagnostic se fait aujourd'hui entailsur/var/log/enervision/silver.log.Grafana ne peut pas aller chercher ces volumes : l'argent et l'or vivent dans DuckDB et MinIO, que Grafana ne lit jamais (§ 7 de
docs/EXIGENCES-collectives.md). Ils doivent donc être publiés par les passes elles-mêmes, par le mécanisme textfile déjà en place dansbin/_metriques-ops.sh.Critères d'acceptation
ev_etl_*relevée par node-exporter, le jour traité et le nombre de lignes écrites.etlprovisionné montre, pour les trois passes : dernière réussite, durée, lignes écrites, et le retard de chaque zone. On y lit lequel des trois maillons s'est arrêté, sans requête manuelle.tests/ci/test-supervision.shéchoue si le tableau de bord est absent, non provisionné, ou s'il référence une source de données non déclarée.Comment on le vérifie
Et sur le serveur, après une passe au quart d'heure :
Preuve à joindre : la sortie du
grep, et une capture du tableau de bordetlpendant que la zone or est volontairement en retard d'un quart d'heure.Manuel d'exploitation à mettre à jour
docs/runbooks/supervision.md(§ métriques déposées en fichier, tableau des tableaux de bord) etdocs/runbooks/etl.md(§ « la passe n'a rien écrit : refus ou panne »).Risque et retour arrière
node-exporter concatène tout le répertoire textfile : deux fichiers déclarant le même couple nom de métrique + étiquettes font échouer la collecte entière, donc emportent aussi les métriques des six autres tâches. Un fichier par passe, étiquette
zone, lignes HELP et TYPE écrites à un seul endroit — c'est la règle déjà tenue parbin/_metriques-ops.sh, à ne pas contourner.Retour arrière : retirer le tableau de bord et les fichiers
ev_etl_*.prom. Aucune alerte ni aucun autre tableau ne dépend de ces séries.