Recopilación de métricas personalizadas para una máquina virtual Linux con el agente de InfluxData Telegraf

Precaución

En este artículo se hace referencia a CentOS, una distribución de Linux que está cerca de su estado Final de ciclo vida (EOL). Tenga en cuenta su uso y planeación en consecuencia. Para más información, consulte la Guía de fin de ciclo de vida de CentOS.

Este artículo explica cómo implementar y configurar el agente de InfluxData Telegraf en una máquina virtual Linux para enviar métricas a Azure Monitor.

Nota

InfluxData Telegraf es un agente de código abierto y no se admite oficialmente en Azure Monitor. Si tiene problemas con el conector de Telegraf, consulte la página de Telegraf en GitHub aquí: InfluxData

Agente de InfluxData Telegraf

Telegraf es un agente controlado por complemento que habilita la recopilación de métricas más de 150 orígenes diferentes. Según las cargas de trabajo que se ejecuten en la máquina virtual, puede configurar al agente para usar los complementos de entrada especializados para recopilar métricas. Algunos ejemplos son MySQL, NGINX y Apache. Mediante el uso de complementos de salida, el agente, a continuación, puede escribir en los destinos que elija. El agente de Telegraf se integra directamente con la API REST de métricas personalizadas de Azure Monitor. Admite un complemento de salida de Azure Monitor. Mediante este complemento, el agente puede recopilar métricas específicas de la carga de trabajo de la máquina virtual Linux y enviarlas como métricas personalizadas a Azure Monitor.

Un diagrama que muestra la información general del agente de Telegraph.

Conexión a la máquina virtual

Cree una conexión SSH a la máquina virtual donde desea instalar Telegraf. Seleccione el botón Conectar en la página de información general de la máquina virtual.

Una captura de pantalla de la página de información general de una máquina virtual con el botón de conexión resaltado.

En la página Connect to virtual machine (Conexión a una máquina virtual), mantenga las opciones predeterminadas para conectarse por nombre DNS a través del puerto 22. En Iniciar sesión con la cuenta local de VM se muestra un comando de conexión. Seleccione el botón para copiar el comando. En el ejemplo siguiente se muestra el aspecto que tiene el comando de conexión SSH:

ssh azureuser@XXXX.XX.XXX

Pegue el comando de conexión SSH en un shell, como Azure Cloud Shell o Bash en Ubuntu o Windows, o bien use un cliente de SSH de su elección para crear la conexión.

Instalación y configuración de Telegraf

Para instalar el paquete de Telegraf para Debian en la máquina virtual, ejecute los siguientes comandos desde la sesión SSH:

Agregue el repositorio:

# 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

Instala el paquete:

   sudo apt-get update
   sudo apt-get install telegraf

El archivo de configuración de Telegraf define las operaciones de Telegraf. De forma predeterminado, se instala un archivo de configuración de ejemplo en la ruta de acceso /etc/telegraf/telegraf.conf. El archivo de configuración de ejemplo enumera todos los posibles complementos de entrada y salida. Sin embargo, vamos a crear un archivo de configuración personalizado y haremos que el agente lo use; para ello, hay que ejecutar los siguientes comandos:

# 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

Nota

El código anterior solo permite dos complementos de entrada: cpu y mem. Puede agregar más complementos de entrada, en función de la carga de trabajo que se ejecute en la máquina. Algunos ejemplos son Docker, MySQL y NGINX. Para obtener una lista completa de complementos de entrada, consulte la sección Configuración adicional.

Por último, para que el agente se inicie con la nueva configuración, hacemos que el agente se detenga y se inicie mediante los siguientes comandos:

# 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

Ahora, el agente recopilará las métricas de cada uno de los complementos de entrada especificados y los emitirá a Azure Monitor.

Trazado de las métricas de Telegraf en Azure Portal

  1. Abra Azure Portal.

  2. Vaya a la pestaña Supervisar. Seleccione Métricas.

  3. Seleccione la máquina virtual en el selector de recursos.

  4. Seleccione el espacio de nombres Telegraf/CPU y la métrica usage_system. Puede elegir filtrar por las dimensiones de esta métrica, o dividir según dichas dimensiones.

    Captura de pantalla que muestra un gráfico de métricas con las métricas de Telegraph seleccionadas.

Configuración adicional

En el tutorial anterior, se proporciona información sobre cómo configurar el agente de Telegraf para recopilar métricas de algunos complementos básicos de entrada. El agente de Telegraf es compatible con más de 150 complementos de entrada, con algunas opciones de configuración adicionales de compatibilidad. InfluxData ha publicado una lista de complementos compatibles e instrucciones en inglés sobre cómo configurarlas.

Además, en este tutorial usó el agente de Telegraf para emitir métricas acerca de la máquina virtual en la que se implementó el agente. El agente de Telegraf también se puede usar como un recopilador y centro de reenvío de las métricas para otros recursos. Para obtener más información sobre cómo configurar el agente para que emita métricas para otros recursos de Azure, consulte Azure Monitor Custom Metric Output for Telegraf (Salida de métricas personalizadas de Azure Monitor para Telegraf).

Limpieza de recursos

Cuando ya no los necesite, puede eliminar el grupo de recursos, la máquina virtual y todos los recursos relacionados. Para ello, seleccione el grupo de recursos de la máquina virtual y seleccione Eliminar. Después, confirme el nombre del grupo de recursos que hay que eliminar.

Pasos siguientes