Centreon Monitoring Agent
Introduction​
L'Agent de supervision Centreon (Centreon Monitoring Agent, CMA) collecte des métriques et calcule des statuts sur les serveurs qu'il supervise, et les envoie à Centreon. Les plugins Centreon comme les plugins personnalisés basés sur Nagios sont compatibles avec l'agent.
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.
OS supportés​
L'agent peut être installé sur et superviser les OS suivants :
- Linux
- Windows
- Alma 8
- Alma 9
- Debian 11
- Debian 12
- Ubuntu 22.04 LTS
- Windows 10
- Windows 11
- Windows Server 2016
- Windows Server 2019
- Windows Server 2022
Étape 1: Configurez Centreon​
Installez le connecteur de supervision​
- Linux
- Windows
- Sur votre serveur central, allez Ă la page Configuration > Gestionnaire de connecteurs de supervision.
- Installez le connecteur de supervision Linux Centreon Monitoring Agent.
- Sur votre serveur central, allez Ă la page Configuration > Gestionnaire de connecteurs de supervision.
- Installez le connecteur de supervision Windows Centreon Monitoring Agent.
Créez le connecteur Centreon Monitoring Agent​
Sur votre serveur central :
- Allez Ă la page Configuration > Commandes > Connecteurs.
- Créez un nouveau connecteur avec les données suivantes :
Paramètre | Valeur |
---|---|
Nom du connecteur | Centreon Monitoring Agent |
Description du connecteur | Centreon Monitoring Agent |
Ligne de commande | opentelemetry --processor=centreon_agent --extractor=attributes --host_path=resource_metrics.resource.attributes.host.name --service_path=resource_metrics.resource.attributes.service.name |
Utilisé par la commande | Entrez Centreon-Monitoring-Agent et cliquez sur Sélectionner tout |
Statut du connecteur | Activé |
Configurez Engine​
- Configurez la communication entre le collecteur et l'agent :
- Certains agents peuvent se connecter au collecteur, mais le collecteur peut Ă©galement se connecter Ă certains agents.
- Vous pouvez sélectionner plusieurs pollers à la fois dans un même formulaire de configuration afin d'éviter d'effectuer plusieurs fois la même configuration.
- Allez Ă la page Configuration > Collecteurs > Configurations d'agent, puis cliquez sur Ajouter une configuration collecteur/agent.
- Dans la fenêtre qui s'ouvre, sélectionnez le type d'agent souhaité. Des champs supplémentaires apparaissent.
- Dans la section Paramètres, sélectionnez le ou les collecteurs qui recevront des données en provenance de l'agent.
- 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. La communication entre l'agent et le collecteur se fait toujours en HTTPS. Vous devez mettre les certificats dans le répertoire /etc/pki/ du collecteur. Les fichiers doivent posséder l'extension .crt (pour les certificats) ou .key (pour la clé)
- 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é. Ici, les certificats sont optionnels, mais si vous les utilisez, mettez-les dans le répertoire /etc/pki/ du collecteur.
Si vous configurez plusieurs collecteurs en mĂŞme temps, assurez-vous que tous les fichiers de certificat aient le mĂŞme nom.
-
Exportez la configuration.
-
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​
- Linux
- Windows
Dépôt Centreon et installation de l'agent​
Installez le dépôt Centreon puis l'agent à l'aide des commandes suivantes :
- Alma / RHEL / Oracle Linux 8
- Alma / RHEL / Oracle Linux 9
- Debian 12
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
dnf install -y dnf-plugins-core
dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el9/centreon-24.10.repo
dnf install compat-openssl11 centreon-monitoring-agent
apt-get update
apt-get -y install lsb-release gpg wget
echo "deb https://packages.centreon.com/apt-standard-24.10-stable $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon.list
echo "deb https://packages.centreon.com/apt-plugins-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon-plugins.list
Ensuite, importez la clé du dépôt :
wget -O- https://apt-key.centreon.com | gpg --dearmor | tee /etc/apt/trusted.gpg.d/centreon.gpg > /dev/null 2>&1
Ensuite, installez l'agent :
apt-get update
apt install centreon-monitoring-agent
- Configurez le centreon-monitoring-agent.
- Modifiez le fichier /etc/centreon-monitoring-agent/centagent.json local (4 cas) :
- Non chiffré, l'agent se connecte au collecteur
- Chiffré, l'agent se connecte au collecteur
- Non chiffré, le collecteur se connecte à l'agent
- Chiffré, le collecteur se connecte à l'agent
{
"log_level":"info",
"endpoint":"<IP POLLER>:4317",
"host":"host_1",
"log_type":"file",
"log_file":"/var/log/centreon-monitoring-agent/centagent.log"
}
{
"log_level":"info",
"endpoint":"<IP POLLER>:4317",
"host":"host_1",
"log_type":"file",
"log_file":"/var/log/centreon-monitoring-agent/centagent.log" ,
"encryption":true,
"ca_certificate":"/tmp/ca_1234.crt"
}
{
"log_level":"info",
"endpoint":"0.0.0.0:4317",
"host":"host_1",
"log_type":"file",
"log_file":"/var/log/centreon-monitoring-agent/centagent.log" ,
"reversed_grpc_streaming":true
}
{
"log_level":"info",
"endpoint":"0.0.0.0:4317",
"host":"host_1",
"log_type":"file",
"log_file":"/var/log/centreon-monitoring-agent/centagent.log" ,
"reversed_grpc_streaming":true,
"encryption":true,
"private_key":"/tmp/server_1234.key",
"public_cert":"/tmp/server_1234.crt",
"ca_certificate":"/tmp/ca_1234.crt"
}
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.
Options de log​
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 :
systemctl restart centagent
Vous pouvez vérifier l'état de l'agent avec la commande:
systemctl status centagent
Téléchargez l'installer de l'agent sur tous les serveurs que vous voulez superviser.
Le programme d'installation de l'agent peut s'utiliser suivant deux modes:
- Mode interactif
- Mode silencieux (console)
- Lancez l'installer (durant la configuration, vous pourrez cliquer sur les (i) pour avoir de l'aide).
Si vous installez les plugins Centreon, l'installer tentera de télécharger et d'installer la dernière version des plugins Centreon. Si l'installer ne peut pas les télécharger (pas d'accès web, problème réseau), une popup vous demandera confirmation pour installer les plugins Centreon embarqués dans l'installer.
- Si vous répondez oui, les plugins seront installés à partir de l'installer
- Si non, aucun plugin sera installé
Les résultats seront affichés dans la fenêtre de l'installer.
-
Configurez l'endpoint et le type de connexion :
- Dans le champ Host name in Centreon, entrez le nom de l'hĂ´te Ă superviser tel que vous l'avez saisi dans l'interface Centreon.
- Dans le cas le plus courant (l'agent se connecte au collecteur), saisissez l'adresse IP ou le nom DNS suivi du port OpenTelemetry sur lequel Ă©coute le collecteur, sous la forme <adresse IP ou nom DNS>:port, par exemple 192.168.45.32:4317.
- Si vous activez l'option Poller-initiated connection (le collecteur se connecte à l'agent), vous devez choisir l'interface (toutes les interfaces : 0.0.0.0) et le port (généralement 4317) sur lequel l'agent va accepter les connections venant du collecteur.
-
Configurez les options de log. Deux types de log sont disponibles :
- file : les logs sont Ă©crits dans un fichier
- eventlog : les logs sont envoyés vers les journaux d'évènements. Si vous choisissez de logger dans un fichier, vous pouvez configurer la rotation de logs en renseignant Max File Size et Max number of files.
-
Configurez les paramètres de chiffrement. Le chiffrement est activé par défaut. Dans le cas où l'option Poller-initiated connection est activée, le certificat et le fichier contenant la clé privée sont obligatoires.
Dans ce mode, aucune interface n'est lancée. Comme cet installer n'est pas un programme console, il rend immédiatement la main même s'il n'a pas encore fini. Vous devez attendre de voir apparaître dans la console le message indiquant qu'il a terminé. Si vous voulez tester le succès de l'installation, vous devez récupérer l'exit status. Vous pouvez le lancer dans un powershell et attendre la fin du processus. L'exit status vaudra 0 si tout s'est bien passé.
Pour le lancer en mode silencieux, vous devez mettre en premier argument /S. Vous pouvez afficher une liste des arguments avec la ligne de commande suivante :
centreon-monitoring-agent.exe /S --help
Les différents arguments sont:
flag | description |
---|---|
--install_cma | Si ce flag est présent, l'agent sera installé |
--install_plugins | Si ce flag est présent, la dernière version des plugins sera téléchargée et installée |
--install_embedded_plugins | Utilisez ce flag pour installer les plugins fournis par l'installer (cas d'un hôte n'ayant pas accès à internet) |
--hostname | Le nom de l'hĂ´te Ă superviser tel que vous l'avez saisi dans l'interface Centreon |
--endpoint | Dans le cas le plus courant (l'agent se connecte au collecteur), saisissez l'adresse IP ou le nom DNS suivi du port OpenTelemetry sur lequel écoute le collecteur, sous la forme <adresse IP ou nom DNS>:port, par exemple 192.168.45.32:4317. Si vous activez l'option --reverse (le collecteur se connecte à l'agent), vous devez choisir l'interface (toutes les interfaces : 0.0.0.0) et le port (généralement 4317) sur lequel l'agent va accepter les connections venant du collecteur. |
--reverse | Si ce flag est présent, l'agent accepte les connections venant du collecteur |
--log_type | event_log ou file. Si vous choisissez file, le paramètre log_file est obligatoire |
--log_level | Choisir parmi: off, critical, error, warning, debug ou trace |
--log_file | Chemin du fichier de log |
--log_max_file_size | Taille maximale du fichier de log avant rotation, en Mo. |
--log_max_files | Nombre maximal de fichiers de log. Pour que la rotation des logs soit activée, ces deux paramètres sont nécessaires. |
--encryption | Si ce flag est présent le chiffrement est activé. |
--private_key | Chemin du fichier contenant la clé privée. Obligatoire si le chiffrement et le mode reverse sont activés. |
--public_cert | Chemin du fichier contenant la clé publique. Obligatoire si le chiffrement et le mode reverse sont activés. |
--ca | Chemin du fichier contenant le certificat de confiance. |
--ca_name | TLS certificate common name (CN). |
--reverse | Si ce flag est activé, l'agent accepte les connexions venant du collecteur (agent en DMZ par example). |
Si vous utilisez l'option --install_plugins et que le téléchargement échoue, l'installer va installer les plugins fournis par l'installer. |
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
En ce qui concerne le chiffrement plusieurs cas sont possibles:
- reverse (Poller-initiated connection): l'agent accepte les connexions venant du collecteur L'agent a besoin d'un fichier contenant la clé privée et d'un fichier contenant le certificat (clé publique). Attention, le champs CN du certificat doit correspondre au nom qui sera utilisé par le collecteur pour se connecter à l'hôte. Par exemple, si vous avez renseigné mon_nom_dhote dans le CN, le collecteur doit pouvoir se connecter à l'hôte mon_nom_dhote sans passer par l'adresse IP (une solution si mon_nom_dhote n'est pas dans le DNS: ajouter la correspondance IP mon_nom_dhote dans le fichier /etc/hosts).
- non reverse: l'agent se connecte au poller
Vous avez deux solutions pour le certificat:
- Vous avez stocké le certificat du poller dans le Certificate Store, vous n'avez aucun fichier à renseigner pour la clé publique.
- Sinon, il vous faut donner le chemin du fichier contenant la clé publique du serveur opentelemetry du collecteur. Comme pour le reverse mode, le nom DNS que l'agent va utiliser pour se connecter au collecteur doit être identique au CN du certificat. Si ce n'est pas possible, vous pouvez ajouter une correspondance IP nom_hote_collecteur dans le fichier C:\Windows\System32\drivers\etc\hosts.
Déployer les plugins Centreon sur l'hôte​
Les plugins Centreon exécuteront les contrôles sur l'hôte.
- Linux
- Windows
Activez les dépôts Centreon et installez le plugin​
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.
- Alma / RHEL / Oracle Linux 8
- Alma / RHEL / Oracle Linux 9
- Debian 11 & 12
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
dnf install dnf-plugins-core
dnf install epel-release
dnf config-manager --set-enabled crb
cat >/etc/yum.repos.d/centreon-plugins.repo <<'EOF'
[centreon-plugins-stable]
name=Centreon plugins repository.
baseurl=https://packages.centreon.com/rpm-plugins/el9/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/el9/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/el9/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/el9/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/el9/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/el9/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
apt update && apt install lsb-release ca-certificates apt-transport-https software-properties-common wget gnupg2 curl
wget -O- https://apt-key.centreon.com | gpg --dearmor | tee /etc/apt/trusted.gpg.d/centreon.gpg > /dev/null 2>&1
echo "deb https://packages.centreon.com/apt-plugins-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon-plugins.list
apt-get update
Installez le plugin :
apt -y install centreon-plugin-operatingsystems-linux-local
Sur les hôtes que vous voulez superviser, le plugins est déjà installé par l'installer du Centreon Monitoring Agent.
Étape 3 : Mettez l'hôte en supervision​
Créez l'hôte en utilisant le bon modèle​
- Linux
- Windows
Sur le serveur central, créez l'hôte et appliquez-lui le modèle d'hôte OS-Linux-Centreon-Monitoring-Agent-custom.
Sur le serveur central, créez l'hôte et appliquez-lui le modèle d'hôte OS-Windows-Centreon-Monitoring-Agent-custom.