Мониторинг системы Raspberry Pi с помощью InfluxDB Telegraf

Это руководство покажет вам, как мониторить систему Raspberry Pi с помощью InfluxDB Telegraf. Вы можете собирать метрики с платы Raspberry Pi (использование CPU, использование памяти, использование диска, нагрузку на систему, температуры CPU и GPU и другие полезные данные) для мониторинга системы с помощью InfluxDB Telegraf. Telegraf — это агент сбора данных от InfluxData для сбора и передачи метрик.

Мониторинг системы Raspberry Pi с помощью InfluxDB Telegraf

Предварительные требования

Перед тем как продолжить, у вас должен быть установлен InfluxDB на вашем Raspberry Pi. Следуйте следующему руководству:

Шаблон мониторинга Raspberry Pi

Существует шаблон InfluxDB, который можно использовать для мониторинга вашей Linux-системы Raspberry Pi. Шаблон InfluxDB — это предварительно собранный набор конфигураций InfluxDB, который содержит всё: от дашбордов и конфигураций Telegraf до уведомлений и оповещений.

Шаблоны сокращают время настройки, предоставляя вам ресурсы, которые уже сконфигурированы для вашего случая использования. В данном случае вы получите набор конфигураций, готовых к использованию для мониторинга вашего Raspberry Pi. Чтобы узнать больше о шаблонах InfluxDB, вы можете перейти по следующей ссылке:

Мы будем использовать шаблон мониторинга Raspberry Pi, который включает следующее:

  • один бакет (bucket): rasp-pi (хранение 7 дней)

  • метки (labels): raspberry-pi + метки плагинов Telegraf

    • Плагин ввода Diskio

    • Плагин ввода Mem

    • Плагин ввода Net

    • Плагин ввода Processes

    • Плагин ввода Swap

    • Плагин ввода System

  • одна конфигурация Telegraf

  • один дашборд: Raspberry Pi System

  • две переменные: bucket и linux_host

Следуйте дальнейшим инструкциям для установки шаблона мониторинга Raspberry Pi.

Получение токена InfluxDB

Вам нужно получить токен InfluxDB, чтобы иметь возможность установить шаблон мониторинга Raspberry Pi с помощью Influx CLI (интерфейса командной строки).

Перейдите в интерфейс InfluxDB:

http://IP_адрес_вашего_RPi:8086

После того как вы откроете InfluxDB, на левой боковой панели нажмите на Data/Load Data, а затем выберите вкладку API Tokens. Нажмите на + Generate API Token, чтобы сгенерировать новый API-токен. Мы сгенерируем All Access API Token.

InfluxDB генерация API-токена с полным доступом

Дайте описание API-токену (например, Raspberry-Pi).

API-токен с полным доступом для Raspberry Pi

После этого скопируйте API-токен в безопасное место. Вы не сможете увидеть его снова.

Копирование API-токена InfluxDB

Новый API-токен должен появиться в списке API-токенов.

Список API-токенов InfluxDB Raspberry Pi

Установка Influx CLI

Influx CLI — это интерфейс к омандной с троки InfluxDB, который содержит команды для управления многими аспектами InfluxDB, включая бакеты, организации, пользователей, задачи и т.д. Он должен быть автоматически установлен при установке InfluxDB.

Чтобы избежать необходимости передавать хост InfluxDB, API-токен и организацию с каждой командой, вы можете сохранить их в конфигурации Influx CLI (config). Для этого вам нужно использовать команду influx config create и передать свою информацию.

Сначала отредактируйте следующую команду, указав вашу информацию:

influx config create --config-name influx-config \
  --host-url http://IP_АДРЕС_ВАШЕГО_RASPBERRY_PI:8086 \
  --org <ваша-организация> \
  --token <ваш-токен-аутентификации> \
  --active
  • Замените IP_АДРЕС_ВАШЕГО_RASPBERRY_PI на IP-адрес вашего Pi.

  • Замените <ваша-организация> на название вашей организации InfluxDB.

  • Замените <ваш-токен-аутентификации> на API-токен, который вы получили на предыдущем шаге.

Например, в моём случае команда выглядит следующим образом:

influx config create --config-name influx-config \
  --host-url http://192.168.1.106:8086 \
  --org RNT \
  --token v_od_mG--9_srf_OnaaODihPDX34suToP7XEH47v6x77CMxakZaoYHzF7Ec9mLT-CuXXXXXXXXXXXXXXXXXvQCSSw== \
  --active

