Raccogliere metriche personalizzate per una VM Linux con l'agente InfluxData Telegraf

Attenzione

Questo articolo fa riferimento a CentOS, una distribuzione Linux vicina allo stato end of life (EOL). Prendere in considerazione l'uso e la pianificazione di conseguenza. Per altre informazioni, vedere le linee guida per la fine della vita di CentOS.

Questo articolo illustra come distribuire e configurare l'agente InfluxData Telegraf in una macchina virtuale Linux per inviare le metriche a Monitoraggio di Azure.

Nota

InfluxData Telegraf è un agente open source e non ufficialmente supportato da Monitoraggio di Azure. Per problemi relativi al connettore Telegraf, vedere la pagina di GitHub Telegraf qui: InfluxData

Agente InfluxData Telegraf

Telegraf è un agente basato su plug-in che consente la raccolta delle metriche di oltre 150 origini diverse. A seconda dei carichi di lavoro eseguiti nella macchina virtuale, è possibile configurare l'agente per l'uso di plug-in di input specializzati per raccogliere le metriche. Tra gli esempi vi sono Apache, MySQL e NGINX. Tramite i plug-in di output, l'agente può quindi scrivere nelle destinazioni scelte dall'utente. L'agente Telegraf è integrato direttamente nell'API REST di metriche personalizzate di Monitoraggio di Azure. e supporta un plug-in di output di Monitoraggio di Azure. Usando questo plug-in, l'agente può raccogliere metriche specifiche del carico di lavoro nella macchina virtuale Linux e inviarle come metriche personalizzate a Monitoraggio di Azure.

Diagramma che mostra la panoramica dell'agente Telegrafo.

Connettersi alla macchina virtuale

Creare una connessione SSH alla macchina virtuale in cui si vuole installare Telegraf. Selezionare il pulsante Connetti nella pagina di panoramica della macchina virtuale.

Screenshot della pagina di panoramica di una macchina virtuale con il pulsante Connetti evidenziato.

Nella pagina Connetti a macchina virtuale mantenere le opzioni predefinite per la connessione con nome DNS sulla porta 22. In Account di accesso con l'account locale della macchina virtuale viene visualizzato un comando di connessione. Fare clic sul pulsante per copiare il comando. Di seguito è mostrato un esempio di comando di connessione SSH:

ssh azureuser@XXXX.XX.XXX

Incollare il comando di connessione SSH in una shell, ad esempio Azure Cloud Shell o Bash in Ubuntu in Windows, oppure usare un client SSH qualsiasi per creare la connessione.

Installare e configurare Telegraf

Per installare il pacchetto Debian Telegraf nella VM, eseguire i comandi seguenti dalla sessione SSH:

Aggiungere il repository:

# 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

Installare il pacchetto:

   sudo apt-get update
   sudo apt-get install telegraf

Il file di configurazione di Telegraf definisce le operazioni di Telegraf. Per impostazione predefinita, un file di configurazione di esempio viene installato nel percorso /etc/telegraf/telegraf.conf. Il file di configurazione di esempio elenca tutti i possibili plug-in di input e output. Tuttavia, si creerà un file di configurazione personalizzato e l'agente lo userà eseguendo i comandi seguenti:

# 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

Il codice precedente consente solo due plug-in di input: cpu e mem. È possibile aggiungere più plug-in di input, a seconda del carico di lavoro eseguito nel computer. Tra gli esempi vi sono Docker, MySQL e NGINX. Per un elenco completo dei plug-in di input vedere la sezione Configurazione aggiuntiva.

Infine, affinché l'agente usi la nuova configurazione, vengono forzati l'arresto e l'avvio dell'agente eseguendo i comandi seguenti:

# 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

Ora l'agente raccoglie le metriche da ognuno dei plug-in di input specificati e li genera in Monitoraggio di Azure.

Tracciare le metriche Telegraf nel portale di Azure

  1. Apri il portale di Azure.

  2. Passare alla nuova scheda Monitoraggio . Selezionare quindi Metriche.

  3. Selezionare la macchina virtuale nel selettore di risorse.

  4. Selezionare lo spazio dei nomi Telegraf/CPU e la metrica usage_system. È possibile scegliere di filtrare in base alle dimensioni in questa metrica o dividerle.

    Screenshot che mostra un grafico delle metriche con le metriche del telegrafo selezionate.

Configurazione aggiuntiva

La procedura dettagliata precedente fornisce informazioni su come configurare l'agente Telegraf per raccogliere le metriche da alcuni plug-in di input di base. L'agente Telegraf supporta oltre 150 plug-in di input, con alcune opzioni di configurazione aggiuntive. InfluxData ha pubblicato un elenco di plug-in supportati e le istruzioni su come configurarli.

Inoltre, questa procedura dettagliata ha consentito di usare l'agente Telegraf per generare metriche sulla macchina virtuale in cui è distribuito l'agente. L'agente Telegraf può essere usato anche come agente di raccolta e servizio di inoltro di metriche per altre risorse. Per informazioni su come configurare l'agente per la generazione di metriche per altre risorse di Azure, vedere Azure Monitor Custom Metric Output for Telegraf (Output di metriche personalizzate di Monitoraggio di Azure per Telegraf).

Pulire le risorse

Quando non servono più è possibile eliminare il gruppo di risorse, la macchina virtuale e tutte le risorse correlate. A tale scopo, selezionare il gruppo di risorse per la macchina virtuale e selezionare Elimina. Confermare quindi il nome del gruppo di risorse da eliminare.

Passaggi successivi