Найти в Дзене
Николай Калюжный

Мониторинг Proxmox с помощью InfluxDB и Grafana

Оглавление

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

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

К счастью для меня, а также для вас, если вы используете Proxmox, процесс настройки оказался немного проще, чем я предполагал ранее, из-за готовой интеграции InfluxDB в Proxmox.

Давайте начнем!

Установка InfluxDB и Grafana

Для начала вам понадобится хост, на котором работает docker, а также docker-compose. Предполагая, что эти предварительные требования выполнены, используйте следующий файл docker-compose для запуска InfluxDB и Grafana:

version: "3"
services:
grafana:
image: grafana/grafana
container_name: grafana_container
restart: always
ports:
- 3000:3000
networks:
- monitoring_network
volumes:
- grafana-volume:/var/lib/grafana
influxdb:
image: influxdb
container_name: influxdb_container
restart: always
ports:
- 8086:8086
- 8089:8089/udp
networks:
- monitoring_network
volumes:
- influxdb-volume:/var/lib/influxdb
networks:
monitoring_network:
volumes:
grafana-volume:
external: true
influxdb-volume:
external: true

Вам также потребуется создать тома Docker, о которых говорилось выше:

docker volume create influxdb-volume
docker volume create grafana-volume

А также создание сети мониторинга, которую Grafana и InfluxDB будут использовать совместно:

docker network create monitoring_network

После этого нужно просто запустить docker-compose up -d, чтобы запустить оба контейнера.

Настройка InfluxDB

Как только контейнеры будут подключены к сети, перейдите по ссылке <hostname>:8086, укажите название организации и имя корзины. Для своих целей я установил название организации на Homelab, а имя корзины на proxmox. Запишите их, так как они понадобятся вам для дальнейших шагов.

После настройки вам нужно будет посетить следующий экран во вкладке «Данные», а затем нажать на вкладку «Токены API» вверху:

Здесь у вашего пользователя должен быть токен, созданный с именем пользователя (которое было определено на экране настройки). Нажмите на него, а затем скопируйте свой токен, так как он понадобится на следующем шаге.

-2

Настройка InfluxDB в Proxmox

Теперь, когда вы создали InfluxDB и скопировали токен API, пришло время вернуться к вашему экземпляру Proxmox:

-3

Щелкнув вкладку «Центр обработки данных» слева, вы сможете посетить раздел «Сервер метрик» на панели настроек. Здесь нажмите «Добавить», а затем выберите «InfluxDB».

Здесь вам нужно будет подставить все поля с соответствующими значениями, которые мы собрали ранее.

-4

В поле Name вы можете выбрать любое имя, которое вам нравится. Server должен быть заполнен либо IP, либо DNS-именем хоста, на котором работает ваш сервер InfluxDB. Port должен соответствовать порту контейнера InfluxDB, который вы создали на предыдущем шаге, и должен быть 8086. Protocol должен быть переключен с UDP на HTTP если вы не используете SSL, в этом случае это должен быть HTTPS.

Что касается Organization и Bucket, то это просто значения, которые вы определили при создании экземпляра InfluxDB.

Наконец, для Token просто вставьте токен вашего пользователя из InfluxDB в это поле.

Подтверждение потока данных

Прежде чем мы продолжим, давайте вернемся в InfluxDB и убедимся, что данные поступают в нее из Proxmox.

-5

Чтобы убедиться, что ваши данные передаются правильно, нажмите на вкладку «Исследовать» слева и изучите различные варианты в вашем ведре proxmox. Если они выглядят похоже на то, что показано выше, все должно быть готово. Если вы не видите данные, аналогичные показанным выше, вернитесь к предыдущему шагу и убедитесь, что значения верны.

Настройка Grafana

-6

Теперь пришло время посетить Grafana на <hostname>:3000. Войдя в систему с учетными данными admin/admin по умолчанию и выбрав новый пароль, перейдите на вкладку «Конфигурация», показанную выше, и выберите «Источники данных»

-7

Выберите "Добавить источник данных"

-8

Выберите InfluxDB из предоставленного списка

-9

После того, как вы перейдете на страницу настройки InfluxDB, первое, что вам нужно будет сделать, это изменить язык запроса с "InfluxQL" на "Flux". "Flux" - это новый язык, используемый InfluxDB, и, хотя он все еще находится в бета-версии, он был полностью стабильным для меня.

-10

Далее идет остальная часть конфигурации InfluxDB. Для начала укажите имя хоста или IP-адрес и порт InfluxDB в поле "URL", отключите "Базовую аутентификацию", включите "Пропустить проверку TLS" и, наконец, заполните "InfluxDB Details" теми же данными, которые вы использовали ранее для настройки InfluxDB на Proxmox.

После этого выберите «Сохранить и протестировать». Если все было подключено правильно, вам будет предоставлена зеленая галочка и сообщение, указывающее, сколько корзин Grafana нашла в вашем экземпляре InfluxDB.

Запрос и визуализация данных в Grafana

Теперь, когда Proxmox загружается в InfluxDB, а InfluxDB связана с Grafana, мы готовы начать запрашивать данные из базы данных и визуализировать их с помощью Grafana!

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

-11

На сайте для этой готовой страницы просто нажмите, чтобы скопировать ID для панели управления

-12

Затем в Grafana наведите курсор на значок плюса и выберите «Импорт», как показано выше

-13

Вставьте ранее скопированный ID и выберите «Загрузить» рядом с полем, которое вы вставили

-14

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

-15

Самый последний шаг для того, чтобы настроить и запустить панель мониторинга, — это выбрать тип корзины, как показано выше. Убедитесь, что выбрано ваше ведро proxmox из InfluxDB.

Заключение

-16

Теперь у вас должна быть рабочая панель управления Grafana! Это определенно был один из самых захватывающих проектов, которые я завершил. Я всегда хотел запустить Grafana, но до сих пор не успел это сделать.

Я обнаружил, что существует бесчисленное множество полезных метрик, предоставляемых панелью мониторинга, и с нетерпением жду возможности изучить другие панели мониторинга в будущем