Применение шаблона Raspberry Pi

Теперь выполните следующую команду, чтобы применить шаблон Raspberry Pi.

influx apply -u https://raw.githubusercontent.com/influxdata/community-templates/master/raspberry-pi/raspberry-pi-system.yml

Установка Telegraf

Выполните следующие команды последовательно для установки Telegraf:

wget -q https://repos.influxdata.com/influxdata-archive_compat.key
echo '393e8779c89ac8d958f81f942f9ad7fb82a25e133faddaf92e15b16e6ac9ce4c influxdata-archive_compat.key' | sha256sum -c && cat influxdata-archive_compat.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/influxdata-archive_compat.gpg > /dev/null
echo 'deb [signed-by=/etc/apt/trusted.gpg.d/influxdata-archive_compat.gpg] https://repos.influxdata.com/debian stable main' | sudo tee /etc/apt/sources.list.d/influxdata.list
sudo apt-get update && sudo apt-get install telegraf

Инструкции не работают?

Если инструкции не работают, это может быть связано с обновлением процедуры установки. В этом случае мы рекомендуем перейти по следующей ссылке и следовать официальным инструкциям:

Прокрутите вниз до раздела Telegraf. Выберите платформу Ubuntu & Debian. Затем скопируйте предоставленные команды.

Инструкции по установке Telegraf

Теперь вам нужно добавить следующие переменные окружения в среду Telegraf:

  • INFLUX_HOST: URL InfluxDB http://IP_АДРЕС_ВАШЕГО_RASPBERRY_PI:8086

  • INFLUX_TOKEN: Ваш API-токен InfluxDB Cloud

  • INFLUX_ORG: Название вашей организации InfluxDB Cloud.

Для этого отредактируйте следующую команду, указав ваши данные:

export INFLUX_HOST=http://IP_АДРЕС_ВАШЕГО_RASPBERRY_PI:8086
export INFLUX_TOKEN=ВАШ_API_ТОКЕН
export INFLUX_ORG=НАЗВАНИЕ_ВАШЕЙ_ОРГАНИЗАЦИИ

Например, в моём случае команда выглядит следующим образом:

export INFLUX_HOST=http://192.168.1.106:8086
export INFLUX_TOKEN=v_od_mG--9_srf_OnaaODihPDX34suToXXXXXXXXXXP7XEH47v6x
export INFLUX_ORG=RNT

Затем выполните её на вашем Raspberry Pi.

Запуск Telegraf

Запустите Telegraf как сервис. Чтобы получить точную команду, вам нужно перейти в интерфейс InfluxDB, а затем Data/Load Data > Telegraf. Нажмите на rpi Setup Instructions. Скопируйте команду для запуска Telegraf.

Инструкции по настройке Telegraf

Выполните эту команду для запуска Telegraf. Вы должны увидеть что-то похожее на следующее изображение в окне терминала.

Запуск Telegraf на Raspberry Pi

На данный момент Telegraf должен собирать данные с Raspberry Pi и отправлять их в соответствующий бакет в InfluxDB.

Дашборд системы Raspberry Pi

Теперь вы можете мониторить систему Raspberry Pi через дашборд в InfluxDB. В пользовательском интерфейсе InfluxDB перейдите в Boards/Dashboards (левая боковая панель) и нажмите на Raspberry Pi System — «Коллекция полезных визуализаций для мониторинга статистики вашей системы».

Дашборд шаблона мониторинга системы Raspberry Pi

Вы получите доступ к дашборду системы Raspberry Pi. Вы можете просматривать полезную информацию, такую как температуры CPU и GPU, общий объём памяти, использование памяти и многое другое.

Если вы не видите данных на дашборде, убедитесь, что вы выбрали правильный бакет rasp-pi, а linux_host установлен в raspberrypi.

Поздравляем! Вы настроили InfluxDB Telegraf для мониторинга вашей системы Raspberry Pi.

Заключение

В этом кратком руководстве мы показали вам, как использовать InfluxDB Telegraf для сбора полезных данных с вашего Raspberry Pi и отображения их на дашборде. Вы можете мониторить использование CPU, использование памяти, использование диска, нагрузку на систему, температуры CPU и GPU и другие полезные данные.

Мы надеемся, что это руководство будет вам полезно. У нас есть другие руководства по InfluxDB, которые могут вам понравиться: