01Architecture de la chaîne de mesure
La chaîne est courte : Proxmox VE pousse ses métriques toutes les dix secondes vers InfluxDB, Telegraf complète depuis chaque noeud, Grafana lit et alerte.
noeuds PVE --(protocole de ligne InfluxDB, 10 s)--> InfluxDB 2
Telegraf --(Ceph, SMART, corosync, PBS)---------> InfluxDB 2
|
v
Grafana + alerting
|
courriel / webhook / astreinte
La supervision ne doit pas être hébergée sur le cluster qu'elle surveille. Un conteneur LXC sur un noeud du cluster ne vous préviendra pas de la panne du cluster. Placez InfluxDB et Grafana sur une machine indépendante, idéalement sur un autre site, avec sa propre alimentation et son propre accès réseau.
02Installer InfluxDB 2
Un conteneur Debian avec 2 vCPU, 4 Go de mémoire et un volume dédié convient pour un cluster de taille moyenne.
apt install -y influxdb2 systemctl enable --now influxdb influx setup \ --org captainadmin \ --bucket proxmox \ --rétention 90d \ --username admin \ --force
Créez ensuite deux jetons distincts. Un jeton unique partout est une facilité qui se paie le jour d'une rotation.
# écriture, pour les noeuds Proxmox VE et Telegraf influx auth create --org captainadmin \ --write-bucket <id_du_bucket> --description "écriture-pve" # lecture seule, pour Grafana influx auth create --org captainadmin \ --read-bucket <id_du_bucket> --description "lecture grafana"
03Brancher Proxmox VE
Le serveur de métriques se déclare depuis l'interface, sous Centre de données puis Metric
Server, ou directement dans /etc/pve/status.cfg. Ce fichier étant dans le système
de fichiers du cluster, il se propage automatiquement à tous les noeuds.
influxdb: supervision
server influx.exemple.fr
port 8086
influxdbproto https
organization captainadmin
bucket proxmox
token <TOKEN_ECRITURE>
verify-certificate 1
max-body-size 25000000
timeout 3
systemctl restart pvestatd journalctl -u pvestatd -n 40 --no-pager
Ce que Proxmox VE envoie, et ce qu'il n'envoie pas
| Envoyé nativement | Absent, à compléter |
|---|---|
| Charge processeur par noeud et par VM | État de santé Ceph et groupes de placement |
| Mémoire utilisée et allouée | Latences d'application et de validation des OSD |
| Trafic réseau entrant et sortant | État et latence des liens corosync |
| Lecture et écriture disque | Données SMART et usure des SSD |
| Remplissage des stockages | État des tâches PBS et âge des sauvegardes |
| Durée de fonctionnement, état des VM | Température, alimentations, ventilateurs |
04Compléter avec Telegraf
Telegraf s'installe sur chaque noeud et comble exactement ces manques. Les greffons
ceph et smart couvrent l'essentiel, un greffon d'exécution récupère le
reste au format JSON.
[agent] interval = "30s" hostname = "pve-01" [[outputs.influxdb_v2]] urls = ["https://influx.exemple.fr:8086"] token = "<TOKEN_ECRITURE>" organization = "captainadmin" bucket = "proxmox" [[inputs.ceph]] interval = "1m" socket_dir = "/var/run/ceph" gather_admin_socket_stats = true gather_cluster_stats = true [[inputs.smart]] interval = "10m" use_sudo = true attributes = true [[inputs.exec]] interval = "1m" commands = ["/usr/local/bin/corosync-metrics.sh"] data_format = "influx" [[inputs.systemd_units]] interval = "1m"
Les latences d'application et de validation par OSD viennent de ceph osd perf.
Ce sont les indicateurs les plus prédictifs d'un disque en fin de vie : ils se dégradent
progressivement plusieurs semaines avant la défaillance. Ils méritent une place sur le
tableau de bord d'exploitation.
05Grafana et trois niveaux de tableaux de bord
Installez Grafana sur la même machine qu'InfluxDB, déclarez la source de données en Flux avec le jeton de lecture, puis structurez les tableaux de bord en trois niveaux. C'est la partie que l'on rate le plus souvent : accumuler cent graphiques sur un seul écran revient à ne rien surveiller du tout.
- Niveau direction, un seul écran. Sept à dix indicateurs, en vert, orange ou rouge : santé Ceph, quorum, marge N+1, âge de la dernière sauvegarde réussie, remplissage, alertes actives. Lisible en dix secondes par quelqu'un qui n'est pas administrateur.
- Niveau exploitation. Par noeud et par pool : charge, mémoire, latences OSD, entrées-sorties, réseau, état des tâches de sauvegarde. C'est l'écran de la revue hebdomadaire.
- Niveau diagnostic. Le détail par OSD, par disque, par machine virtuelle. On ne l'ouvre que lorsqu'un incident est déjà identifié.
Les tableaux de bord publics de la communauté pour Proxmox VE et pour Ceph constituent un bon point de départ pour les niveaux exploitation et diagnostic. Le niveau direction, en revanche, se construit sur mesure : il dépend des engagements de service de la plateforme.
06Rétention et volumétrie
Un cluster de cinq noeuds avec une centaine de machines virtuelles produit de l'ordre de quelques gigaoctets par mois en pas de dix secondes. Deux compartiments valent mieux qu'un.
proxmox, pas fin, rétention 90 jours : pour le diagnostic et l'alerting.proxmox-long, agrégé à l'heure, rétention 3 ans : pour les tendances de capacité et les rapports annuels.
option task = {name: "downsample-1h", every: 1h}
from(bucket: "proxmox")
|> range(start: -2h)
|> filter(fn: (r) => r._measurement == "system")
|> aggregateWindow(every: 1h, fn: mean, createEmpty: false)
|> to(bucket: "proxmox-long", org: "captainadmin")
Les données agrégées ne servent pas au diagnostic, elles servent aux arbitrages budgétaires. Pouvoir montrer une courbe de croissance sur trois ans transforme une demande d'investissement en constat chiffre.
Un cluster a batir, a auditer ou a reprendre en main
Nous concevons, deployons et exploitons des clusters Proxmox VE et Ceph en production pour des PME, des structures reglementees et des collectivites. Nous formons aussi vos equipes, notamment dans le cadre des migrations depuis VMware.