Configuration du Discovery Agent

La configuration du Discovery Agent couvre l’identite du service, les cibles de decouverte, les seuils des metriques systeme et processus, les canaux de notification et la planification.

Astuce : inutile d’ecrire ce fichier a la main — l'assistant de configuration des composants genere un discovery_agent.json pret a l’emploi a partir de quelques questions guidees. Les valeurs par defaut de son mode Express sont documentees ici.

Configuration du service (discovery_agent.json)

Ce fichier doit se trouver dans le meme repertoire que l’executable.

Exemple minimal

{
  "name": "agent-dc1",
  "port": "8070",
  "webserver": "192.168.1.100:8050",
  "sched": "5MIN",
  "processes": "nginx,mysqld,java"
}

Reference des parametres

Identite et reseau

Champ Type Description Defaut
name string Identifiant unique de l’agent requis
port string Port TCP pour l’API REST "8070"
webserver string IP:port du Webserver pour l’enregistrement requis
integratorEndPoint string IP:port de l’Integrator pour le transfert de donnees ""
probeEndPoint string Point de terminaison de la sonde pour la supervision URL/API ""
location string Etiquette de localisation geographique/logique ""
tags string Tags separes par des virgules ""
apps string Applications supervisees ""
appName string Nom de l’application ""

Cibles de decouverte

Champ Type Description
processes string Noms de processus separes par des virgules (ex. : "nginx,mysqld,java")
ports string Ports TCP a superviser separes par des virgules (ex. : "80,443,3306")
urls array Points de terminaison HTTP/HTTPS a superviser
apis array Points de terminaison API REST a superviser
pings array Cibles de ping
nslookups array Cibles de recherche DNS
tcps array Cibles de connexion TCP
dbs array Connexions aux bases de donnees
syss array Moniteurs systeme

Planification

Champ Type Description Defaut
sched string Intervalle de decouverte : 1MIN, 2MIN, 5MIN, 10MIN, 30MIN, 1H, 4H, 8H, 1D "5MIN"
schedMonitors string Intervalle de verification des moniteurs identique a sched
discoCapInterval string Duree de capture reseau en secondes variable

Seuils des metriques systeme

CPU

Champ Description
discoCPUGFixedThreshCri Seuil critique de CPU %
discoCPUGFixedThreshMaj Seuil majeur de CPU %
discoCPUGFixedThreshMin Seuil mineur de CPU %
discoCPUGMonEnabled Activer/desactiver la supervision CPU ("true"/"false")

Memoire

Champ Description
discoMEMGFixedThreshCri Seuil critique de memoire %
discoMEMGFixedThreshMaj Seuil majeur de memoire %
discoMEMGFixedThreshMin Seuil mineur de memoire %
discoMEMGMonEnabled Activer/desactiver la supervision memoire

Charge moyenne (Linux uniquement)

Champ Description
discoLoadAvg5minGFixedThreshCri Seuil critique de charge moyenne sur 5 min
discoLoadAvg5minGFixedThreshMaj Seuil majeur
discoLoadAvg5minGFixedThreshMin Seuil mineur
discoLoadAvg5minGMonEnabled Activer/desactiver la supervision de la charge moyenne

Systeme de fichiers

Champ Description
discoFSGFixedThreshCri Seuil critique du systeme de fichiers %
discoFSGFixedThreshMaj Seuil majeur
discoFSGFixedThreshMin Seuil mineur
discoFSGMonitored Systemes de fichiers a superviser (ex. : "/,/data")

Sockets TCP

Champ Description
discoTCPSocketsGFixedThreshCri Seuil critique du nombre de sockets TCP
discoTCPSocketsGFixedThreshMaj Seuil majeur
discoTCPSocketsGFixedThreshMin Seuil mineur

Attente I/O CPU (Linux uniquement)

Champ Description
discoCpuIOWaitGFixedThreshCri Seuil critique d’attente I/O %
discoCpuIOWaitGFixedThreshMaj Seuil majeur
discoCpuIOWaitGFixedThreshMin Seuil mineur

Seuils des metriques par processus

Chaque metrique de processus prend en charge soit des seuils fixes, soit des seuils automatiques (pas les deux).

Les champs de seuil fixe laisses vides ("") sont non definis : l’agent applique un seuil interne inatteignable, donc aucune alerte n’est emise pour cette metrique tant que la baseline du seuil automatique n’est pas calculee ou qu’une valeur explicite n’est pas definie. L’interface web affiche les champs non definis avec . La valeur sentinelle heritee 999999999999999.00 utilisee par les anciennes versions est automatiquement normalisee en "" par l’agent.

CPU

Champ Description
discoCPUPFixedThreshCri CPU % critique par processus
discoCPUPFixedThreshMaj Seuil majeur
discoCPUPFixedThreshMin Seuil mineur
discoCPUPAutoThreshold "true" pour calculer automatiquement a partir de l’historique
discoCPUPMonEnabled Activer/desactiver

Memoire

Champ Description
discoMEMPFixedThreshCri Seuil critique de memoire par processus
discoMEMPFixedThreshMaj Seuil majeur
discoMEMPFixedThreshMin Seuil mineur
discoMEMPAutoThreshold Calcul automatique
discoMEMPMonEnabled Activer/desactiver

