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.json prê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 (1MIN60MIN)
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

Les nouvelles lignes sont traitées en flux, une à la fois, plutôt que mises en tampon, de sorte que la mémoire reste stable quelle que soit la taille du fichier ou le nombre de règles. Chaque scan plafonne aussi le nombre de nouvelles lignes lues par passage (défaut 100 000, réglable via 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 (1MIN60MIN)
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

Sur la page Paramètres de l’agent Sentinel, chaque moniteur de fichier journal et de dossier dispose d’un bouton ⚡ Test. Il exécute les règles de ce moniteur contre le fichier ou le dossier réel sur l’hôte de l’agent, immédiatement, et affiche le résultat en ligne — nombre de correspondances et statut par règle, lignes d’exemple capturées, nombre de fichiers / taille du dossier, et obsolescence — pour vérifier qu’un motif ou un seuil se comporte comme prévu, sans attendre le prochain scan planifié. Le test lit depuis le début du fichier (plafonné pour la réactivité) et ne persiste rien. Les contrôles de rafale / silence de débit sont basés sur l’intervalle et ne sont pas évalués par un test ponctuel.

Comment un statut est produit

Pour chaque type, le flux est identique à chaque passage :

  1. L’agent collecte la valeur (échantillon de métrique, nombre de correspondances, taille de fichier…).
  2. Il applique l'opérateur et le seuil de la règle.
  3. En cas de franchissement, le résultat porte la gravité de la règle (MINOR, MAJOR ou CRITICAL) ; sinon OK.
  4. 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

Traductions