infra : tableau de bord Grafana chaîne-donnée (#112) #183
No reviewers
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
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
g2/enervision!183
Loading…
Reference in a new issue
No description provided.
Delete branch "gabriel/112-dashboard-chaine-donnee"
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?
Ajoute le tableau de bord
chaine-donneedu #112 : fraîcheur par site, volume ingéré par heure, complétude par site, répartition par régime d'imputation. Tout est en SQL sur la sourcepostgres-metier(tablemesure/site, zone or), maintenant que #33/#34/#35 sont closes.Vérifié en local (
infra/compose/supervision/local) avec des données fraîches — les 4 panneaux rendent des valeurs, aucunNo data.Hors de ce PR (dépendances non livrées) :
modele: attend #36 et #37sauvegardes: attend #71 ; et l'alerte #172 montre que même la partie déjà livrée (âge/état du dernier vidage) ne remonte aucune métrique côté serveur pour l'instantGRANT pg_monitor: déjà appliqué en prod via une tâche Ansible (roles/app/tasks/main.yml), pas via une migrationdb/migrations/comme le demande le critère d'acceptation du #112 — à trancher séparémenttests/ci/test-supervision.shétendu pour couvrir ce tableau de bord.Approuvée. J'ai éprouvé les quatre requêtes contre
enervision_prod, avec ses 618 240 lignes demesure, plutôt que sur le jeu local :Aucune ne rend
No data, l'uidpostgres-metiercorrespond bien à la source provisionnée, et le rôlegrafanaa le SELECT surmesureet sursite— vérifié parhas_table_privilege, pas déduit.Un seul point, et je l'ai corrigé plutôt que de te le renvoyer
Le panneau s'intitulait « Volume ingéré par heure (zone bronze) » et interroge
public.mesure, qui est la zone or (0007_zone_or_mesure.sql). Le corps de ta demande dit d'ailleurs « zone or » : c'est le titre qui se trompe.La zone bronze, ce sont les objets JSON de MinIO, que rien ici ne lit. Sur une épreuve dont le médaillon est le sujet, un jury qui demande à voir la zone bronze et à qui on montre une requête PostgreSQL, c'est un mauvais moment pour rien. Poussé dans
b7dbbae, le titre dit maintenant ce que le panneau mesure.Ce que je ne bloque pas
« Fraîcheur par site » est le seul panneau sans borne temporelle :
LEFT JOIN mesurepuismax(horodatage)par site, donc il balaie l'hypertable entière. 669 ms aujourd'hui, et la table grossit de 10 000 lignes par jour. Ça tient largement jusqu'au 11, et je ne demande pas de le changer maintenant. Si tu veux le border un jour, unWHERE m.horodatage > now() - interval '48 hours'suffit, avec unNULLS FIRSTpour garder visible un site qui n'aurait rien envoyé depuis plus longtemps.Tes trois exclusions sont justes et bien nommées, en particulier celle des sauvegardes : le #172 est fermé côté correctif, mais la métrique ne remontera qu'une fois la #178 fusionnée.
Le
GRANT pg_monitorposé par Ansible plutôt que par une migration mérite effectivement d'être tranché à part, pas ici.