Etude de cas — Observabilite
Superviser 7 flux d'integration hybrides (Windows + Azure) avec Prometheus, Grafana et Log Analytics
Comment j'ai cartographie, instrumente et reuni dans un tableau de bord unique les flux d'integration d'un organisme de formation professionnelle multi-sites — sans modifier leur logique metier.
- 7
- flux supervises en un coup d'oeil
- ~1 000
- profils synchronises chaque jour vers SharePoint
- 2
- chaines de collecte reunies dans un seul dashboard
- ~40
- panels Grafana generes et valides par script
Le contexte
Un organisme de formation professionnelle multi-sites fait vivre son SI par une serie de flux d'integration : provisionnement automatique des comptes des formateurs vacataires (CDDU) depuis le SIRH vers Entra ID et Exchange Online, synchronisation d'attributs vers les profils SharePoint (~1 000 comptes/jour), nettoyage reglementaire de listes de diffusion, purge de calendriers de diffusion, et echanges de fichiers securises avec l'ERP metier de gestion de formation via des runbooks Azure Automation qui ouvrent et ferment un acces SFTP sur une fenetre nocturne.
Probleme : ces flux tournaient sans supervision centralisee. L'objectif du projet etait de les cartographier, les instrumenter et les reunir dans un tableau de bord unique.
La demarche
- 01
Cartographie
J'ai inventorie les taches planifiees Windows avec un script PowerShell d'export (declencheurs, actions, scripts associes) et les ressources Azure sur deux tenants via Azure CLI / Cloud Shell (Logic Apps, Data Factory, Azure Automation), puis lu le code de chaque flux. Livrable : un document de cartographie complet pour la DSI — sources, destinations, planification, ecritures reelles, points de securite.
- 02
Instrumentation
J'ai ajoute un bloc de metriques standardise dans chaque script PowerShell (succes, duree, horodatage, compteurs metier), pousse vers un Pushgateway Prometheus en fin d'execution — y compris sur les sorties en erreur. L'envoi est non bloquant : la logique metier des scripts reste inchangee et un incident de supervision ne peut jamais bloquer un flux.
- 03
Double chaine de supervision
Les runbooks Azure Automation s'executent dans le sandbox cloud Microsoft, sans route reseau vers le Pushgateway prive. Plutot que d'exposer le Pushgateway ou de deployer un Hybrid Worker, j'ai exporte les journaux de jobs via diagnostic settings vers un workspace Log Analytics, interroge en KQL par Grafana (datasource Azure Monitor, service principal dedie en lecture seule, role Monitoring Reader).
- 04
Dashboard unique
Le dashboard Grafana est genere par script Python, avec une grille validee automatiquement (zero chevauchement, IDs uniques) : environ 40 panels, une vue d'ensemble rouge/vert des 7 flux, une section detaillee par flux et des tables KQL pour les runbooks Azure. Il est regenerable et versionnable — maintenu « as code ».
L'architecture
Les resultats
- 7 flux supervises en un coup d'oeil : statut, duree, compteurs metier, fraicheur de derniere execution
- Environ 1 000 profils synchronises chaque jour vers SharePoint
- Deux chaines de collecte (Prometheus on-premise + Log Analytics cote Azure) reunies dans un seul dashboard
- Dashboard maintenu « as code » : regenerable, versionnable, valide automatiquement
- Instrumentation non intrusive : logique metier des scripts inchangee, envoi de metriques non bloquant
Competences mises en oeuvre
- Grafana (dashboards as code)
- Prometheus / Pushgateway
- Azure Monitor / Log Analytics
- KQL
- Azure Automation
- Azure CLI / Cloud Shell
- Microsoft Graph (SDK + REST)
- Exchange Online
- Entra ID (B2B, service principals, RBAC)
- PowerShell 5.1
- SharePoint (PnP)
- Observabilite / SRE
- Documentation DSI
Des flux a superviser dans votre SI ?
Cartographie, instrumentation, dashboards as code : parlons de votre contexte.


