Commit f62c43

2025-08-10 10:55:38 Mayekkuzu: Updated Info
monitoring/proxmox_grafana.md ..
@@ 1,3 1,96 @@
# Мониторинг Proxmox VE 8.3.0 в Grafana
+ Для понимания:
- ## Подготовка учетной записи в Proxmox
+ Задача - мониторить Proxmox VE средствами Grafana + Prometheus. Связка графаны и прометеуса находится на отдельной вм.
+ ## Подготовка учетной записи и группы для мониторинга в Proxmox
+ ```bash
+ 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
+ ```
+ ## Установка prometheus_pve_exporter
+ Ставим пакеты python на Proxmox VE
+ ```bash
+ apt install python3-pip python3-venv
+ ```
+ Далее организуем venv в /opt/prometheus-pve-exporter
+ ```bash
+ python3 -m venv /opt/prometheus-pve-exporter
+ ```
+ И установим пакет. Так же проверим что скрипт запускает --help
+ ```bash
+ /opt/prometheus-pve-exporter/bin/pip install prometheus-pve-exporter
+ /opt/prometheus-pve-exporter/bin/pve_exporter --help
+ ```
+ Если выводится список аргументов, то установка прошла успешно
+ ## Создаем конфигурацию для pve_exporter
+ Хранить конфиг будем в `/etc/prometheus`. Предварительно создадим папку и запишем конфигурацию в /etc/prometheus/pve.yml
+ ```bash
+ mkdir -p /etc/prometheus
+ cat <<EOF > /etc/prometheus/pve.yml
+ default:
+ user: pve_exporter@pve
+ password: YourStronkPassword
+ verify_ssl: false
+ EOF
+ ```
+ ## Создаем службу systemd pve_exporter
+ Для того, чтобы экспортер работал при запуске системы автоматически, создадим демона
+ ```bash
+ cat <<EOF> /etc/systemd/system/prometheus-pve-exporter.service
+ [Unit]
+ Description=Prometheus exporter for Proxmox VE
+ Documentation=https://github.com/znerol/prometheus-pve-exporter
+
+ [Service]
+ Restart=always
+ ExecStart=/opt/prometheus-pve-exporter/bin/pve_exporter --config.file /etc/prometheus/pve.yml
+
+ [Install]
+ WantedBy=multi-user.target
+ EOF
+ ```
+ Далее по классике перезагружаем демона и запускаем службу
+ ```bash
+ systemctl daemon-reload
+ systemctl start prometheus-pve-exporter
+ systemctl status prometheus-pve-exporter
+ ```
+ Для проверки дополнительно можно обратиться по адресу вашего proxmox и порту 9221 и content-path /pve чтобы убедиться в том, что метрики собираются. Например:
+ ```bash
+ mayekkuzu@grafana:~$ curl http://proxmox-node-fqdn-or-ip:9221/pve
+ # HELP pve_up Node/VM/CT-Status is online/running
+ # TYPE pve_up gauge
+ pve_up{id="node/main-server"} 1.0
+ pve_up{id="qemu/100"} 1.0
+ pve_up{id="qemu/101"} 1.0
+ pve_up{id="qemu/102"} 1.0
+ ...
+ ```
+ Что говорит о том все работает корректно
+ ## Добавляем в Prometheus job (на VM с Grafana)
+ Прописываем такую конфигурацию в блок `scrape_configs`
+ ```
+ - job_name: 'pve'
+ metrics_path: /pve
+ static_configs:
+ - targets: ["ip-or-fqdn-promox:9221"]
+ params:
+ module: [default]
+ ```
+ Обязательно проверяем конфигурацию:
+ ```bash
+ mayekkuzu@grafana:~$ sudo promtool check config /etc/prometheus/prometheus.yml
+ Checking /etc/prometheus/prometheus.yml
+ SUCCESS: /etc/prometheus/prometheus.yml is valid prometheus config file syntax
+ ```
+ После этого спокойно рестартим службу prometheus на вм
+ ## Добавляем дашборд в Grafana
+ Копируем ID дашборда на странице [Proxmox via Prometheus](https://grafana.com/grafana/dashboards/10347-proxmox-via-prometheus/). Далее преходим на инстанс Grafana. В нем жмякаем `Dashboards -> New -> Import`. Вбиваем ID дашборда и Load. После чего в идеале увидите панель с метриками которые собираются с Proxmox. Альтернативно можно импортировать JSON на той же странице если есть проблемы с доступностью до репозитория дашбордов графаны.
+
+ ## Откуда информация?
+ - Гитхаб проекта https://github.com/prometheus-pve/prometheus-pve-exporter
+ - Proxmox Exporter in venv - https://github.com/prometheus-pve/prometheus-pve-exporter/wiki/PVE-Exporter-on-Proxmox-VE-Node-in-a-venv
+ - Рабочая инструкция, но дзен есть дзен (затык на установке с pip, workaround - в venv) - https://dzen.ru/a/ZEZsd97tql_ryU1W
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9