Aller au contenu principal

Telegraf

Introduction​

L'agent Telegraf collecte des métriques et calcule des statuts sur les serveurs qu'il supervise, et les envoie à Centreon. Le processeur OpenTelemetry de Centreon lui permet d'interpréter les données envoyées au format OpenTelemetry.

Développé par InfluxDB, l'agent Telegraf peut être installé sur des serveurs Windows ou Linux. Centreon Engine envoie la configuration des ressources supervisées à l'agent (hôtes existants, seuils...), afin que l'agent exécute des contrôles et calcule les statuts de ces ressources.

Étant basés sur Nagios, les plugins Centreon comme les plugins personnalisés sont compatibles avec l'agent. Ceci est dû au fait que l'intégration de Centreon avec Telegraf est basée sur le format natif Nagios de données d'entrée.

Limitations​

Les limitations suivantes sont dues à des contraintes côté Telegraf ou côté Centreon.

  • Ă€ cause de limitations de Telegraf, la configuration des ressources connues de l'agent est mise Ă  jour uniquement lorsque l'agent est dĂ©marrĂ© ou redĂ©marrĂ© (typiquement, un redĂ©marrage de l'agent est nĂ©cessaire après avoir dĂ©ployĂ© la configuration). Techniquement, c'est l'agent qui demande Ă  Centreon de lui envoyer la configuration la plus Ă  jour.
  • Seules les mĂ©triques connues (c'est-Ă -dire les mĂ©triques pour les hĂ´tes et services existant dans Centreon) sont envoyĂ©es Ă  Centreon. Les mĂ©triques concernant des hĂ´tes ou services inconnus sont ignorĂ©es.
  • Seuls des mĂ©triques et des status sont retournĂ©s (pas d'outputs).
  • Les connexions rĂ©seau sont unidirectionnelles : les donnĂ©es vont de l'agent au collecteur. Cela signifie qu'un hĂ´te situĂ© dans une DMZ devra communiquer avec un collecteur situĂ© dans la mĂŞme DMZ.
  • Lorsqu'une amĂ©lioration ou une correction sont publiĂ©es, le plugin Centreon doit ĂŞtre redĂ©ployĂ© sur les hĂ´tes supervisĂ©s (il n'y a pas de mise Ă  jour automatique).

Étape 1: Configurez Centreon​

Installez le connecteur de supervision​

  1. Sur votre serveur central, allez Ă  la page Configuration > Gestionnaire de connecteurs de supervision.
  2. Installez le connecteur de supervision Linux Telegraf Agent.

Créez le connecteur Telegraf​

Installez le processeur Open Telemetry pour Telegraf sur votre serveur central :

  1. Allez Ă  la page Configuration > Commandes > Connecteurs.
  2. Créez un nouveau connecteur avec les données suivantes :
ParamètreValeur
Nom du connecteurTelegraf
Description du connecteurnTelegraf
Ligne de commandeopentelemetry --processor=nagios_telegraf --extractor=attributes --host_path=resource_metrics.scope_metrics.data.data_points.attributes.host --service_path=resource_metrics.scope_metrics.data.data_points.attributes.service
Utilisé par la commandeEntrez Telegraf-Agent et cliquez sur Sélectionner tout
Statut du connecteurActivé

Configurez Engine​

  1. Sur le collecteur qui recevra les données de l'agent, créez le fichier suivant :

    touch /etc/centreon-engine/otl_server.json
  2. Entrez le contenu suivant. Cela permettra au collecteur de recevoir les données en provenance de l'agent.

{
"otel_server": {
"host": "0.0.0.0",
"port": 4317,
"encryption": false
},
"max_length_grpc_log": 0,
"telegraf_conf_server": {
"http_server": {
"port": 1080,
"encryption": false
},
"telegraf_conf": {
"interval": "60s",
"service_address": "xxx.xxx.xxx.xxx:4317"
}
}
}
  • Entrez l'adresse IP du collecteur dans le champ service_address.
  • Le champ interval correspond Ă  la frĂ©quence des contrĂ´les effectuĂ©s par Telegraf, et doit valoir 60 secondes, car il s'agit de la frĂ©quence des contrĂ´les Engine.

Pour des raisons de simplicité, cette page ne couvre que la configuration de Telegraf en mode non sécurisé, mais vous trouverez la procédure pour chiffrer les communications dans la documentation du connecteur Linux Telegraf Agent ou celle du connecteur Windows Telegraf Agent.

Ajoutez un nouveau module Broker​

  1. Allez Ă  la page Configuration > Collecteurs > Configuration du moteur de collecte, puis cliquez sur le collecteur qui supervisera les ressources.

  2. Dans l'onglet Données, dans la section Commande de lancement du module, dans le paramètre Multiple Broker Module, cliquez sur Ajouter une nouvelle entrée.

  3. Ajoutez l'entrée suivante :

    /usr/lib64/centreon-engine/libopentelemetry.so /etc/centreon-engine/otl_server.json
  4. Exportez la configuration

  5. Redémarrez le moteur de collecte

    systemctl restart centengine

L'agent Telegraf 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​

dnf -y install epel-release
dnf -y config-manager --set-enabled 'powertools'

La partie qui suit est extraite de la documentation officielle de Telegraf.

cat > /etc/yum.repos.d/influxdb.repo <<'EOF'
[influxdb]
name = InfluxData Repository - Stable
baseurl = https://repos.influxdata.com/stable/$basearch/main
enabled = 1
gpgcheck = 1
gpgkey = https://repos.influxdata.com/influxdata-archive_compat.key
EOF
dnf install -y telegraf

Puis :

  1. ArrĂŞtez le service Telegraf :
systemctl stop telegraf
  1. Éditez le fichier telegraf.service.
vi /etc/systemd/system/telegraf.service
  1. Remplacez :
/usr/bin/telegraf -config /etc/telegraf/telegraf.conf -config-directory /etc/telegraf/telegraf.d $TELEGRAF_OPTS

Par (remplacez les exemples par vos propres valeurs) :

/usr/bin/telegraf -config http(s)://<ip poller>:<port poller>/engine?host=<host to monitor>
  1. DĂ©marrez le service Telegraf :
systemctl start telegraf

Déployer le plugin Centreon sur l'hôte​

Le plugin Centreon exécutera les contrôles sur l'hôte.

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 standards des distributions.

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-leur le modèle d'hôtes OS-Linux-Telegraf-Agent-custom.

Redémarrez l'agent​

Pour que l'agent connaisse les services nouvellement créés et puisse les superviser, exécutez la commande suivante sur l'hôte :

systemctl restart telegraf