Aller au contenu principal
Version: 21.10

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.10/el8/stable/noarch/RPMS/centreon-release-21.10-5.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