Aller au contenu principal

Centreon Monitoring Agent

Introduction​

L'Agent de supervision Centreon (Centreon Monitoring Agent, CMA) est un logicial qu'on installe sur les hôtes à superviser : il collecte des métriques et calcule des statuts, et les envoie à Centreon.

L'agent peut exécuter des contrôles natifs ou utiliser des plugins Centreon pour exécuter des contrôles non natifs. Les contrôles natifs sont exécutés directement par l'agent (contrairement aux contrôles non natifs, qui nécessitent l'installation de plugins locaux sur l'hôte). Les contrôles natifs sont plus performants et ont une meilleure empreinte (réduction de l'utilisation du processeur et de la mémoire).

Les contrôles natifs et non natifs sont définis dans le connecteur Linux Centreon Monitoring Agent ou dans le connecteur Windows Centreon Monitoring Agent. Les connecteurs fournissent les modèles et l'agent récupère la configuration de ces contrôles à intervalles réguliers après l'établissement de la connexion.

L'agent effectue les contrôles (pour les contrôles non natifs, en utilisant les plugins locaux) et envoie les données au collecteur. La partie du moteur du collecteur qui reçoit les données de l'agent est appelée récepteur OTLP (OTLP signifie OpenTelemetry protocol).

Les plugins Centreon comme les plugins personnalisés basés sur Nagios sont compatibles avec l'agent.

Quand utiliser un agent ?​

Utilisez l'agent CMA :

  • lorsque les politiques de sĂ©curitĂ© n'autorisent que les flux sortants (aucun contrĂ´le ne peut ĂŞtre effectuĂ© par les collecteurs, le SNMP n'est pas autorisĂ©).
  • sur les sites qui n'ont pas de collecteur local.
  • lorsque vous avez besoin d'exĂ©cuter un script localement sur la machine supervisĂ©e pour des raisons de sĂ©curitĂ© (droits et/ou protocoles) ou de performance.

Comment interagissent le collecteur et l'hôte?​

Suivant le cas, soit l'agent soit le collecteur initie la connexion.

  • Dans le cas d'une connexion initiĂ©e par l'agent, il suffit de configurer le collecteur pour qu'il Ă©coute sur un port spĂ©cifique. Un poller peut recevoir des donnĂ©es de n agents/hĂ´tes.
  • Si l'agent n'est pas autorisĂ© Ă  se connecter au collecteur pour des raisons de sĂ©curitĂ© (par exemple, lorsque le collecteur se trouve dans une DMZ), vous pouvez utiliser une connexion initiĂ©e par le collecteur. Vous devez dĂ©clarer dans Centreon chaque hĂ´te qui sera supervisĂ© par cet agent dans le menu Configuration poller/agent. Le collecteur recevra des donnĂ©es de n hĂ´tes via l'agent.

Selon le sens dans lequel la connexion est établie, le collecteur ou l'hôte peuvent être client ou serveur. La connexion entre le collecteur et l'agent doit être sécurisée en production.

Stockez les certificats dans le répertoire /etc/pki du collecteur. Stockez-les où vous le souhaitez sur l'hôte. Les schémas ci-dessous décrivent les fichiers de certificats à utiliser dans chaque cas.

image

Le collecteur sera configuré de la manière suivante, en utilisant la page Poller/agent configuration, dans la section Récepteur OTLP :

  • Certificat public (obligatoire). Si vous avez stockĂ© le certificat du collecteur dans le magasin de certificats, vous n'avez pas besoin d'entrer un fichier pour la clĂ© publique. Dans le cas contraire, vous devez indiquer le chemin d'accès au fichier contenant la clĂ© publique du serveur opentelemetry du collecteur.
    • Le nom DNS que l'agent utilisera pour se connecter au collecteur doit ĂŞtre identique au CN du certificat.
    • Si cela n'est pas possible, vous pouvez ajouter une correspondance IP collector_host_name dans le fichier C:\Windows\System32\drivers\etc\hosts (Windows) ou /etc/hosts (Linux).
  • ClĂ© privĂ©e (obligatoire)
  • CA : rarement nĂ©cessaire dans ce cas, sauf pour gĂ©rer un "double handshake". Le protocole TLS avec certificats valide l'identitĂ© du serveur pour le client, mais le "double handshake" va plus loin : il ajoute la validation de l'identitĂ© du client par le serveur. Cela est utile pour renforcer la sĂ©curitĂ©, mais rarement nĂ©cessaire sur internet.

