Blame

0bc854 Mayekkuzu 2025-08-10 09:45:26 1
# Мониторинг Proxmox VE 8.3.0 в Grafana
f62c43 Mayekkuzu 2025-08-10 10:55:38 2
Для понимания:
0bc854 Mayekkuzu 2025-08-10 09:45:26 3
f62c43 Mayekkuzu 2025-08-10 10:55:38 4
Задача - мониторить Proxmox VE средствами Grafana + Prometheus. Связка графаны и прометеуса находится на отдельной вм.
5
## Подготовка учетной записи и группы для мониторинга в Proxmox
6
```bash
7
pveum groupadd monitoring -comment 'Monitoring group'
8
pveum aclmod / -group monitoring -role PVEAuditor
9
pveum useradd pve_exporter@pve
10
pveum usermod pve_exporter@pve -group monitoring
11
pveum passwd pve_exporter@pve
12
```
13
## Установка prometheus_pve_exporter
14
Ставим пакеты python на Proxmox VE
15
```bash
16
apt install python3-pip python3-venv
17
```
18
Далее организуем venv в /opt/prometheus-pve-exporter
19
```bash
20
python3 -m venv /opt/prometheus-pve-exporter
21
```
22
И установим пакет. Так же проверим что скрипт запускает --help
23
```bash
24
/opt/prometheus-pve-exporter/bin/pip install prometheus-pve-exporter
25
/opt/prometheus-pve-exporter/bin/pve_exporter --help
26
```
27
Если выводится список аргументов, то установка прошла успешно
28
## Создаем конфигурацию для pve_exporter
29
Хранить конфиг будем в `/etc/prometheus`. Предварительно создадим папку и запишем конфигурацию в /etc/prometheus/pve.yml
30
```bash
31
mkdir -p /etc/prometheus
32
cat <<EOF > /etc/prometheus/pve.yml
33
default:
34
user: pve_exporter@pve
35
password: YourStronkPassword
36
verify_ssl: false
37
EOF
38
```
39
## Создаем службу systemd pve_exporter
40
Для того, чтобы экспортер работал при запуске системы автоматически, создадим демона
41
```bash
42
cat <<EOF> /etc/systemd/system/prometheus-pve-exporter.service
43
[Unit]
44
Description=Prometheus exporter for Proxmox VE
45
Documentation=https://github.com/znerol/prometheus-pve-exporter
46
47
[Service]
48
Restart=always
49
ExecStart=/opt/prometheus-pve-exporter/bin/pve_exporter --config.file /etc/prometheus/pve.yml
50
51
[Install]
52
WantedBy=multi-user.target
53
EOF
54
```
55
Далее по классике перезагружаем демона и запускаем службу
56
```bash
57
systemctl daemon-reload
58
systemctl start prometheus-pve-exporter
59
systemctl status prometheus-pve-exporter
60
```
61
Для проверки дополнительно можно обратиться по адресу вашего proxmox и порту 9221 и content-path /pve чтобы убедиться в том, что метрики собираются. Например:
62
```bash
63
mayekkuzu@grafana:~$ curl http://proxmox-node-fqdn-or-ip:9221/pve
64
# HELP pve_up Node/VM/CT-Status is online/running
65
# TYPE pve_up gauge
66
pve_up{id="node/main-server"} 1.0
67
pve_up{id="qemu/100"} 1.0
68
pve_up{id="qemu/101"} 1.0
69
pve_up{id="qemu/102"} 1.0
70
...
71
```
72
Что говорит о том все работает корректно
73
## Добавляем в Prometheus job (на VM с Grafana)
74
Прописываем такую конфигурацию в блок `scrape_configs`
75
```
76
- job_name: 'pve'
77
metrics_path: /pve
78
static_configs:
79
- targets: ["ip-or-fqdn-promox:9221"]
80
params:
81
module: [default]
82
```
83
Обязательно проверяем конфигурацию:
84
```bash
85
mayekkuzu@grafana:~$ sudo promtool check config /etc/prometheus/prometheus.yml
86
Checking /etc/prometheus/prometheus.yml
87
SUCCESS: /etc/prometheus/prometheus.yml is valid prometheus config file syntax
88
```
89
После этого спокойно рестартим службу prometheus на вм
90
## Добавляем дашборд в Grafana
91
Копируем ID дашборда на странице [Proxmox via Prometheus](https://grafana.com/grafana/dashboards/10347-proxmox-via-prometheus/). Далее преходим на инстанс Grafana. В нем жмякаем `Dashboards -> New -> Import`. Вбиваем ID дашборда и Load. После чего в идеале увидите панель с метриками которые собираются с Proxmox. Альтернативно можно импортировать JSON на той же странице если есть проблемы с доступностью до репозитория дашбордов графаны.
92
93
## Откуда информация?
94
- Гитхаб проекта https://github.com/prometheus-pve/prometheus-pve-exporter
95
- Proxmox Exporter in venv - https://github.com/prometheus-pve/prometheus-pve-exporter/wiki/PVE-Exporter-on-Proxmox-VE-Node-in-a-venv
96
- Рабочая инструкция, но дзен есть дзен (затык на установке с pip, workaround - в venv) - https://dzen.ru/a/ZEZsd97tql_ryU1W