Aller au contenu principal

Centreon Monitoring Agent

L'agent CMA est encore en phase bêta. Pour obtenir de l'aide, visitez notre groupe dédié sur The Watch.

Introduction

L'Agent de supervision Centreon (Centreon Monitoring Agent, CMA) est un logiciel 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 Configuration d'agent, dans la section Récepteur OTLP :

  • Certificat public (.crt)
  • Clé privée (.key)
  • 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).

Le nom DNS que l'agent utilisera pour se connecter au collecteur (champ "Poller endpoint") doit être identique au Common Name 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).

  • 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)

Mode test : communication non chiffrée

Dans Centreon OnPrem 24.10, vous pouvez laisser la connexion non chiffrée à des fins de test uniquement. Dans ce mode, vous n'avez besoin d'aucun certificat ou jeton.

Notez que cette connexion ne durera qu'une heure. N'utilisez pas ce paramètre en production !

Pour configurer ce mode, sélectionnez No TLS dans la liste Niveau de chiffrement de la fenêtre Configuration collecteur/agent.

L'agent sera configuré de la manière suivante sur l'hôte :

{
"log_level":"info",
"endpoint":"<IP POLLER>:4317",
"encryption" : "no",
"host":"host_1",
"log_type":"file",
"log_file":"/var/log/centreon-monitoring-agent/centagent.log"
}

Générer un certificat autosigné

Pour générer un certificat autosigné valide un an, exécutez la commande suivante sur votre collecteur (remplacez poller_hostname par la valeur correcte) :

openssl req -new -newkey rsa:2048 -days 365 -nodes -x509 -keyout {key} -out {cert} -subj '/CN={poller_hostname}'
  • {key} = chemin du fichier clé privée
  • {cert} = chemin du fichier clé publique ou certificat
  • {poller_hostname} = nom DNS du collecteur

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é). Assurez-vous que les droits sur les fichiers sont corrects, à l'aide de la commande chmod 644 /etc/pki/agent*.
  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 (2 cas) :
{
"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"
}

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.