Collecter des métriques personnalisées pour une machine virtuelle Linux avec l’agent InfluxData Telegraf

Cet article explique comment déployer et configurer l’agent InfluxData Telegraf sur une machine virtuelle Linux pour envoyer des métriques à Azure Monitor.

Notes

InfluxData Telegraf est un agent open source qui n’est pas officiellement pris en charge par Azure Monitor. Pour les problèmes liés au connecteur Telegraf, consultez la page GitHub Telegraf ici : InfluxData

Agent InfluxData Telegraf

Telegraf est un agent piloté par le plug-in qui permet la collection de métriques provenant de plus de 150 sources différentes. En fonction des charges de travail exécutées sur votre machine virtuelle, vous pouvez configurer l'agent pour qu'il utilise des plug-ins d'entrée spécialisés pour collecter des métriques. MySQL, NGINX et Apache en sont des exemples. À l’aide de plug-ins de sortie, l’agent peut ensuite écrire les données dans les destinations que vous choisissez. L’agent Telegraf s’intègre directement à l’API REST de métriques personnalisées Azure Monitor. Il prend en charge un plug-in de sortie Azure Monitor. À l'aide de ce plug-in, l'agent peut collecter des métriques spécifiques à la charge de travail sur votre machine virtuelle Linux et les soumettre en tant que métriques personnalisées à Azure Monitor.

Un diagramme montrant la vue d'ensemble de l'agent Telegraph.

Connexion à la machine virtuelle

Créez une connexion SSH à la machine virtuelle sur laquelle vous souhaitez installer Telegraf. Sélectionnez le bouton Se connecter sur la page de vue d’ensemble de votre machine virtuelle.

Capture d’écran de la page de présentation de la machine virtuelle avec le bouton de connexion en surbrillance.

Sur la page Se connecter à la machine virtuelle, conservez les options par défaut pour vous connecter par nom DNS sur le port 22. Dans Se connecter à l’aide d’un compte local de machine virtuelle, une commande de connexion s’affiche. Sélectionnez le bouton pour copier la commande. L’exemple suivant montre la commande de connexion SSH :

ssh azureuser@XXXX.XX.XXX

Collez la commande de connexion SSH dans un interpréteur de commandes, par exemple, Azure Cloud Shell ou Bash sur Ubuntu dans Windows, ou utilisez le client SSH de votre choix pour établir la connexion.

Installer et configurer Telegraf

Pour installer le package Debian Telegraf sur la machine virtuelle, exécutez les commandes suivantes à partir de votre session SSH :

Ajoutez le référentiel :

# download the package to the VM
curl -s https://repos.influxdata.com/influxdb.key | sudo apt-key add -
source /etc/lsb-release
sudo echo "deb https://repos.influxdata.com/${DISTRIB_ID,,} ${DISTRIB_CODENAME} stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
sudo curl -fsSL https://repos.influxdata.com/influxdata-archive_compat.key | sudo apt-key --keyring /etc/apt/trusted.gpg.d/influxdata-archive_compat.gpg add

Installez le package :

   sudo apt-get update
   sudo apt-get install telegraf

Le fichier de configuration de Telegraf définit les opérations de Telegraf. Par défaut, un exemple de fichier de configuration est installé au chemin suivant : /etc/telegraf/telegraf.conf. L’exemple de fichier de configuration répertorie tous les plug-ins d’entrée et de sortie possibles. Toutefois, nous allons créer un fichier de configuration personnalisé, que l’agent utilisera en exécutant les commandes suivantes :

# generate the new Telegraf config file in the current directory
telegraf --input-filter cpu:mem --output-filter azure_monitor config > azm-telegraf.conf

# replace the example config with the new generated config
sudo cp azm-telegraf.conf /etc/telegraf/telegraf.conf

Notes

Le code précédent accepte uniquement deux plug-ins d’entrée : cpu et mem. Vous pouvez ajouter davantage de plug-ins d’entrée, selon la charge de travail exécutée sur votre ordinateur. Il peut s’agir, par exemple, d’une charge de travail Docker, MySQL ou NGINX. Pour obtenir la liste complète des plug-ins d’entrée, consultez la section Configuration supplémentaire.

Enfin, pour que l’agent démarre avec la nouvelle configuration, nous forçons l’arrêt et le redémarrage de l’agent en exécutant les commandes suivantes :

# stop the telegraf agent on the VM
sudo systemctl stop telegraf
# start and enable the telegraf agent on the VM to ensure it picks up the latest configuration
sudo systemctl enable --now telegraf

Désormais, l'agent collecte les métriques de chacun des plug-ins d'entrée spécifiés et les transmet à Azure Monitor.

Tracer vos métriques Telegraf dans le portail Azure

  1. Ouvrez le portail Azure.

  2. Accédez au nouvel onglet Surveiller . Puis sélectionnez Métriques.

  3. Sélectionnez votre machine virtuelle dans le sélecteur de ressources.

  4. Sélectionnez l’espace de noms Telegraf/CPU, puis sélectionnez la métrique usage_system. Vous pouvez choisir de filtrer selon les dimensions de cette métrique, ou de les fractionner.

    Une capture d'écran montrant un graphique métrique avec les métriques télégraphiques sélectionnées.

Configuration supplémentaire

La procédure pas à pas précédente explique comment configurer l’agent Telegraf pour collecter les métriques à partir de plusieurs plug-ins d’entrée de base. L’agent Telegraf prend en charge plus de 150 plug-ins d’entrée, dont certains prennent en charge des options de configuration supplémentaires. InfluxData a publié une liste des plug-ins pris en charge et des instructions sur comment les configurer.

De plus, dans cette procédure pas à pas, vous avez utilisé un agent Telegraf pour envoyer des métriques concernant la machine virtuelle sur laquelle l’agent est déployé. L’agent Telegraf peut également servir de collecteur et de redirecteur de métriques pour d’autres ressources. Pour savoir comment configurer l’agent afin d’émettre des métriques pour les autres ressources Azure, consultez Sortie de métriques personnalisée Azure Monitor pour Telegraf.

Nettoyer les ressources

Dès que vous n’en avez plus besoin, vous pouvez supprimer le groupe de ressources, la machine virtuelle et toutes les ressources associées. Pour ce faire, sélectionnez le groupe de ressources de la machine virtuelle, puis sélectionner Supprimer. Ensuite, confirmez le nom du groupe de ressources à supprimer.

Étapes suivantes