L'agent sera configuré de la manière suivante sur l'hôte (pour Windows à l'aide de l'installeur ou de la CLI, et pour Linux à l'aide du fichier centagent.json).

  • Encryption = yes
  • Fichier de certificat de l'autoritĂ© de certification de confiance (peut ĂŞtre chargĂ© dans le magasin de certificats et non rĂ©fĂ©rencĂ© dans la configuration de l'agent)
  • Nom commun du certificat (rarement nĂ©cessaire)

OS supportés​

L'agent peut être installé sur et superviser les OS suivants :

  • Alma 8
  • Alma 9
  • Debian 11
  • Debian 12
  • Ubuntu 22.04 LTS

Limitations​

L'Agent de supervision Centreon est en phase Beta. Les limitations suivantes s'appliquent :

  • Le pĂ©rimètre de supervision supportĂ© est limitĂ©, de nouveaux contrĂ´les (natifs) seront apportĂ©s dans la version dĂ©finitive.

Étape 1: Configurez Centreon​

Installez le connecteur de supervision nécessaire​

Sur votre serveur central, vous devez installer le connecteur de supervision qui fournira les modèles et les commandes qui vous permettront de configurer les hôtes et les services supervisés dans Centreon.

  1. Sur votre serveur central, allez Ă  la page Configuration > Connecteurs > Connecteurs de supervision.
  2. Installez le connecteur de supervision Linux Centreon Monitoring Agent.

Créez le connecteur Centreon Monitoring Agent​

Pour cette version, aucune configuration n'est nécessaire. Passez à l'étape suivante.

Configurez la communication collecteur/agent​

Configurez la communication entre collecteur collecteur et agent :

  1. Sur votre serveur central, allez Ă  la page Configuration > Collecteurs > Configurations d'agent, puis cliquez sur Ajouter une configuration collecteur/agent.
  2. Dans la fenêtre qui s'ouvre, sélectionnez CMA. Des champs supplémentaires apparaissent.
  3. Dans la section Paramètres, sélectionnez le ou les collecteurs qui recevront des données en provenance de l'agent.
  4. Dans la section Receveur OTLP, entrez les noms des fichiers des certificats pour la partie du collecteur (engine) qui recevra des données en provenance de l'agent. Les fichiers doivent posséder l'extension .crt (pour les certificats) ou .key (pour la clé)
  1. Si l'agent n'est pas autorisé à se connecter au collecteur pour des raisons de sécurité (par exemple lorsque le collecteur est situé dans une DMZ), activez l'option Connection initiée par le collecteur. Puis, dans la section Configuration des hôtes, définissez tous les hôtes sur lesquels l'agent sera installé.

Si vous configurez plusieurs collecteurs en mĂŞme temps, assurez-vous que tous les fichiers de certificat aient le mĂŞme nom.

  1. Déployez la configuration.

  2. Redémarrez le moteur de collecte.

    systemctl restart centengine

L'Agent de supervision Centreon est maintenant capable de communiquer avec Centreon. Vous pouvez mettre vos hĂ´tes en supervision.

Étape 2 : Préparez l'hôte​

Téléchargez et installez l'agent sur l'hôte​

Installer le dépôt Centreon et l'agent​

Installez le dépôt Centreon puis l'agent à l'aide des commandes suivantes :

dnf install -y dnf-plugins-core
dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el8/centreon-24.10.repo
dnf install centreon-monitoring-agent

Configurez centreon-monitoring-agent​

  1. Remplacez le contenu du fichier /etc/centreon-monitoring-agent/centagent.json par le contenu suivant (4 cas) :
{
"log_level":"info",
"endpoint":"<IP POLLER>:4317",
"host":"host_1",
"log_type":"file",
"log_file":"/var/log/centreon-monitoring-agent/centagent.log"
}

