Types de moniteurs
Un moniteur est un contrôle planifié exécuté par une sonde. Tous les types partagent le même squelette — nom, tags, sonde, planning, seuils, alerting — et ne diffèrent que par leur cible et par la façon dont leur résultat est évalué. Cette page est le catalogue : choisissez le type le plus léger qui prouve ce qui vous importe réellement.
Vue d’ensemble
| Type | Prouve que… | Métriques clés | Évalué sur | Bouton Test |
|---|---|---|---|---|
| EUM / Web UI | Un utilisateur réel peut mener un parcours à bien | Temps par étape, captures d’écran, vidéo, HAR | Durée totale + seuils par transaction | Exécution navigateur / headless |
| URL | Une page HTTP répond, vite et intacte | DNS, TCP, TLS, serveur, transfert, total, expiration du certificat | Temps de réponse + taille de page + groupes de motifs | ✅ |
| API | Un point d’accès REST répond avec la bonne charge utile | Code de statut, temps de réponse, valeurs capturées | Temps de réponse + groupes de motifs | ✅ |
| TCP | Un port accepte une connexion | Succès et temps de connexion | Temps de réponse | ✅ |
| UDP | Un point d’accès UDP répond | Succès et temps de connexion | Temps de réponse | ✅ |
| Ping | Un hôte est joignable en ICMP | Latence min / moy / max, gigue, perte de paquets | Temps de réponse + seuils de gigue | ✅ |
| DNS | Un nom se résout | Temps de résolution, adresses résolues | Temps de réponse | ✅ |
| Base de données | Une base accepte une vraie requête et renvoie des données saines | Temps de connexion + requête, jeu de résultats | Temps de requête + contrôles de colonnes | ✅ |
| SNMP | Un équipement remonte une valeur d’OID saine | Valeurs d’OID, deltas, résultats d’expression | Opérateur + seuils, ou regexp | ✅ |
| WMI | Un hôte Windows remonte une valeur WQL saine | Valeur renvoyée par la requête | Opérateur + seuils, ou regexp | ✅ |
| Système | La machine de la sonde est elle-même en bonne santé | CPU, mémoire, disque | Seuils par métrique | — |
Moniteur URL
Le contrôle synthétique de référence : une requête HTTP(S), entièrement instrumentée.
Ce qu’il mesure
Un moniteur URL ne se contente pas de chronométrer la requête, il la décompose :
| Métrique | Signification |
|---|---|
| Temps de résolution DNS | Durée de résolution du nom d’hôte |
| Temps de connexion TCP | Durée d’établissement de la socket |
| Temps de négociation TLS | Durée du handshake TLS, avec la version TLS négociée enregistrée |
| Temps de traitement serveur | Temps jusqu’au premier octet, une fois la requête émise |
| Temps de transfert du contenu | Durée de réception du corps |
| Temps de réponse total | La valeur évaluée face aux seuils Mineur / Majeur / Critique |
| Code de statut HTTP | Enregistré et validé |
| Taille du contenu | Taille du corps en octets |
| Expiration du certificat SSL | Enregistrée, avec alerte avant échéance |
Un moniteur URL lent est donc auto-diagnostiquant : un pic sur le DNS est un problème de résolveur, un pic sur le TLS un problème de handshake ou de chaîne de certificats, et un pic sur le traitement serveur, l’application.
Ce qu’il contrôle
Au-delà du temps de réponse, un moniteur URL évalue trois autres choses — chacune optionnelle, chacune produisant son propre statut :
- Le statut HTTP — tout ce qui sort des 2xx/3xx fait échouer le contrôle.
- La taille de page — définissez une taille de corps attendue et un opérateur de comparaison (
>/<). Pratique pour détecter une page tronquée ou une réponse « réussie » qui a soudain perdu la moitié de son contenu. - Les groupes de motifs — des contrôles par expression régulière sur le corps de la réponse. Voir Groupes de motifs plus bas.
Options de connectivité
| Option | À utiliser pour |
|---|---|
| Authentification Basic | Pages protégées par utilisateur / mot de passe |
| Certificat client + clé | Points d’accès en TLS mutuel |
| Ignorer la vérification du certificat | Points d’accès internes en certificat auto-signé |
| Proxy (HTTP/HTTPS, avec auth, ou URL PAC) | Sondes devant sortir par un proxy d’entreprise |
Configuration typique
| Champ | Exemple |
|---|---|
| Url | https://shop.example.com/ |
| Fréquence | 1 MIN |
| Mineur / Majeur / Critique | 1000 / 2000 / 3000 ms |
| Timeout | 5000 ms |
| Nb d’essais | 2 |
| Groupe de motifs | Ajouter au panier en correspondance de contenu |
Moniteur API
Un moniteur API est un moniteur URL avec un contrôle total de la requête, destiné aux points d’accès REST plutôt qu’aux pages.
La requête
| Champ | Description |
|---|---|
| Méthode | GET, POST, PUT, DELETE |
| Point d’accès | L’URL complète de l’API |
| En-têtes | Autant de paires nom/valeur que nécessaire — Authorization, Content-Type, en-têtes personnalisés |
| Corps | La charge utile envoyée avec POST / PUT |
| Auth Basic | Utilisateur / mot de passe |
| Certificat client + clé | Pour les API en TLS mutuel |
| Ignorer la vérification du certificat | Pour les points d’accès internes |
Le verdict
Un moniteur API est évalué sur :
- Le code de statut HTTP — un 5xx est un échec critique quel que soit le temps.
- Le temps de réponse face aux seuils Mineur / Majeur / Critique.
- Les groupes de motifs appliqués au corps de la réponse — c’est là qu’un moniteur API prend toute sa valeur. Plutôt que de prouver seulement que
/healtha répondu, vous extrayez les valeurs à l’intérieur de la réponse et vous les évaluez.
Identifiants
Ne codez jamais un jeton en dur dans un en-tête si vous pouvez l’éviter. Référencez une configuration d’identifiants ou récupérez le secret depuis un coffre-fort afin que la rotation se fasse en un seul endroit.
Groupes de motifs (URL & API)
Les moniteurs URL et API savent évaluer le contenu de la réponse, pas seulement son temps. Chaque groupe de motifs extrait une valeur avec une expression régulière et la confronte à ses propres seuils Mineur / Majeur / Critique. Le statut du moniteur est le plus grave de tous les groupes et du temps de réponse.
Deux modes
L’expression régulière d’un groupe fonctionne dans l’un des deux modes, choisi automatiquement selon qu’elle contient ou non un groupe de capture :
- Correspondance de contenu — sans
(groupe de capture). Un contrôle de présence : le corps doit contenir le motif. Sinon, le moniteur échoue. Ni opérateur, ni seuils. C’est la façon la moins chère d’attraper l’échec classique du « HTTP 200 avec une page d’erreur ». - Extraction de valeur — avec exactement un
(groupe de capture). Le texte capturé devient une valeur à évaluer avec un opérateur et des seuils ; il est tracé et conservé avec son propre historique.
Opérateurs
| Opérateur | La valeur capturée est signalée quand elle… |
|---|---|
number > / number < / number == |
est supérieure à / inférieure à / égale à la valeur du palier |
string == / string != |
est égale / n’est pas égale à la valeur du palier |
string contains / string not contains |
contient / ne contient pas la valeur du palier |
datetime older than |
s’analyse comme une date dont l'âge dépasse la valeur du palier (30s, 4m, 1h, 24h) |
Laissez un palier vide pour l’ignorer — un groupe peut ne définir qu’un seuil Critique. L'index de correspondance (idx) choisit quelle occurrence du motif lire : 1 la première, 2 le deuxième élément d’un champ répété ou d’un tableau JSON. Chaque ligne dispose d’un interrupteur d’activation : un groupe désactivé conserve ses réglages mais n’est pas évalué et n’enregistre aucun historique.
Exemple
Une API renvoyant {"status":"ok","queue":42,"updated":"2026-07-30T09:15:00Z"} peut être évaluée avec trois groupes :
| Nom | Expression régulière | Opérateur | Mineur | Majeur | Critique |
|---|---|---|---|---|---|
| status | "status":"([^"]*)" |
string != |
ok |
||
| profondeur de file | "queue"\s*:\s*(\d+) |
number > |
100 |
500 |
1000 |
| fraîcheur | "updated":"([^"]*)" |
datetime older than |
1h |
24h |
Pour le format de stockage, voir Configuration du moniteur → Groupes de motifs.
Moniteur base de données
Un moniteur de base de données se connecte, exécute une requête, et évalue à la fois le temps qu’elle a pris et ce qu’elle a renvoyé. C’est le seul type qui lit vos données, ce qui en fait l’outil adéquat pour les contrôles de fraîcheur de données et de fin de traitement qu’aucun contrôle réseau ne peut voir.
Moteurs pris en charge
| Moteur | Notes |
|---|---|
| MySQL | Remonte le temps d’attente, le temps de verrou et le temps CPU en plus de la durée de requête |
| Microsoft SQL Server | Remonte le temps écoulé et le temps worker |
| PostgreSQL | Remonte le temps écoulé et le temps de verrou |
| Oracle | Remonte le temps d’attente et le temps CPU |
Ces temps côté moteur apparaissent dans la sortie brute d’un test, ce qui permet de distinguer une requête lente (temps CPU/worker élevé) d’une requête en contention (temps de verrou élevé).
Champs de connexion
| Champ | Description |
|---|---|
| Type | mysql, mssql, postgres ou oracle |
| IP / Port | Adresse du serveur de base de données |
| Base | La base (ou le service) auquel se connecter |
| Utilisateur / Mot de passe | Le compte de supervision — en lecture seule, de préférence |
| Requête | Le SQL à exécuter |
| Timeout | Borne appliquée à la connexion + requête, de 1 s à 30 s |
Contrôles de colonnes — évaluer le jeu de résultats
Un moniteur de base de données ne s’arrête pas à « la requête a répondu ». Chaque contrôle de colonne prélève une valeur dans le jeu de résultats et l’évalue, exactement comme un groupe de motifs le fait pour URL/API. Le statut du moniteur est le plus grave de tous les contrôles et du temps de requête.
Chaque ligne de la grille Contrôles de colonnes comporte :
| Cellule | Signification |
|---|---|
| ☑ | Activer / désactiver le contrôle — un contrôle désactivé garde ses réglages mais n’est pas évalué |
| nom du contrôle | Sert de titre au panneau de graphique et de bucket d’historique |
| colonne | Quelle valeur lire (voir les sélecteurs ci-dessous) |
| ligne | Quelle ligne du résultat lire ; 1 est la première. Ordonnez-la dans votre SQL |
| opérateur | Comment la valeur est évaluée — laissez (presence) pour exiger seulement une valeur non NULL |
| mineur / majeur / critique | Seuil par palier ; un palier vide est ignoré |
Sélecteurs de colonne
| Sélecteur | Lit |
|---|---|
nom_de_colonne |
La colonne nommée, insensible à la casse |
#2 |
La deuxième colonne par position — à utiliser quand une jointure produit des noms de colonnes en double |
#rows |
Le nombre de lignes renvoyées, pas une cellule. Significatif même sur un résultat vide |
Opérateurs
La même liste que les groupes de motifs, plus une entrée vide (presence) qui exige simplement une valeur non NULL dans la cellule :
(presence) · number > · number < · number == · string == · string != · string contains · string not contains · datetime older than
Verdicts intégrés
Certaines issues sont évaluées pour vous sans le moindre seuil :
| Issue | Statut |
|---|---|
| La requête n’a renvoyé aucune ligne | CRITIQUE |
| La ligne demandée est au-delà de la fin du résultat | CRITIQUE |
| La cellule est NULL | CRITIQUE |
| Le nom de colonne n’existe pas, ou est ambigu à cause d’une jointure | ERREUR (corrigez le contrôle) |
La distinction compte : CRITIQUE est un verdict sur vos données, ERREUR signifie que le contrôle lui-même est mal configuré.
Exemples
| Objectif | Requête | Colonne | Ligne | Opérateur | Seuils |
|---|---|---|---|---|---|
| Fraîcheur ETL | SELECT MAX(loaded_at) AS loaded_at FROM facts |
loaded_at |
1 | datetime older than |
maj 4h, cri 6h |
| Croissance de la file d’erreurs | SELECT COUNT(*) AS n FROM dlq |
n |
1 | number > |
min 1, maj 50, cri 500 |
| Traitement terminé | SELECT status FROM jobs ORDER BY id DESC LIMIT 1 |
status |
1 | string != |
cri DONE |
| Réplica présent | SELECT * FROM replicas WHERE lag_s < 30 |
#rows |
— | number < |
cri 1 |
DATETIME, PostgreSQL timestamp without time zone), l’opérateur datetime older than doit savoir dans quel fuseau se trouve la valeur — le contrôle expose le champ supplémentaire pour cela. Une colonne portant un fuseau (timestamptz, datetimeoffset) n’a besoin de rien.
Moniteurs réseau
TCP et UDP
La preuve la plus légère possible qu’un service écoute : composer l’hôte et le port depuis la sonde, et enregistrer si la connexion a réussi et combien de temps elle a pris.
| Champ | Description |
|---|---|
| IP / nom d’hôte de destination | La cible |
| Port | Le port à composer |
| Timeout | Millisecondes avant abandon (par défaut 5000) |
Utilisez-les pour tout ce qui n’a pas de surface HTTP — ports de bases de données, brokers de messages, LDAP, SMTP — et comme premier tri quand un moniteur URL passe au rouge : si le TCP va bien et pas l’URL, le réseau n’est pas votre problème.
Ping
Requête/réponse d’écho ICMP. Elle répond à une autre question que le TCP : non pas « le service est-il debout » mais « l’hôte est-il joignable, et le chemin est-il sain ».
| Métrique | Signification |
|---|---|
| Latence min / moy / max | Temps d’aller-retour sur les paquets envoyés |
| gigue | Variation entre aller-retours successifs — évaluée face à ses propres seuils Mineur / Majeur / Critique |
| Paquets envoyés / reçus / perdus | Taux de perte de paquets |
La gigue et la perte sont ce qui rend le Ping utile à côté de tout le reste : elles transforment un vague « l’appli rame » en un problème réseau mesuré.
CAP_NET_RAW ou root. Accordez la capacité au binaire de la sonde plutôt que d’exécuter toute la sonde en root.
DNS
Résoudre un nom depuis la sonde et mesurer la durée. Peu coûteux, et cela attrape toute une classe de pannes — un résolveur disparu, un enregistrement supprimé, un changement de TTL malheureux — bien avant qu’elles ne remontent en erreur applicative.
Moniteurs d’équipements
SNMP
Interroger un OID sur un équipement réseau : v1, v2c ou v3 (avec utilisateur, authentification et chiffrement). La valeur devient un statut via un opérateur : number >, number < ou regexp.
SNMP prend aussi en charge les expressions mathématiques qui combinent plusieurs OID en une valeur calculée — trafic total d’interface avec oidIn + oidOut, pourcentage de mémoire avec (used / total) * 100 — et les deltas entre relevés, indispensables pour donner du sens aux compteurs monotones.
WMI
L’équivalent Windows : exécuter une requête WQL dans un espace de noms (par défaut root\CIMV2) et évaluer la valeur renvoyée avec les mêmes opérateurs.
Les deux types embarquent une série d’assistants — OID/requêtes suggérés et vérifiés en direct sur la cible, explorateur de sous-arbre ou de classes, modèles réutilisables, et un bouton Tout tester. Voir Évaluation SNMP et WMI pour le parcours complet.
EUM / Web UI
Le type le plus lourd et le plus fidèle : un parcours navigateur scripté, exécuté sur un vrai Chrome, Firefox ou Edge, chronométré étape par étape.
| Capacité | Description |
|---|---|
| Transactions | Encadrent chaque étape du parcours ; chaque étape a son propre temps et ses propres seuils |
| Preuves | Capture d’écran par étape, vidéo complète de l’exécution, capture HAR de toutes les requêtes |
| 2FA | Prise en charge TOTP (RFC 6238 — 6 chiffres / 30 s / SHA-1) pour scripter une authentification à double facteur |
| Proxy | Faire passer le navigateur par un proxy |
| Similarité visuelle | Comparer les pages rendues à une référence |
Un moniteur EUM est le seul type qui mesure ce que l’utilisateur vit réellement, rendu front-end compris. C’est aussi le plus coûteux à exécuter et le plus fragile à maintenir : scriptez les deux ou trois parcours qui portent votre chiffre d’affaires, et couvrez le reste avec des moniteurs URL et API.
Voir la page Moniteur EUM pour la spécification complète, et Opérations sur les moniteurs pour les modes d’exécution navigateur et headless.
Système
Auto-supervision de la machine de la sonde : utilisation CPU, mémoire et disque, chacune avec ses seuils. Utilisez-la pour savoir que la machine qui fait votre supervision est elle-même saine — une sonde saturée remonte de fausses latences pour tout ce qu’elle exécute.
Choisir un type
Une échelle pratique, du moins coûteux au plus coûteux :
- Ping — l’hôte est-il seulement là ?
- TCP / UDP — quelque chose écoute-t-il sur le port ?
- DNS — le nom se résout-il toujours ?
- URL — la page répond-elle, vite, avec le bon contenu ?
- API — le point d’accès renvoie-t-il les bonnes valeurs ?
- Base de données — les données derrière sont-elles correctes et fraîches ?
- EUM — un vrai utilisateur peut-il effectivement mener le parcours à bien ?
Commencez par le haut et ajoutez les barreaux là où la réponse compte. Chaque couche resserre l’endroit où vit la panne, et c’est ce qui transforme une alerte en diagnostic.
Voir aussi
- Tester un moniteur — exécuter n’importe quel contrôle en direct avant de l’enregistrer
- Opérations sur les moniteurs — créer, exécuter, modifier et maintenir les moniteurs
- Composant Moniteur en détail — planification, concurrence et stockage
- Configuration du moniteur — tous les champs, y compris le format stocké de
patterns - Évaluation SNMP et WMI — opérateurs, suggestions, explorateurs et modèles
- Moniteur EUM — parcours navigateur, TOTP et intégration coffre-fort
- Comment fonctionnent les seuils — modèle de gravité et calcul du statut