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
Tous les types sont évalués de la même manière au bout du compte. Chaque contrôle produit un ou plusieurs statuts (OK / MINEUR / MAJEUR / CRITIQUE / ERREUR) et le moniteur retient le plus grave. Le temps de réponse fait toujours partie de ces statuts ; les contrôles spécifiques au type ci-dessous ajoutent les autres.

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 :

  1. Le statut HTTP — tout ce qui sort des 2xx/3xx fait échouer le contrôle.
  2. 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.
  3. 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
L’expiration du certificat est un contrôle à part entière. Activez-la et le moniteur vous alerte avant l’expiration plutôt qu’après — un moniteur URL par nom d’hôte public remplace un tableur de dates de renouvellement.

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 :

  1. Le code de statut HTTP — un 5xx est un échec critique quel que soit le temps.
  2. Le temps de réponse face aux seuils Mineur / Majeur / Critique.
  3. 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 /health a répondu, vous extrayez les valeurs à l’intérieur de la réponse et vous les évaluez.
Pointez les moniteurs API vers un point d’accès de santé ou de disponibilité, pas vers un appel métier lourd. Un moniteur exécuté chaque minute contre un point d’accès coûteux devient une partie de votre charge. Si vous devez appeler un vrai point d’accès, choisissez-en un en lecture seule et gardez une fréquence raisonnable.

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
N’écrivez pas les expressions régulières à la main. Cliquez sur Test pour appeler le point d’accès en direct, puis sur Suggérer des groupes de motifs : Mugnsoft inspecte la réponse réelle et propose un nom, une expression, un index de correspondance et un opérateur pour chaque valeur trouvée. Voir Tester un moniteur.

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
Utilisez un compte dédié en lecture seule et une requête peu coûteuse. Le moniteur s’exécute selon un planning : un balayage de table complet chaque minute est une charge que vous vous infligez. Stockez le mot de passe dans un coffre-fort ou une configuration d’identifiants plutôt que dans le moniteur.

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
Construisez les contrôles à partir d’un vrai jeu de résultats. Cliquez sur Test : le panneau affiche un aperçu des lignes et colonnes renvoyées, et les noms de colonnes deviennent des suggestions d’auto-complétion dans chaque cellule de colonne. Voir Tester un moniteur.
Sur les colonnes de date sans fuseau (MySQL 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é.

Sous Linux, ICMP exige 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 :

  1. Ping — l’hôte est-il seulement là ?
  2. TCP / UDP — quelque chose écoute-t-il sur le port ?
  3. DNS — le nom se résout-il toujours ?
  4. URL — la page répond-elle, vite, avec le bon contenu ?
  5. API — le point d’accès renvoie-t-il les bonnes valeurs ?
  6. Base de données — les données derrière sont-elles correctes et fraîches ?
  7. 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

Traductions