Installer l'Agent Centreon
Introductionâ
L'Agent Centreon est un logiciel qui supervise sa machine hĂŽte et les services qui y tournent.
L'Agent peut ĂȘtre utilisĂ© pour superviser des serveurs qui exploitent un service Centreon On-Premise (central, serveur distant, collecteur, Map, etc.).
Les données sont envoyées vers la Plateforme Centreon Cloud. Aucune donnée personnelle n'est collectée.
Bien que la procédure suivante et que les fichiers de configuration de l'Agent en général permettent les personnalisations, nous vous recommandons vivement de laisser les noms de fichiers, etc. tels quels.
PrĂ©requisâ
Pour que les mĂ©triques parviennent Ă la Plateforme Centreon Cloud (oĂč la supervision de la supervision est effectuĂ©e), l'Agent Centreon doit pouvoir accĂ©der Ă notre endpoint public Ă l'adresse suivante :
https://api.a.prod.mycentreon.com/v1/observability
(port 443)Vous pouvez tester si votre machine peut accéder à notre endpoint à l'aide de la commande suivante :
curl -v https://api.a.prod.mycentreon.com/v1/observability
Vous pouvez aussi faire le test en passant par un proxy avec la commande suivante :
curl -v https://api.a.prod.mycentreon.com/v1/observability \
--proxy [protocol://]host[:port] --proxy-insecureExemple :
curl -v https://api.a.prod.mycentreon.com/v1/observability \
--proxy http://proxy.local.net:3128 --proxy-insecure
Le message suivant sera retourné si la connexion aboutit:
"Missing Authentication Token"
Si vous recevez une réponse différente ou pas de réponse du tout, c'est que votre machine ne peut pas accéder à notre endpoint, probablement à cause de vos paramÚtres réseau (pare-feu, proxy, etc.).
Si un proxy est configuré sur la machine hÎte, vous devez copier l'adresse et le port du proxy dans le fichier de configuration de l'Agent (voir la section Réseau).
Si une machine hÎte n'a pas d'accÚs direct à l'extérieur, deux options complémentaires l'une de l'autre se présentent : la configuration proxy et la configuration passerelle.
Les fichiers RPM sont disponibles sur les dĂ©pĂŽts Centreon officiels des versions actuellement supportĂ©es. Le dĂ©pĂŽt Centreon officiel doit ĂȘtre installĂ© :
- Alma / RHEL / Oracle Linux 8
- CentOS 7
dnf install -y https://yum.centreon.com/standard/22.04/el8/stable/noarch/RPMS/centreon-release-22.04-3.el8.noarch.rpm
yum install -y https://yum.centreon.com/standard/22.04/el7/stable/noarch/RPMS/centreon-release-22.04-3.el7.centos.noarch.rpm
- Vous devez ĂȘtre en possession de votre jeton unique vous permettant d'envoyer des donnĂ©es vers notre plateforme. Ce jeton vous est fourni par notre Ă©quipe support.
Installer l'Agentâ
Tous les composants Centreon que vous voulez superviser (central, collecteur, serveur distant, etc.) doivent chacun avoir un Agent installé sur leur machine hÎte.
Sur un serveur central Centreonâ
Installez centreon-helios:
yum install centreon-helios
Installez l'Agent :
yum install centreon-agent
Si vous installez l'Agent pour la premiÚre fois sur ce serveur, générez le fichier yaml de configuration à l'aide de la commande Shell suivante :
Ne réalisez cette étape que si l'Agent n'a jamais été configuré. Dans le cas contraire, vous écraseriez votre configuration précédente.
/usr/sbin/centreon-agent config \
--token [votre-jeton] \
--type central \
--output /etc/centreon-agent/centreon-agent.ymlExemple :
/usr/sbin/centreon-agent config \
--token aaaa-aaaa-aaaa-aaaa \
--type central \
--output /etc/centreon-agent/centreon-agent.ymlCertains paramĂštres ont des valeurs par dĂ©faut. Ăditez le fichier
/etc/centreon-agent/centreon-agent.yml
et vĂ©rifiez les valeurs suivantes :centreonengine_stats_file : le nom et le chemin du fichier sont-ils corrects (au cas oĂč vous les auriez personnalisĂ©s sur votre plateforme)?
centreonbroker_stats_files : le nom et le chemin du fichier sont-ils corrects (au cas oĂč vous les auriez personnalisĂ©s sur votre plateforme)?
centreonweb : les paramÚtres de la base de données sont-ils corrects? Le format est le suivant :
collect:
centreonweb:
config_dsn: [utilisateur]:[mot-de-passe]@tcp([hĂŽtebdd])/[nombddcentreon]
storage_dsn: [utilisateur]:[mot-de-passe]@tcp([hĂŽtebdd])/[nombddcentreon_storage]Exemple :
collect:
centreonweb:
config_dsn: admin:UzG2b5wcMf8EqM2b@tcp(172.28.2.60)/centreon
storage_dsn: admin:UzG2b5wcMf8EqM2b@tcp(172.28.2.60)/centreon_storageLa fonction Topologie se base sur le fichier
centreon-agent.yml
pour collecter les informations dont il a besoin : ce comportement est codé en dur. Si vous changez le nom de ce fichier YAML, la collecte échouera.
Ajoutez un tag environment :
Ouvrez le fichier
/etc/centreon-agent/centreon-agent.yml
généré à l'installation et ajoutez les informations suivantes dans la section collect.collect:
tags:
environment: [staging|preproduction|production|your-custom-value]Exemple :
collect:
tags:
environment: productionSi vous avez plusieurs environnements du mĂȘme type, vous pouvez ajouter un _suffixe Ă votre type d'environnement (par exemple : "production_client1").
Activez le service centreon-agent :
systemctl enable centreon-agent.service
Démarrez le service centreon-agent :
systemctl start centreon-agent.service
Activez la planification de la topologie: éditez le fichier cron /etc/cron.d/centreon-helios et décommentez la ligne suivante (c'est-à -dire supprimez le caractÚre #):
0 0 * * * centreon /usr/sbin/centreon-helios.phar
Si vous avez une prĂ©cĂ©dente version de l'agent dĂ©jĂ installĂ©e, la ligne concernĂ©e peut ĂȘtre diffĂ©rente : dans ce cas, remplacez-la par la ligne ci-dessus.
La fonction Topologie utilise le fichier centreon-agent.yml pour collecter les informations nécessaires: ce comportement est codé en dur. Si vous changez le nom de ce fichier YAML, la fonction échouera.
Vous pouvez maintenant configurer votre Agent (passerelle, proxy etc.), puis tester votre configuration générale.
Sur d'autres machines hĂŽtes (serveur distant, collecteur, MAP, etc.)â
Installez l'Agent:
yum install centreon-agent
Si vous installez l'Agent pour la premiĂšre fois sur ce serveur, configurez le fichier
centreon-agent.yml
:Ne réalisez cette étape que si l'Agent n'a jamais été configuré. Dans le cas contraire, vous écraseriez votre configuration précédente.
/usr/sbin/centreon-agent config \
--token [votre-jeton] \
--type [system|central|remote|poller|map] \
--output /etc/centreon-agent/centreon-agent.ymlExemple :
/usr/sbin/centreon-agent config \
--token aaaa-aaaa-aaaa-aaaa \
--type poller \
--output /etc/centreon-agent/centreon-agent.ymlAjoutez un tag environment :
Ouvrez le fichier
/etc/centreon-agent/centreon-agent.yml
généré à l'installation et ajoutez les informations suivantes dans la section collect.collect:
tags:
environment: [staging|preproduction|production|valeur-personnalisée]Exemple :
collect:
tags:
environment: productionSi vous avez plusieurs environnements du mĂȘme type, vous pouvez ajouter un _suffixe Ă votre type d'environnement (par exemple : "production_client1").
Activez le service centreon-agent :
systemctl enable centreon-agent.service
Démarrez le service centreon-agent :
systemctl start centreon-agent.service
Vous pouvez maintenant configurer votre Agent (passerelle, proxy etc.), puis tester votre configuration générale.
Configurer l'Agentâ
RĂ©seauâ
Si un Agent n'a pas d'accÚs direct à l'extérieur, deux options vous permettent de résoudre le problÚme : l'accÚs via un proxy HTTP et/ou l'accÚs en mode passerelle. Dans ce dernier, l'Agent qui a besoin d'accéder à l'extérieur (appelé "Passerelle cliente") peut passer par un autre Agent pouvant accéder à l'extérieur (appelé "Passerelle serveur").
Exemple
Votre infrastructure est protégée (en milieu fermé) et un serveur proxy gÚre tout le trafic sortant. Vous voulez donner accÚs à l'extérieur uniquement à l'Agent installé sur la machine hÎte du serveur central Centreon. Dans ce cas, vous pourriez configurer votre réseau de la maniÚre suivante :
Configurez le proxy sur l'Agent du serveur central pour lui permettre d'accéder à l'extérieur
Configurez cet Agent en tant que passerelle serveur
Configurez tous les autres Agents (installés sur les collecteurs, serveurs distants, MAP, etc.) en tant que passerelles clientes
Configuration proxyâ
Si un accÚs proxy est configuré sur la machine hÎte, copiez les paramÚtres du proxy dans le fichier /etc/centreon-agent/centreon-agent.yml
Ă l'endroit suivant :
output:
token: [votre-jeton]
proxy_url: [addresse-du-proxy]:[port]
proxy_ssl_insecure: [true|false]
Exemple :
output:
token: aaaa-aaaa-aaaa-aaaa
proxy_url: http//proxy.local.net:3128
proxy_ssl_insecure: false
Redémarrez ensuite l'Agent:
systemctl restart centreon-agent.service
Configuration en mode passerelleâ
Passerelle Serveur: copiez le code suivant dans le fichier
/etc/centreon-agent/centreon-agent.yml
de l'Agent qui tiendra le rÎle de passerelle serveur. Pour renforcer la sécurité des échanges entre la passerelle client et la passerelle serveur, vous pouvez définir un jeton d'authentificationauth-token
, c'est-à -dire la chaßne de caractÚres de votre choix (différente du jeton que vous avez entré pour configurer le fichiercentreon-agent.yml
).gateway:
enable: true
listen_port: [port-d-écoute]
auth_token: [votre-jeton-de-passerelle]Example:
gateway:
enable: true
listen_port: 54321
auth_token: azerty1234Redémarrez ensuite l'Agent :
systemctl restart centreon-agent.service
Passerelle cliente
En mode passerelle, la passerelle cliente délÚgue la configuration de son jeton principal à la passerelle serveur (puisque seule celle-ci communique avec la Plateforme Centreon Cloud). En conséquence, commentez la ligne
token
Ă l'aide de l'opĂ©rateur yaml â#â. Si vous avez dĂ©fini un jeton d'authentification (auth_token
) sur la passerelle serveur, vous devez également l'ajouter à la configuration de la passerelle cliente.output:
#token: [votre-jeton]
gateway:
url: http://[addresse-ip-de-la-passerelle-serveur]:[port-d-écoute]
auth_token: [votre-jeton-de-passerelle]Exemple :
output:
#token: aaaa-aaaa-aaaa-aaaa
gateway:
url: http://172.28.6.145:54321
auth_token: azerty1234Redémarrez ensuite l'Agent :
systemctl restart centreon-agent.service
Activer la collecte de logs Centreonâ
à partir de la version 2 de centreon-agent, il est possible de récupérer les logs générés par le composant Centreon supervisé.
Pour dĂ©finir quels logs doivent ĂȘtre rĂ©cupĂ©rĂ©s, vous devez crĂ©er des fichiers yml de configuration dans le dossier suivant : /etc/centreon-agent/conf.d
.
Pour récupérer un log précis, le fichier de configuration doit contenir les arguments suivants : path
, type
et pattern
du log choisi. Exemple :
- path: /var/log/centreon-gorgone/gorgoned.log
pattern: "%{CENTREONGORGONE}"
type: file
Vous pouvez avoir plusieurs fichiers de configuration (chaque fichier est analysé et les fichiers de logs définis sont ajoutés à la collecte).
Utiliser les modĂšlesâ
Pour simplifier la configuration de la collecte de logs, des modÚles pré-configurés sont fournis. Chaque modÚle couvre un périmÚtre spécifique en fonction du composant Centreon, de sa version, etc.
Les modÚles sont situés dans le répertoire suivant :
/usr/share/centreon-agent/examples
Suivant le composant Centreon supervisé, vous pouvez simplement copier-coller le modÚle correspondant dans votre répertoire /etc/centreon-agent/conf.d
.
Finaliser la configuration des modĂšlesâ
Pour les collecteurs Centreon, les fichiers de log sont préfixés du nom du collecteur. Vous devez donc adapter le modÚle. Ouvrez le modÚle
poller
et remplacez tous les noms génériquesPOLLERNAME
dans la sectionpath
par le vrai nom du collecteur.
Les modÚles fournis fonctionneront directement avec une installation Centreon standard. En cas de doute, vous pouvez localiser le fichier de log désiré et comparer son chemin avec celui indiqué dans la section path
du modĂšle.
En cas d'erreurs, vous trouverez des explications détaillées du problÚme dans les logs de centreon-agent dans /var/log/centreon-agent/centreon-agent.log
.
DĂ©marrer la collecte des logsâ
Une fois la collecte de vos logs configurée, redémarrez l'agent en utilisant la commande suivante :
systemctl restart centreon-agent.service
Tagsâ
L'Agent peut contextualizer la collecte de données avec vos propres tags personnalisés afin de définir son périmÚtre d'action. Ces tags seront utilisés par la suite pour agréger les données de supervision et créer des tableaux de bord ou des rapports dans des contextes pertinents.
Nous recommandons fortement que le premier tag que vous dĂ©finissiez soit âenvironmentâ afin de disposer d'une rĂ©fĂ©rence commune Ă tous les utilisateurs.
Les tags peuvent ĂȘtre configurĂ©s dans le fichier YAML /etc/centreon-agent/centreon-agent.yml
généré à l'installation. Les tags sont sensibles à la casse (production
et Production
sont considérés comme deux tags différents).
collect:
tags:
environment: [staging|preproduction|production|valeur-personnalisée]
[tag2]: [valeur-personnalisée2]
[tag3]: [valeur-personnalisée3]
collect:
tags:
environment: production
City: Paris
Redémarrez ensuite l'Agent :
systemctl restart centreon-agent.service
Base de donnĂ©es dĂ©portĂ©eâ
Si le composant Centreon supervisé par l'Agent est configuré avec une base de donnée spécifique ou déportée, vous pouvez spécifier l'accÚs à la base de données dans le fichier YAML /etc/centreon-agent/centreon-agent.yml
généré à l'installation.
collect:
centreonweb:
config_dsn: [utilisateur]:[mot-de-passe]@tcp([hĂŽtebdd])/[nombddcentreon]
storage_dsn: [utilisateur]:[mot-de-passe]@tcp([hĂŽtebdd])/[nombddcentreon_storage]
Exemple :
collect:
centreonweb:
config_dsn: admin:UzG2b5wcMf8EqM2b@tcp(172.28.2.60)/centreon
storage_dsn: admin:UzG2b5wcMf8EqM2b@tcp(172.28.2.60)/centreon_storage
Redémarrez ensuite l'Agent :
systemctl restart centreon-agent.service
Rotation des logsâ
L'Agent enregistre toute activité (nominale ou en erreur) dans le fichier /var/log/centreon-agent/centreon-agent.log
.
Par défaut, un fichier /etc/logrotate.d/centreon-agent
a été créé à l'installation et configuré de la maniÚre suivante :
/var/log/centreon-agent/centreon-agent.log {
daily
copytruncate
rotate 7
compress
}
Vous pouvez le laisser ainsi ou bien ajuster la politique de rotation des logs pour mieux correspondre Ă vos besoins en utilisant les paramĂštres de logrotate.
Tester l'Agentâ
Tester le service centreon-agentâ
Ă cette Ă©tape, le service centreon-agent doit tourner, et ĂȘtre paramĂ©trĂ© pour se lancer au dĂ©marrage du systĂšme. La commande suivante vĂ©rifie que le service a Ă©tĂ© configurĂ© correctement :
systemctl status centreon-agent
Si tout s'est bien passé, le résultat ressemblera à l'exemple suivant :
systemctl status centreon-agent
â centreon-agent.service - The Centreon Agent collect metrics and send them to Centreon SaaS Platform
Loaded: loaded (/etc/systemd/system/centreon-agent.service; enabled; vendor preset: disabled)
Active: active (running) since ven. 2019-11-08 14:52:26 CET; 5 days ago
Main PID: 22331 (centreon-agent)
CGroup: /system.slice/centreon-agent.service
ââ22331 /usr/sbin/centreon-agent run
Tester la collecte de donnĂ©esâ
Une fois l'installation et la configuration terminées, vous pouvez utiliser la commande suivante pour forcer la collecte de données :
centreon-agent sample
Le résultat devrait ressembler à ça :
1624977737000000// centreonengine_uptime_seconds{_cmaas=cmco,hostname=val-central.centreon.io,os=linux,osfamily=rhel} 693583
1624977737000000// centreonengine_command_buffers_used{_cmaas=cmco,hostname=val-central.centreon.io,os=linux,osfamily=rhel} 0
1624977737000000// centreonengine_command_buffers_high{_cmaas=cmco,hostname=val-central.centreon.io,os=linux,osfamily=rhel} 0
1624977737000000// centreonengine_command_buffers_total{_cmaas=cmco,hostname=val-central.centreon.io,os=linux,osfamily=rhel} 4096
1624977737000000// centreonengine_external_command_1m{_cmaas=cmco,hostname=val-central.centreon.io,os=linux,osfamily=rhel} 0
1624977737000000// centreonengine_general_external_command_5m{_cmaas=cmco,hostname=val-central.centreon.io,os=linux,osfamily=rhel} 0
Si vous obtenez des erreurs en testant la collecte, les logs du fichier /var/log/centreon-agent/centreon-agent.log
peuvent vous aider à résoudre le problÚme.
Tester l'accĂšs Ă la Plateforme Centreon Cloudâ
Une fois l'installation et la configuration terminées, utilisez la commande suivante pour tester la connexion entre l'Agent et la Plateforme Centreon Cloud :
centreon-agent ping --config [chemin vers votre fichier centreon-agent.yml]
L'Agent retournera l'un des messages suivants :
Unable to reach the Centreon Cloud Platform, check your network configuration : vérifiez votre configuration réseau (proxy etc.)
Centreon Cloud Platform reached successfully but your token is not recognized : votre jeton n'est pas reconnu
Centreon Cloud Platform reached successfully and authentication was successful : l'Agent est bien connecté à notre plateforme.
Mettre Ă jour l'Agentâ
Pour mettre Ă jour l'Agent, entrez :
yum clean all --enablerepo=*
yum update centreon-agent