Aller au contenu principal

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-insecure

    Exemple :

    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Ă© :

dnf install -y https://yum.centreon.com/standard/21.04/el8/stable/noarch/RPMS/centreon-release-21.04-6.el8.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​

  1. Installez centreon-helios:

    yum install centreon-helios
  2. Installez l'Agent :

    yum install centreon-agent
  3. 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.yml

    Exemple :

    /usr/sbin/centreon-agent config \
    --token aaaa-aaaa-aaaa-aaaa \
    --type central \
    --output /etc/centreon-agent/centreon-agent.yml

    Certains 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_storage

      La 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.

  4. 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: production

    Si vous avez plusieurs environnements du mĂŞme type, vous pouvez ajouter un _suffixe Ă  votre type d'environnement (par exemple : "production_client1").

  5. Activez le service centreon-agent :

    systemctl enable centreon-agent.service
  6. DĂ©marrez le service centreon-agent :

    systemctl start centreon-agent.service
  7. 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.

  8. 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.)​

  1. Installez l'Agent:

    yum install centreon-agent
  2. 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.yml

    Exemple :

    /usr/sbin/centreon-agent config \
    --token aaaa-aaaa-aaaa-aaaa \
    --type poller \
    --output /etc/centreon-agent/centreon-agent.yml
  3. 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|valeur-personnalisée]

    Exemple :

    collect:
    tags:
    environment: production

    Si vous avez plusieurs environnements du mĂŞme type, vous pouvez ajouter un _suffixe Ă  votre type d'environnement (par exemple : "production_client1").

  4. Activez le service centreon-agent :

    systemctl enable centreon-agent.service
  5. DĂ©marrez le service centreon-agent :

    systemctl start centreon-agent.service
  6. 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'authentification auth-token, c'est-Ă -dire la chaĂ®ne de caractères de votre choix (diffĂ©rente du jeton que vous avez entrĂ© pour configurer le fichier centreon-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: azerty1234

    Redé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: azerty1234

    Redé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ériques POLLERNAME dans la section path 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