Microsoft 365
Microsoft 365 via Microsoft Graph : services dégradés ou interrompus, incidents et avis en cours, licences bientôt épuisées et utilisateurs signalés à risque.
DumbMonit se connecte comme une application Entra (flux « client
credentials ») : il échange l’ID client et le secret de l’application contre
un jeton d’une heure sur login.microsoftonline.com, le garde jusqu’à son
expiration, et lit graph.microsoft.com une fois par minute. Chaque appel
est une lecture ; l’application ne détient que des droits de lecture.
C’est une API Internet : l’adresse de la surveillance est celle de l’API
(graph.microsoft.com), pas celle d’une machine, et rien dans votre réseau
n’est contacté.
Ports réseau à ouvrir
Section intitulée « Ports réseau à ouvrir »Du serveur DumbMonit (ou de son agent relais) vers l’équipement :
| Port | Protocole | Usage |
|---|---|---|
| 443 | TCP | API Microsoft Graph (HTTPS, graph.microsoft.com) |
| 443 | TCP | Connexion Microsoft, demande de jeton (HTTPS, login.microsoftonline.com) |
Ce qu’il surveille
Section intitulée « Ce qu’il surveille »Toutes les métriques sont préfixées dumbmonit_m365_.
| Métrique | Labels | Signification |
|---|---|---|
service_ok | service | 1 tant que le service est dans un état sain (opérationnel, rétabli, résolu, atténué), 0 sinon. |
services, services_degraded | Services listés, et combien ne sont pas sains. | |
incidents_active, advisories_active | Problèmes de service non résolus, par classification. | |
service_issues | service, classification | Problèmes non résolus par service (incident ou advisory). |
license_used_percent | sku | Unités attribuées sur unités achetées, en pourcentage. |
license_consumed, license_enabled, license_available | sku | Unités attribuées, achetées et restantes. |
licenses_exhausted | Nombre de licences payantes dont toutes les unités sont attribuées. | |
risky_users, risky_users_high | Utilisateurs à risque, et ceux à risque élevé. | |
signin_failures_1h | Échecs de connexion de la dernière heure (100 au plus) ; seulement quand les utilisateurs à risque sont illisibles. | |
issues_readable, licenses_readable, risky_readable, signins_readable | 1 quand cette lecture est autorisée, 0 quand Microsoft l’a refusée. |
Les licences gratuites ou d’essai (Power BI gratuit, Power Automate gratuit, Windows Store…) et celles sans unité achetée sont ignorées : leur jauge ne veut rien dire.
Seule la santé des services est obligatoire. Si votre locataire n’a pas de
licence Entra ID P2, la lecture des utilisateurs à risque est refusée :
risky_readable vaut 0, DumbMonit compte à la place les échecs de connexion
de la dernière heure (Entra ID P1 et AuditLog.Read.All), et si cela est
refusé aussi la sonde réussit quand même sans donnée de risque.
Les règles intégrées qui s’appliquent :
- Service Microsoft 365 dégradé : un service est dégradé, interrompu ou à l’étude depuis 10 minutes (Avis, rappelé toutes les 6 heures).
- Licences Microsoft 365 épuisées : toutes les unités d’une licence payante sont attribuées (Avis, rappelé chaque jour).
- Licences Microsoft 365 presque épuisées : plus de 95 % d’une licence payante est attribuée (Info, rappelé chaque semaine).
- Utilisateurs Microsoft 365 à risque : au moins un utilisateur est signalé à risque (Avis, rappelé chaque jour).
La page de la surveillance
Section intitulée « La page de la surveillance »Le panneau Microsoft 365 dit ce qui ne va pas en une phrase, montre les services dégradés, les incidents en cours, les licences épuisées et les utilisateurs à risque, puis liste les services avec leur état, les incidents en cours et les licences avec leur utilisation.
Créer une application Entra en lecture seule pour DumbMonit
Section intitulée « Créer une application Entra en lecture seule pour DumbMonit »-
Dans le centre d’administration Microsoft Entra (entra.microsoft.com), ouvrez Entra ID → App registrations → New registration, nommez-la DumbMonit, gardez un seul locataire et enregistrez-la.
-
Sur la page Overview, copiez l’Application (client) ID et le Directory (tenant) ID.
-
Ouvrez API permissions → Add a permission → Microsoft Graph → Application permissions, ajoutez les droits listés ci-dessous, puis cliquez sur Grant admin consent.
-
Ouvrez Certificates & secrets → New client secret et copiez sa Value (pas le Secret ID) : elle n’est affichée qu’une fois et le secret expire, notez donc la date.
-
Dans DumbMonit, saisissez graph.microsoft.com comme adresse, collez l’ID client et la valeur du secret, et renseignez l’option Tenant ID.
Droits requis
Section intitulée « Droits requis »Ajoutez-les comme permissions d’application (pas déléguées), puis accordez le consentement administrateur.
- ServiceHealth.Read.All — Lit la santé de chaque service et ses incidents en cours (obligatoire).
- LicenseAssignment.Read.All — Lit le nombre de licences achetées et attribuées par SKU (facultatif).
- IdentityRiskyUser.Read.All — Lit les utilisateurs signalés à risque ; demande Entra ID P2 (facultatif).
- AuditLog.Read.All — Compte les échecs de connexion quand le risque est illisible ; demande Entra ID P1 (facultatif).
Documentation de l’éditeur : https://learn.microsoft.com/en-us/graph/api/serviceannouncement-list-healthoverviews
Le secret client expire (24 mois au plus). Quand c’est le cas, DumbMonit affiche « Microsoft refused the application » : créez un nouveau secret et collez sa valeur. Ajoutez l’intégration Microsoft Entra ID pour être prévenu avant.
Identifiants
Section intitulée « Identifiants »| Identifiant | Champs |
|---|---|
| Application Entra | Application (client) ID et Value du secret client. |
Adresse : graph.microsoft.com. Options :
- Tenant ID (obligatoire) : le Directory (tenant) ID, un GUID, ou un nom de domaine vérifié.
- Sign-in URL :
https://login.microsoftonline.compar défaut. Ne le changez que pour un cloud souverain (par exemplehttps://login.microsoftonline.us, avecgraph.microsoft.uscomme adresse). - Délai par requête (secondes) (15 s).
Dépannage
Section intitulée « Dépannage »« Microsoft refused the application » : l’ID client ou le secret est incorrect, ou le secret a expiré. Copiez la Value du secret, pas son ID.
« Microsoft knows no tenant » : le Tenant ID est incorrect ; copiez le Directory (tenant) ID de l’inscription d’application.
« Microsoft Graph refused … (403): grant the application the ServiceHealth.Read.All application permission » : ajoutez ce droit et cliquez sur Grant admin consent ; l’application peut prendre quelques minutes.
risky_readable reste à 0 : le locataire n’a pas de licence Entra ID P2, ou
IdentityRiskyUser.Read.All n’a pas été accordé. Rien n’est cassé.
Aucune licence listée : LicenseAssignment.Read.All manque
(licenses_readable vaut 0), ou toutes les licences du locataire sont
gratuites.