Pulse est une solution de supervision centralisée permettant de suivre en temps réel l’ensemble d’une infrastructure Proxmox VE et PBS depuis un tableau de bord unique. L’outil envoie des alertes instantanées en cas de panne de nœud, d’échec de sauvegarde ou de saturation de stockage. Les notifications sont compatibles avec email, Discord, Slack, Telegram et bien d’autres plateformes.
Pulse : Supervision en temps réel pour Proxmox
Fonctionnalités principales
- Découverte automatique : détection des nœuds membres d’un cluster Proxmox et configuration simplifiée via scripts.
- Support natif des clusters : un seul nœud configuré suffit pour superviser l’ensemble du cluster.
- Sécurité renforcée : mots de passe chiffrés, protection CSRF, limitation de débit, verrouillage automatique, hash bcrypt, jetons API sécurisés, journaux d’audit complets.
- Surveillance en direct : état des VMs, conteneurs, nœuds et volumes de stockage.
- Alertes intelligentes : envoi par email et via webhooks (Discord, Slack, Telegram, Teams, ntfy.sh, Gotify).
- Gestion des sauvegardes : vision centralisée des backups PBS, PVE et snapshots.
- Mises à jour automatiques : mises à jour stables quotidiennes avec possibilité de rollback, interface responsive avec thèmes clair/sombre.
Respect de la confidentialité
- Aucune collecte de télémétrie ou d’analytics.
- Pas de communication externe (hors webhooks explicitement configurés).
- Toutes les données restent en local.
- Projet libre et open-source.
Installation de Pulse
Dans cet exemple, l’installation a été réalisée sur une VM Debian 13 fraîchement installée, avec un enregistrement DNS pulse.domaine.local
.
curl -fsSL https://raw.githubusercontent.com/rcourtman/Pulse/main/install.sh | bash
Cependant, un bug apparaît lors de l’exécution du script :
[INFO] Installing dependencies... [INFO] Creating pulse user... [INFO] Setting up directories... [INFO] Downloading Pulse... [INFO] Latest version: v4.14.0 main: ligne 1161: BUILD_FROM_SOURCE : variable sans liaison
[INFO] Installing dependencies... [INFO] Setting up directories... [INFO] Downloading Pulse... [INFO] Latest version: v4.14.0 ./install.sh: ligne 1281: SKIP_DOWNLOAD : variable sans liaison
Pour corriger cela, exécutez ces deux commandes avant de lancer le script :
export BUILD_FROM_SOURCE=false export SKIP_DOWNLOAD=false
Puis relancez l’installation :
curl -fsSL https://raw.githubusercontent.com/rcourtman/Pulse/main/install.sh | bash
Une fois terminé, Pulse est installé en tant que service systemd et accessible via l’URL : http://pulse.domaine.local:7655
.
Intégration avec un reverse proxy
Pour éviter de devoir saisir le port :7655
, j’ai configuré un reverse proxy Nginx :
apt install nginx
nano /etc/nginx/sites-enabled/pulse.conf
server { server_name pulse.domaine.tld; location / { proxy_pass http://127.0.0.1:7655; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } }
Enfin, rechargez Nginx :
systemctl reload nginx
Configuration initiale
Accédez à http://pulse.domaine.local
et créez le mot de passe du compte administrateur :
Une fois la configuration sauvegardée, cliquez sur Continue to Login :
Saisissez le mot de passe défini pour accéder à l’interface d’administration :
Ajout des hyperviseurs Proxmox
Dans le cas d’un cluster Proxmox, Pulse doit accéder au réseau privé corosync
. Dans mon cas, le réseau corosync est séparé. :
- Configurer un nœud Proxmox comme passerelle :
nano /etc/sysctl.conf
Ajoutez la ligne :
net.ipv4.ip_forward = 1
Appliquez la modification :
sysctl -p
- Ajoutez les règles iptables suivantes :
iptables -t nat -A POSTROUTING -s 192.168.Y.0/24 -d 192.168.X.0/24 -j MASQUERADE iptables -A FORWARD -s 192.168.Y.0/24 -d 192.168.X.0/24 -j ACCEPT iptables -A FORWARD -d 192.168.Y.0/24 -s 192.168.X.0/24 -j ACCEPT
192.168.Y.0/24
= réseau public192.168.X.0/24
= réseau privé corosync
Sur la VM Pulse, ajoutez une route :
ip route add 192.168.X.0/24 via 192.168.Y.Z
192.168.Y.Z
= IP publique du nœud Proxmox
Ensuite, activez la découverte automatique dans Settings :
Les nœuds sont alors détectés automatiquement :
Il suffit ensuite d’éditer la configuration, de renseigner l’authentification (login/mot de passe ou, de préférence, API Token), puis de tester la connexion :
Si tout est correct, Pulse affiche l’ensemble des nœuds et des VMs :
De la même manière, il est possible d’ajouter un Proxmox Backup Server :
Ressources utiles
- Page officielle GitHub de Pulse
- Issue #465 (bug installation)
- Merci à blablalinux.be pour la découverte.