Сбор пользовательских метрик для виртуальной машины Linux с помощью агента InfluxData Telegraf

В этой статье объясняется, как развернуть и настроить агент Telegraf InfluxData на виртуальной машине с Linux для отправки метрик в Azure Monitor.

Замечание

InfluxData Telegraf — это агент открытый код, который официально не поддерживается Azure Monitor. Сведения о проблемах с соединителем Telegraf см. на странице Telegraf GitHub: InfluxData

Агент Telegraf InfluxData

Telegraf — это подключаемый агент, который собирает метрики из более чем 150 источников. В зависимости от рабочих нагрузок, выполняемых на виртуальной машине Linux, можно настроить агент для использования специализированных подключаемых модулей ввода для сбора метрик. Примерами этих рабочих нагрузок являются MySQL, NGINX и Apache. Использование выходных подключаемых модулей позволяет агенту выполнять запись в места назначения на ваш выбор. Агент Telegraf интегрируется непосредственно с REST API пользовательских метрик Azure Monitor. Он также поддерживает выходной подключаемый модуль Azure Monitor. При использовании этого подключаемого модуля агент может собирать метрики, относящиеся к рабочей нагрузке, на виртуальной машине Linux и отправлять их в качестве пользовательских метрик в Azure Monitor.

Схема, показывающая обзор агента Телеграфа.

Подключение к виртуальной машине

Создайте подключение SSH к виртуальной машине, в которой требуется установить Telegraf. Нажмите кнопку "Подключиться " на странице обзора виртуальной машины.

Снимок экрана: страница обзора виртуальной машины с выделенной кнопкой подключения.

В разделе "Подключение к виртуальной машине" оставьте параметры по умолчанию для подключения по dns-имени через порт 22. В поле Вход с использованием локальной учетной записи виртуальной машины отображается команда подключения. Чтобы скопировать команду, нажмите кнопку. В следующем примере показана команда подключения SSH:

ssh azureuser@XXXX.XX.XXX

Вставьте команду подключения по SSH в оболочку, например, Azure Cloud Shell или Bash на Ubuntu в Windows, или используйте клиент SSH, чтобы создать подключение.

Установка и настройка Telegraf

Чтобы установить пакет Telegraf Debian на виртуальной машине, выполните следующие команды в рамках сеанса SSH:

Добавьте репозиторий:

# 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

Установите пакет:

sudo apt-get update
sudo apt-get install telegraf

В файле конфигурации Telegraf определяются операции Telegraf. Пример файла конфигурации по умолчанию установлен по пути /etc/telegraf/telegraf.conf. В примере конфигурационного файла перечислены все возможные входные и выходные плагины. Однако вы создадите пользовательский конфигурационный файл, и агент использует его, выполнив следующие команды:

# 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

Замечание

Предыдущий код включает только два входных подключаемых модуля: cpu и mem. Вы также можете подсоединить другие модули в зависимости от рабочей нагрузки, выполняемой на компьютере. Например, Docker, MySQL и NGINX. Полный список входных подключаемых модулей см. в разделе "Другие конфигурации".

Наконец для запуска агента с помощью новой конфигурации мы принудительно остановим и запустим агент, выполнив следующие команды.

# 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

Теперь агент собирает метрики из каждого входного подключаемого модуля и выдает их в Azure Monitor.

Отображение метрик Telegraf на портале Azure

  1. Откройте портал Azure.

  2. Откройте новую вкладку Мониторинг. Затем выберите Метрики.

  3. Выберите свою виртуальную машину в селекторе ресурсов.

  4. Выберите пространство имен Telegraf/CPU и выберите метрику usage_system. Вы можете выбрать фильтрацию по измерениям этой метрики или разбить данные по ним.

    Скриншот, показывающий диаграмму метрик с выбраными метриками телеграфа.

Другие конфигурации

В предыдущем пошаговом руководстве показано, как настроить агент Telegraf для сбора метрик из нескольких основных подключаемых модулей ввода. Агент Telegraf поддерживает более 150 входных подключаемых модулей с поддержкой других параметров конфигурации. На сайте InfluxData опубликован список поддерживаемых подключаемых модулей и инструкций по их настройке.

Кроме того, в этом пошаговом руководстве вы использовали агент Telegraf для отправки метрик о виртуальной машине, на которую развертывается агент. Агент Telegraf также может собирать и пересылать метрики для других ресурсов. Сведения о том, как настроить агент для выдачи метрик для других ресурсов Azure, см. в статье Azure Monitor Custom Metrics Output for Telegraf (Вывод пользовательских метрик Azure Monitor для Telegraf).

Очистите ресурсы

Если они больше не нужны, можно удалить группу ресурсов, виртуальную машину и все связанные ресурсы. Для этого выберите группу ресурсов для виртуальной машины и нажмите кнопку "Удалить". Затем подтвердите имя удаляемой группы ресурсов.

Дальнейшие шаги

  • Дополнительные сведения о настраиваемых метриках см. в этой статье.