Pulse : Surveillance en temps réel pour Proxmox

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_dashbord_main_proxmox

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 :


Configuration initiale Pulse

Une fois la configuration sauvegardée, cliquez sur Continue to Login :


Setup complet Pulse

Saisissez le mot de passe défini pour accéder à l’interface d’administration :


Accueil Pulse

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 public
  • 192.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 :


Activation du mode discovery

Les nœuds sont alors détectés automatiquement :


Ajout des nœuds Proxmox

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 :


Édition d’un nœud Proxmox

Si tout est correct, Pulse affiche l’ensemble des nœuds et des VMs :


pulse_dashbord_main_proxmox

De la même manière, il est possible d’ajouter un Proxmox Backup Server :


Supervision PBS

Ressources utiles

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.