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

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

Примечание

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

Агент Telegraf InfluxData

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

Обзор агента Telegraph

Примечание

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

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

Создайте 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

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

   apt-get update
   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 (Telegraf/ЦП) и выберите метрику usage_system. Вы можете отфильтровать по измерениям в этой метрике или разделить их.

    Выбор пространства имен и метрики

Дополнительная настройка

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

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

Очистка ресурсов

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

Дальнейшие действия

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