Сбор пользовательских метрик для виртуальной машины Linux с помощью агента InfluxData Telegraf
В этой статье объясняется, как развернуть и настроить агент 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
Откройте портал Azure.
Откройте новую вкладку Мониторинг. Затем выберите Метрики.
Выберите свою виртуальную машину в селекторе ресурсов.
Выберите пространство имен Telegraf/CPU (Telegraf/ЦП) и выберите метрику usage_system. Вы можете отфильтровать по измерениям в этой метрике или разделить их.
Дополнительная настройка
В предыдущем пошаговом руководстве представлены сведения о том, как настроить агент Telegraf на сбор метрик из нескольких базовых входных подключаемых модулей. Агент Telegraf поддерживает более 150 входных подключаемых модулей, некоторые из которых поддерживают дополнительные параметры конфигурации. Компания InfluxData опубликовала список поддерживаемых подключаемых модулей и инструкции по их настройке.
Кроме того, в этом пошаговом руководстве агент Telegraf использовали для выдачи метрик виртуальной машине, на которой развернут агент. Агент Telegraf можно также использовать как сборщик и сервер пересылки метрик для других ресурсов. Сведения от том, как настроить агент для выдачи метрик для других ресурсов Azure, см. в статье Azure Monitor Custom Metrics Output for Telegraf (Выходные данные пользовательских метрик Azure Monitor для Telegraf).
Очистка ресурсов
Если группа ресурсов, виртуальная машина и все связанные с ними ресурсы вам больше не требуются, их можно удалить. Для этого выберите группу ресурсов для виртуальной машины и нажмите Удалить. Затем подтвердите имя удаляемой группы ресурсов.
Следующие шаги
- Дополнительные сведения о настраиваемых метриках см. в этой статье.