Dans le champ host, entrez le nom de l'hĂ´te Ă  superviser tel que vous l'avez saisi dans l'interface Centreon. Si absent, l'agent utilisera le hostname de la machine.

Configurer les logs​

Deux types de log sont disponibles :

  • file: l'agent loggue dans le fichier dont le chemin est donnĂ© par log_file.
  • stdout: l'agent loggue vers la sortie standard de l'exe.

Dans le cas de logging vers un fichier, une rotation peut être paramétrée avec les clés log_max_file_size et log_max_files.

Les niveaux de logs possibles sont:

  • off: aucun log
  • critical: erreurs critiques
  • error: toutes les erreurs
  • info: quelques informations supplĂ©mentaires
  • debug: quelques informations sur les connections en plus
  • trace: le niveau de trace le plus verbeux, permet de voir les messages Ă©changĂ©s avec le collecteur

Redémarrer l'agent​

Redémarrez le CMA :

systemctl restart centagent

Vous pouvez vérifier l'état de l'agent avec la commande suivante :

systemctl status centagent

Déployer les plugins Centreon agent sur l'hôte​

Si vous souhaitez exécuter des contrôles non natifs, vous devez installer les plugins Centreon agent, qui exécuteront les contrôles sur l'hôte.

Activez les dépôts Centreon et installez les plugins​

Ce dépôt permettra d'installer les plugins Centreon ainsi que les dépendances qui ne peuvent pas être satisfaites par les dépôts standard des distributions.

dnf -y install dnf-plugins-core oracle-epel-release-el8
dnf config-manager --set-enabled ol8_codeready_builder

cat >/etc/yum.repos.d/centreon-plugins.repo <<'EOF'
[centreon-plugins-stable]
name=Centreon plugins repository.
baseurl=https://packages.centreon.com/rpm-plugins/el8/stable/$basearch/
enabled=1
gpgcheck=1
gpgkey=https://yum-gpg.centreon.com/RPM-GPG-KEY-CES
module_hotfixes=1

[centreon-plugins-stable-noarch]
name=Centreon plugins repository.
baseurl=https://packages.centreon.com/rpm-plugins/el8/stable/noarch/
enabled=1
gpgcheck=1
gpgkey=https://yum-gpg.centreon.com/RPM-GPG-KEY-CES
module_hotfixes=1

[centreon-plugins-testing]
name=Centreon plugins repository. (UNSUPPORTED)
baseurl=https://packages.centreon.com/rpm-plugins/el8/testing/$basearch/
enabled=0
gpgcheck=1
gpgkey=https://yum-gpg.centreon.com/RPM-GPG-KEY-CES
module_hotfixes=1

[centreon-plugins-testing-noarch]
name=Centreon plugins repository. (UNSUPPORTED)
baseurl=https://packages.centreon.com/rpm-plugins/el8/testing/noarch/
enabled=0
gpgcheck=1
gpgkey=https://yum-gpg.centreon.com/RPM-GPG-KEY-CES
module_hotfixes=1

[centreon-plugins-unstable]
name=Centreon plugins repository. (UNSUPPORTED)
baseurl=https://packages.centreon.com/rpm-plugins/el8/unstable/$basearch/
enabled=0
gpgcheck=1
gpgkey=https://yum-gpg.centreon.com/RPM-GPG-KEY-CES
module_hotfixes=1

[centreon-plugins-unstable-noarch]
name=Centreon plugins repository. (UNSUPPORTED)
baseurl=https://packages.centreon.com/rpm-plugins/el8/unstable/noarch/
enabled=0
gpgcheck=1
gpgkey=https://yum-gpg.centreon.com/RPM-GPG-KEY-CES
module_hotfixes=1
EOF

Installez le plugin :

dnf install -y centreon-plugin-Operatingsystems-Linux-Local.noarch

Étape 3 : Mettez l'hôte en supervision​

Créez l'hôte en utilisant le bon modèle​

Sur le serveur central, créez l'hôte et appliquez-lui le modèle d'hôte OS-Linux-Centreon-Monitoring-Agent-custom. Le modèle comprend l'option Activer les contrôles passifs qui est définie sur on.