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. Configurez la communication entre le collecteur et l'agent :
  • Certains agents peuvent se connecter au collecteur, mais le collecteur peut également se connecter à certains agents.
  • Vous pouvez sélectionner plusieurs pollers à la fois dans un même formulaire de configuration afin d'éviter d'effectuer plusieurs fois la même configuration.
  1. 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 le type d'agent souhaité. 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. La communication entre l'agent et le collecteur se fait toujours en HTTPS. Vous devez mettre les certificats dans le répertoire /etc/pki/ du collecteur. Les fichiers doivent posséder l'extension .crt (pour les certificats) ou .key (pour la clé)
  1. Le Fournisseur de configuration est le serveur à l'intérieur du moteur du collecteur qui enverra à l'agent sa configuration. Entrez le port et les noms des fichiers de certificat. Les certificats doivent être stockés dans le répertoire /etc/pki/ du collecteur. Vous pouvez utiliser les mêmes certificats que pour le receveur OTLP.

Si vous configurez plusieurs collecteurs en même temps, assurez-vous que tous les fichiers de certificat aient le même nom.

  1. Exportez la configuration

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