Supervision système, processus, journaux et dossiers
Le Discovery Agent surveille un hôte sous quatre angles : le système entier, les processus individuels, les fichiers journaux et les répertoires. Chacun se définit par un ensemble de règles avec seuils de gravité, évaluées selon une planification, et transformées en statut Mineur / Majeur / Critique.
Les quatre types de supervision sont stockés en JSON dans l’agent et s’exécutent comme des tâches cron indépendantes. Vous les définissez de deux façons :
- Page Paramètres du Discovery Agent — éditez les moniteurs de façon interactive dans l’interface Web de l’agent.
- Assistant de configuration des composants — le flux Discovery Agent en mode Custom vous guide à travers les moniteurs de journaux, les moniteurs de dossiers et le reste, puis écrit un
discovery_agent.jsonprêt à l’emploi.
Quand une règle franchit son seuil, l’agent déclenche une alerte à la gravité de la règle et la route via les canaux de notification configurés.
Les quatre types de supervision
| Type | Surveille | Défini par |
|---|---|---|
| Système global | Métriques de l’hôte : CPU, mémoire, charge, swap, disque, réseau, sockets | Seuils Mineur/Majeur/Critique par métrique |
| Processus | Processus nommés/découverts : CPU, mémoire, threads, FD, trafic | Seuils par processus |
| Fichier journal | Un fichier ou un motif glob : correspondances, obsolescence, débit | Un chemin + une liste de règles |
| Répertoire | Un dossier : nombre de fichiers, taille totale | Un chemin + une liste de règles |
Les planifications utilisent les libellés 1MIN, 5MIN, 10MIN, 15MIN, 30MIN, 60MIN. Chaque moniteur s’exécute comme une tâche indépendante ; si un scan dépasse son intervalle, le passage qui chevauche est ignoré plutôt qu’exécuté en parallèle, de sorte qu’un disque lent ou un gros répertoire ne peut jamais empiler des scans qui se chevauchent.
Supervision système globale
L’agent échantillonne les métriques de l’hôte et compare chacune à ses seuils. Sont couverts : CPU, mémoire, charge moyenne (1/5/15 min), swap (taux entrée/sortie et utilisation), utilisation des systèmes de fichiers et inodes, E/S disque (taux lecture/écriture, file d’attente, utilisation), trafic réseau entrant/sortant, sockets TCP, temps d’attente E/S CPU et connexions de base de données.
Chaque métrique a des seuils Mineur / Majeur / Critique, définis en valeurs fixes ou calculés automatiquement à partir d’une baseline historique (moyenne + écart-type). Les seuils de trafic réseau portent en plus un opérateur (> ou <).
Pour la référence complète des champs, voir Seuils des métriques système et Configuration des seuils.
Supervision des processus
Les processus sont supervisés soit par déclaration manuelle (une liste de processus), soit par scan de port (le processus lié à un port). Pour chaque processus supervisé, l’agent suit le CPU, la mémoire, le nombre de threads, le nombre de descripteurs de fichiers et le trafic réseau, chacun avec ses propres seuils de gravité.
Pour la référence complète des champs, voir Seuils des métriques par processus.
Supervision des fichiers journaux
Un moniteur de journal surveille un fichier — ou un motif glob comme /var/log/app-*.log — et évalue une liste de règles sur les nouvelles lignes ajoutées depuis le dernier passage. L’agent suit un décalage (offset) en octets par fichier, de sorte que chaque scan ne lit que ce qui a été ajouté ; les motifs glob prennent en compte les nouveaux fichiers automatiquement.
La rotation des journaux est gérée automatiquement. Que le fichier soit tourné par renommage-et-recréation (un nouveau fichier reprend l’ancien nom) ou par copie-et-troncature (le fichier est vidé sur place), l’agent le détecte et reprend depuis le début du nouveau fichier, de sorte qu’aucune ligne n’est ni ignorée silencieusement ni comptée deux fois. Les offsets en octets sont persistés, donc un scan reprend proprement aussi après un redémarrage de l’agent.
Définir un moniteur de journal
| Champ | Description |
|---|---|
path |
Chemin du fichier, ou motif glob (*, ?, […]) pour plusieurs fichiers |
schedule |
Intervalle de scan (1MIN … 60MIN) |
alertOnMissing |
on (défaut) alerte si le fichier est absent ; off reste silencieux |
rules |
Liste de règles de motif (ci-dessous) |
Chaque règle fait correspondre des lignes et alerte selon le nombre de correspondances :
| Champ | Description |
|---|---|
name |
Libellé de la règle (affiché dans l’alerte) |
pattern |
Expression régulière à faire correspondre sur chaque ligne |
excludePattern |
Les lignes correspondant aussi à ceci sont ignorées |
operator |
>, >=, <, <=, = ou first |
threshold |
Nombre de correspondances comparé par l’opérateur |
severity |
minor, major ou critical |
captureLines |
Inclure les N premières lignes correspondantes dans l’alerte |
joinLines |
Joindre N lignes consécutives avant la correspondance (entrées multi-lignes) |
enabled |
off désactive la règle sans la supprimer |
L’opérateur first se déclenche à la première occurrence quel que soit le nombre — utile pour « alerter dès que ceci apparaît » sur des motifs comme FATAL ou panic.
Contrôles au niveau fichier
Indépendamment des règles regex, un moniteur de journal peut aussi surveiller le comportement du fichier :
| Contrôle | Champ | Se déclenche quand |
|---|---|---|
| Obsolescence | stalenessMinutes + stalenessSeverity |
Le fichier n’a pas changé depuis N minutes (application muette) |
| Rafale de débit | throughputBurstKB + throughputBurstSeverity |
Plus de N Ko écrits en un intervalle (tempête de logs) |
| Silence de débit | throughputSilenceKB + throughputSilenceSeverity |
Moins de N Ko écrits en un intervalle (écrivain bloqué) |
Mettez l’un de ces champs à 0 pour le désactiver.
Les gros fichiers sont lus sans risque
logMaxLinesPerTick) : si un fichier produit davantage entre deux passages, le premier lot est évalué, l’offset saute en fin de fichier et un avertissement est journalisé — l’agent ne tente jamais de charger d’un coup un arriéré illimité.
Supervision des répertoires (dossiers)
Un moniteur de répertoire scanne un dossier et évalue des règles sur son contenu. Utilisez-le pour détecter une file d’attente qui cesse de se vider, un répertoire qui se remplit, ou un dossier de dépôt qui ne reçoit jamais de fichiers.
Définir un moniteur de répertoire
| Champ | Description |
|---|---|
path |
Répertoire à scanner |
schedule |
Intervalle de scan (1MIN … 60MIN) |
recursive |
on parcourt les sous-répertoires ; off ne compte que le niveau supérieur |
alertOnMissing |
on alerte si le répertoire est absent, à alertOnMissingSeverity |
alertOnMissingSeverity |
Gravité pour un répertoire manquant (minor/major/critical, défaut critical) |
rules |
Liste de règles de contenu (ci-dessous) |
Chaque règle mesure une propriété du dossier :
| Champ | Description |
|---|---|
name |
Libellé de la règle |
metric |
fileCount (nombre de fichiers) ou totalSizeMB (taille totale en Mo) |
operator |
>, >=, <, <= ou = |
threshold |
Valeur comparée par l’opérateur |
severity |
minor, major ou critical |
enabled |
off désactive la règle |
Tester un moniteur avant de l'enregistrer
Comment un statut est produit
Pour chaque type, le flux est identique à chaque passage :
- L’agent collecte la valeur (échantillon de métrique, nombre de correspondances, taille de fichier…).
- Il applique l'opérateur et le seuil de la règle.
- En cas de franchissement, le résultat porte la gravité de la règle (
MINOR,MAJORouCRITICAL) ; sinonOK. - Les résultats sont stockés pour les tableaux de bord et, s’ils sont non-OK, déclenchent des alertes via les canaux de notification de l’agent (e-mail, Slack, Teams, PagerDuty) selon les paramètres de temporisation des alertes.
Voir aussi
- Composant Discovery Agent — mécanismes de découverte, métriques collectées, flux d’exécution
- Configuration du Discovery Agent — référence complète des paramètres et seuils
- API HTTP du Discovery Agent — accès programmatique
- Opérations sur les moniteurs — moniteurs côté sonde (URL, API, SNMP, WMI, …)