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

- Опубликовано
- //2 мин. чтения
Proxmox сам по себе имеет очень хороший интерфейс для мониторинга всех видов ресурсов, таких как виртуальные машины, контейнеры и хранилища. Поскольку я уже использую prometheus и grafana для мониторинга домашней сети, я решил использовать его и для PVE. При желении можно использовать тот-же самый docker-контейнер. Давайте сразу перейдем к установке.
Настройки Proxmox VE
На хосте Proxmox создадим группу и пользователя для мониторинга и назначим соответствующую роль
pveum groupadd monitoring -comment 'Monitoring group'
pveum aclmod / -group monitoring -role PVEAuditor
pveum useradd pve_exporter@pve
pveum usermod pve_exporter@pve -group monitoring
pveum passwd pve_exporter@pve
Устанавливаем PVE-exporter
apt update
apt install python3-pip
pip3 install prometheus-pve-exporter

При установке PVE-exporter может возникнут ошибку Externally Managed Environment
для ее устранения используйте команду ниже
sudo rm -rf /usr/lib/python3.11/EXTERNALLY-MANAGED
Создаем файл настроек для PVE-exporter
mkdir -p /etc/prometheus/
cat > /etc/prometheus/pve.yml << EOF
default:
user: pve_exporter@pve
password: pve_exporter_user_password
verify_ssl: false
EOF
Создайте файл конфигурации systemd
Далее нам необходимо создать файл конфигурации systemd для управления proxmox-pve-exporter. В строке User
указываем пользователя которого вы используете для входа в консоль proxmox, в моем случае это root
tee /etc/systemd/system/prometheus-pve-exporter.service<<EOF
[Unit]
Description=Prometheus exporter for Proxmox VE
Documentation=https://github.com/znerol/prometheus-pve-exporter
[Service]
Restart=always
User=root
ExecStart=/usr/local/bin/pve_exporter --config.file /etc/prometheus/pve.yml
[Install]
WantedBy=multi-user.target
EOF
Включите службу, выполнив следующие команды.
systemctl daemon-reload
systemctl start prometheus-pve-exporter
systemctl enable prometheus-pve-exporter
Проверяем запустился ли proxmox-pve-exporter:
systemctl status prometheus-pve-exporter
Настройки Prometheus
В файл конфигурации Prometheus добавим
- job_name: 'pve'
static_configs:
- targets:
- 192.168.88.11:9221 # Хост 1 Proxmox VE с PVE exporter
- 192.168.88.12:9221 # Хост 2 Proxmox VE с PVE exporter
metrics_path: /pve
params:
module: [default]
Здесь можно указать сразу несколько хостов Proxmox для мониторинга. После изменения настроек перезапускаем сервис/контейнер Prometheus.
Настройки Grafana
Импортируем дашборд №10347 в Grafana

Наслаждаемся полученным результатом

Итог
С помощью Grafana, Prometheus и Proxmox PVE exporter мы получили мониторинг нашего Proxmox сервера.