Перейти к содержанию

Мониторинг proxmox с использованием InfluxDB v2 и Grafana

Опубликовано
  • Модераторы

Первичную настройку я разбирал уже в первой части так что в этой части будет меньше моментов по настройки самой Grafana и InfluxDB. Первая часть.

Вступление, или варианты решения

Для мониторинга состояния proxmox у нас есть несколько способов решения задачи.

  1. Использовать сам proxmox для отправки данных в influxdb
  2. Использовать telegraf для сбора данных через API proxmox и отправки их в influxdb
  3. Использовать telegraf для сбора данных хоста proxmox

Фактически первые два варианта равнозначны и используют API proxmox которого достаточно для большинства задач, но в нем нет одного важного для меня показателя температура процессора. Подробнее про API proxmox можете почитать тут: https://pve.proxmox.com/wiki/Proxmox_VE_API

Обращаться по API из telegraf в моем случае я тоже не вижу смысла так как вся система у меня находится в одной локации, это было бы оправдано если нам необходимо контролировать разрыв связи или собирать данные сразу с нескольких источник.

Поэтому я буду использовать комбинацию первого и третьего варианта.

Настройка отправки данных из proxmox

Для мониторинга состояния proxmox VE нам необходимо создать новую корзину для данных в influxDB для этого заходим в influxDB в раздел Load Data -> Bucket

image.thumb.png.b5170f7f72c14e6e433c674a8631774e.png

При создании есть возможность выставить как долго хранить данные, я выбрал вариант never так как не вижу проблем в разрастании базы на текущий момент.

image.png.14b4dbbb3e1bf628060486bf4e5289d6.png

Теперь необходимо создать токен доступа для корзины, который будет давать права на запись в базу.

Переходим в меню управления API токенами и создаем новый custom token

image.png.cf38fa480f4242c16cef6c23995d97e0.png

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

image.png.a9b031c88647746176341e9a52441412.png

Сохраняем себе полученный токен

Внимание кнопка копирования токена может не сработать, проверяйте перед закрытием.

Переходим в proxmox, нас интересует раздел сервер метрик.

image.png.8fe23319defbb3de1e4229483f9c9321.png

Создаем новую запись influxDB. Указываем в поле база данных имя корзины, а в поле маркер полученный токен записи.

image.png.6776e7cbbad079831f06548db337e1b9.png

Проверяем что в ifluxBD появились данные.

image.thumb.png.6bab575557b0910e184095355e99499f.png

Теперь нам надо еще собирать данные о температуре сервера proxmox не зависимо от api proxmox. Я для этого буду использовать шаблон созданный в прошлый раз для system-monitoring, он доступен в разделе telegraf.

image.thumb.png.c13f04225ea446f34d069d3be0765e0f.png

Так как это хост система в данном случае я буду использовать пакетный вариант telegraf

Подключаемся по ssh или через оболчку proxmox в браузере и устанавливаем пакет.

Подробно все расписано в документации по установке тут: https://docs.influxdata.com/telegraf/v1/install/

Обратите внимание что, работая в оболочке proxmox у нас не будет sudo если работать под root

Приведу команды установки из-под root пользователя:

curl -s https://repos.influxdata.com/influxdata-archive_compat.key > influxdata-archive_compat.key
echo '393e8779c89ac8d958f81f942f9ad7fb82a25e133faddaf92e15b16e6ac9ce4c influxdata-archive_compat.key' | sha256sum -c && cat influxdata-archive_compat.key | gpg --dearmor | 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' | tee /etc/apt/sources.list.d/influxdata.list
apt-get update && apt-get install telegraf

Актуальные команды всегда будут доступны в официальной документации, просто удалите sudo из команд.

Дальше нам необходимо получить нашу конфигурацию system-monitoring, для этого переходим в шаблоны telegraf открываем наш шаблон и копируем от туда токен доступа

image.png.949e2b4ebb50ae17a19c370956ba3cdf.png

Закрываем это окно сам файл нам не понадобится, нам нужна инструкция по установке.

image.png.69ea0c21ade7752598e7238d70b2b189.png

image.png.3e96e28f5b8e85aea46718c70edd2c2a.png

Возвращаемся в оболочку proxmox и выполняем две команды как расписано в инструкции заменив <InfluxToken> на скопированный ранее токен.

Обязательно надо передать ключ сначала отдельной командой для получения доступа к самому шаблону настроек. Но в принципе можно и просто скачать файл и отдать его telegraf как это было с docker вариантом.

Проверяем что данные поступают в корзину и Grafana

image.png.5ed6a73fbc82513c9f989d8a11bd4ffc.png

image.png.21bf9af490543dbd94b310f904f5f8a4.png

Обратите внимание что Grafana дополнительно настраивать для данной корзины не надо, а для корзины proxmox надо.

Для этого переходим в управления токенами API и создаем токен на чтение корзины proxmox для Grafana.

image.png.3dd6352ac57ecdae79767ff937adfc26.png

Подробно настройку Grafa я разбирал в прошлой публикации, тут приведу только результат настроек.

image.png.4eeb0182869d6bb9f9947eaed972766b.png

image.png.9851a1a8876c9eb73f1232d0cccadb5f.png

Пример панели proxmox в Grafana

image.thumb.png.15e54aa45531fbce262160e714229621.png

Я использовал шаблон: https://grafana.com/grafana/dashboards/15356-proxmox-cluster-flux/

Вместо заключения

Спасибо за внимание, в следующих публикациях я разберу так же способы мониторинга состояния роутеров keenetic и openwrt.

Featured Replies

No posts to show

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

Похожий контент

Последние посетители 0

  • Ни одного зарегистрированного пользователя не просматривает данную страницу
Яндекс.Метрика

Account

Navigation

Поиск

Поиск

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.