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

Внимание

Эта статья ссылается на CentOS, дистрибутив Linux, который приближается к состоянию конца жизни (EOL). Пожалуйста, рассмотрите возможность использования и планирования соответствующим образом. Дополнительные сведения см. в руководстве centOS End Of Life.

В этой статье объясняется, как развернуть и настроить агент 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.

Схема с обзором агента Телеграфа.

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

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

    Снимок экрана: диаграмма метрик с выбранными метриками телеграфа.

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

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

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

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

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

Следующие шаги

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