Swap

Champ Description
discoSWAPPFixedThreshCri Seuil critique de swap
discoSWAPPFixedThreshMaj Seuil majeur
discoSWAPPFixedThreshMin Seuil mineur
discoSWAPPAutoThreshold Calcul automatique
discoSWAPPMonEnabled Activer/desactiver

Lecture I/O

Champ Description
discoIostatReadPFixedThreshCri Octets/s de lecture I/O critiques
discoIostatReadPFixedThreshMaj Seuil majeur
discoIostatReadPFixedThreshMin Seuil mineur
discoIostatReadPAutoThreshold Calcul automatique

Ecriture I/O

Champ Description
discoIostatWritePFixedThreshCri Octets/s d’ecriture I/O critiques
discoIostatWritePFixedThreshMaj Seuil majeur
discoIostatWritePFixedThreshMin Seuil mineur
discoIostatWritePAutoThreshold Calcul automatique

CPU mode utilisateur

Champ Description
discoCPUUserPFixedThreshCri CPU % mode utilisateur critique
discoCPUUserPFixedThreshMaj Seuil majeur
discoCPUUserPFixedThreshMin Seuil mineur

Threads

Champ Description
discoNumThreadsPFixedThreshCri Nombre de threads critique
discoNumThreadsPFixedThreshMaj Seuil majeur
discoNumThreadsPFixedThreshMin Seuil mineur

Descripteurs de fichiers (Linux uniquement)

Champ Description
discoNumFDsPFixedThreshCri Nombre de FD critique
discoNumFDsPFixedThreshMaj Seuil majeur
discoNumFDsPFixedThreshMin Seuil mineur

Trafic reseau

Les seuils de trafic reseau par processus utilisent un mapping JSON :

{
  "trafficThresholds": {
    "nginx": {
      "operator": ">",
      "critical": 10000,
      "major": 5000,
      "minor": 1000
    },
    "mysqld": {
      "operator": ">",
      "critical": 50000,
      "major": 25000,
      "minor": 5000
    }
  }
}
Champ Description
operator ">" alerter quand au-dessus du seuil, "<" alerter quand en dessous
critical Seuil critique en kbits/s
major Seuil majeur en kbits/s
minor Seuil mineur en kbits/s

Moniteurs de fichiers journaux et de repertoires

Au-dela des metriques systeme et par processus, l’agent peut superviser des fichiers journaux (correspondances de motifs, obsolescence, debit) et des repertoires (nombre de fichiers, taille totale). Ils sont definis comme des listes logMonitors et dirMonitors dans les parametres de l’agent, chacune avec son propre chemin, sa planification et ses regles.

Pour savoir comment les definir et comment ils sont evalues, voir Supervision systeme, processus, journaux et dossiers.


Parametres de notification

SMTP

Champ Description
smtpEnabled "true" pour activer l’email
smtpServerName Nom d’hote du serveur de messagerie
smtpPort Port du serveur de messagerie
smtpUsername Nom d’utilisateur SMTP
smtpPwd Mot de passe SMTP (chiffre)
smtpTLS "true" pour TLS

Slack, Teams, PagerDuty

Champ Description
slackChannel Canal Slack
slackToken Jeton de bot Slack
teamsWebhook URL du webhook Teams
pagerDutyAPIKey Cle API PagerDuty

Declencheurs d’alertes

Champ Description
emailOnF / emailOnSC Email en cas d’echec / changement de statut
slackOnF / slackOnSC Slack en cas d’echec / changement de statut
teamsOnF / teamsOnSC Teams en cas d’echec / changement de statut
pdOnF / pdOnSC PagerDuty en cas d’echec / changement de statut
scriptOnF / scriptOnSC Script personnalise en cas d’echec / changement de statut
scriptAction Commande de script a executer
scriptActionT Delai d’expiration du script

Temporisation des alertes

Champ Description
notifyAfter Depassements consecutifs avant la premiere alerte
notifyFor Continuer a alerter pendant N cycles
notifyStatus Statut minimum pour declencher (ex. : "CRITICAL")

Fichiers de donnees

Liste de processus (data/process_list.txt)

Un processus par ligne, avec des tags optionnels :

nginx:web,production
mysqld:database
java:application,backend
python3.12:scripts
node:frontend

Liste de ports (data/port_list.txt)

Un port par ligne :

80
443
3306
5432
8080

Fichiers de seuils

  • data/process_thresholds.json – seuils par processus calcules
  • data/system_thresholds.json – seuils systeme calcules

Fichiers de sortie

  • data/discover_metrics.json – dernieres metriques collectees (systeme + processus + reseau)
  • data/alerts.json – alertes generees lors du dernier cycle de collecte

Journalisation

Champ Description Defaut
logLevel debug, info, warn, error "info"
maxBackups Fichiers en rotation a conserver 5
maxSize Taille max du fichier (Mo) 10
maxAge Age max du fichier (jours) 28
logCompress Compresser les fichiers en rotation "true"
backupInterval Heures entre les sauvegardes du magasin cle-valeur 24
nbDaysBackup Heures de conservation des sauvegardes 336

Traductions