Vous voulez garder un Ćil sur vos Raspberry Pi en temps rĂ©el ? Suivre la charge CPU, la mĂ©moire, la tempĂ©rature ou encore l’Ă©tat du rĂ©seau ?
Cette solution de monitoring basĂ©e sur Grafana, Prometheus et Node Exporter vous permet de visualiser les performances de vos appareils, de consulter un historique, et mĂȘme de recevoir des alertes en cas de problĂšme (surchauffe, panne, etc.). Voici un guide pratique pour tout mettre en place.
Prérequis
- Matériel : Un Raspberry Pi 3, 4, ou 5.
- SystĂšme : Une distribution Ă jour (Raspberry Pi OS, Debian ou Ubuntu).
- Connexion : Réseau stable (Ethernet recommandé, Wi-Fi possible).
- AccÚs : SSH configuré pour une gestion à distance.
Ătape 1 : Installer Node Exporter sur chaque Raspberry Pi
Node Exporter est un outil léger qui collecte les métriques systÚme (CPU, RAM, disque, etc.) et les rend accessibles à Prometheus.
- Téléchargez la derniÚre version pour ARMv7 (architecture des Raspberry Pi) depuis la page GitHub de Node Exporter:
wget https://github.com/prometheus/node_exporter/releases/latest/download/node_exporter-<VERSION>.linux-armv7.tar.gz
tar -xvzf node_exporter-<VERSION>.linux-armv7.tar.gz
sudo cp node_exporter-<VERSION>.linux-armv7/node_exporter /usr/local/bin/
Remplacez <VERSION> par la version actuelle.
Créez un utilisateur dédié :
sudo useradd –no-create-home –shell /usr/sbin/nologin node_exporter
Configurez Node Exporter comme service systemd :
sudo tee /etc/systemd/system/node_exporter.service > /dev/null <<EOF
[Unit]
Description=Node Exporter
After=network.target
[Service]
User=node_exporter
ExecStart=/usr/local/bin/node_exporter
[Install]
WantedBy=default.target
EOF
Activez et démarrez le service :
sudo systemctl daemon-reload
sudo systemctl enable –now node_exporter
Vérifiez que Node Exporter fonctionne (port 9100) :
curl http://localhost:9100/metrics
Assurez-vous que ce port est accessible depuis le serveur Prometheus.
Ătape 2 : Configurer Prometheus pour collecter les donnĂ©es
Prometheus est le serveur qui centralise les métriques collectées par Node Exporter. Installez-le sur un Raspberry Pi principal ou une machine dédiée.
Téléchargez la derniÚre version pour ARMv7 depuis GitHub Prometheus:
wget https://github.com/prometheus/prometheus/releases/latest/download/prometheus-<VERSION>.linux-armv7.tar.gz
tar -xvzf prometheus-<VERSION>.linux-armv7.tar.gz
cd prometheus-<VERSION>.linux-armv7
Créez un fichier de configuration prometheus.yml :
scrape_configs:
– job_name: ‘raspberrypi’
static_configs:
– targets: [‘localhost:9100’, ‘192.168.1.42:9100’, ‘192.168.1.43:9100’]
Remplacez les adresses IP par celles de vos Raspberry Pi équipés de Node Exporter.
Lancez Prometheus :
./prometheus –config.file=prometheus.yml
AccĂ©dez Ă lâinterface web sur http://<IP_DU_SERVEUR>:9090 pour vĂ©rifier que les cibles sont bien collectĂ©es (onglet Status > Targets).
Conseil : Pour une utilisation permanente, configurez Prometheus comme service systemd, similaire à Node Exporter, avec Restart=always pour un redémarrage automatique.
Ătape 3 : Installer Grafana pour visualiser les donnĂ©es
Grafana transforme les données brutes de Prometheus en tableaux de bord clairs et personnalisables.
Installez Grafana :
sudo apt update
sudo apt install -y apt-transport-https software-properties-common wget
wget -q -O – https://packages.grafana.com/gpg.key | sudo apt-key add –
echo « deb https://packages.grafana.com/oss/deb stable main » | sudo tee /etc/apt/sources.list.d/grafana.list
sudo apt update
sudo apt install grafana
Activez et démarrez le service :
sudo systemctl enable –now grafana-server
AccĂ©dez Ă lâinterface sur http://<IP_DU_SERVEUR>:3000. Identifiants par dĂ©faut : admin/admin. Changez le mot de passe immĂ©diatement.
Si vous utilisez un pare-feu (ex. : UFW), ouvrez le port 3000 :
sudo ufw allow 3000
Ătape 4 : Configurer Grafana et importer un dashboard
Ajoutez Prometheus comme source de données :
- Allez dans Configuration > Data Sources.
- SĂ©lectionnez Prometheus et entrez lâURL : http://<IP_DU_SERVEUR>:9090.
- Sauvegardez.
- Importez un dashboard prédéfini :
- Allez dans Dashboards > Import.
- Entrez lâID 1860 (dashboard « Node Exporter Full », compatible avec Node Exporter).
- Sélectionnez votre source Prometheus et validez.
Ce dashboard affiche les métriques essentielles : CPU, mémoire, disque, réseau, température, et uptime pour chaque Raspberry Pi.
Personnalisez si besoin :
- Créez des panneaux pour suivre des métriques spécifiques (ex. : température CPU sur 24h, charge réseau).
- Regroupez les dashboards par emplacement (ex. : « Salon », « Bureau ») si vous avez plusieurs Pi.

Ătape 5 : Configurer des alertes
Pour ĂȘtre notifiĂ© en cas de problĂšme (ex. : CPU > 80 %, tempĂ©rature > 70°C), configurez des alertes dans Grafana :
Dans un panneau (ex. : tempĂ©rature), cliquez sur lâonglet Alert.
Définissez :
- Le seuil (ex. : température > 70°C).
- La fréquence de vérification (ex. : toutes les 5 minutes).
- Le canal de notification (email, Telegram, etc.).
Exemple avec Telegram :
Créez un bot via @BotFather sur Telegram et récupérez son token.
Ajoutez le bot Ă un groupe ou utilisez un chat ID personnel.
Configurez Grafana pour envoyer des notifications via lâAPI Telegram :
curl -s -X POST https://api.telegram.org/bot<VOTRE_TOKEN>/sendMessage \
-d chat_id=<VOTRE_CHAT_ID> \
-d text= »Température critique sur le Raspberry du salon ! »
Autres options : email via un relais SMTP, notifications via ntfy, ou intégration avec Home Assistant.
- CÎté client : Utiliser Grafana au quotidien
Une fois le monitoring configurĂ©, voici comment les utilisateurs (administrateurs, passionnĂ©s, ou vous-mĂȘme) interagissent avec Grafana :
AccÚs aux dashboards : Connectez-vous à http://<IP_DU_SERVEUR>:3000 depuis un navigateur sur votre PC, tablette, ou smartphone. Les dashboards sont accessibles en lecture seule pour les utilisateurs non-admin si configuré.
- Consultation : VĂ©rifiez les performances en temps rĂ©el ou explorez les donnĂ©es historiques (ex. : charge CPU sur une semaine). Aucun logiciel supplĂ©mentaire nâest requis, juste un navigateur.
Réception des alertes : Si configuré, vous recevrez des notifications (Telegram, email, etc.) en cas de problÚme. Assurez-vous que votre application de messagerie (ex. : Gmail, Telegram) est bien configurée pour afficher ces alertes rapidement.
Actions en cas dâalerte : Si un Raspberry Pi surchauffe ou redĂ©marre, connectez-vous via SSH pour diagnostiquer (ex. : vĂ©rifier les processus avec top ou redĂ©marrer avec sudo reboot).
- Sécurisation : Pour éviter un accÚs non autorisé, désactivez la connexion anonyme dans Grafana (grafana.ini : anonymous = false) et utilisez un mot de passe fort.
Conseil pour les équipes : Si plusieurs personnes surveillent, créez des comptes utilisateur dans Grafana avec des rÎles spécifiques (lecture seule ou édition).
Bonnes pratiques et optimisations
- Sécurité :
Limitez lâaccĂšs Ă Grafana et Prometheus via un pare-feu (ex. : ufw allow from 192.168.1.0/24 to any port 3000).
Activez HTTPS avec un reverse proxy (NGINX ou Caddy) et un certificat Letâs Encrypt.
Si exposé sur Internet, utilisez un VPN ou une authentification forte.
- Fiabilité :
Sauvegardez réguliÚrement la configuration de Grafana (dossier /var/lib/grafana).
Ajoutez des labels dans prometheus.yml (ex. : alias: salon) pour identifier facilement chaque Pi.
Surveillez lâespace disque des cartes SD, souvent limitĂ© sur les Raspberry Pi.
- Tests :
Vérifiez la collecte des métriques : curl http://<IP_PI>:9100/metrics.
Consultez Status > Targets dans Prometheus pour confirmer que toutes les cibles sont actives.
- Automatisation :
Configurez un watchdog systÚme sur les Pi critiques pour détecter les blocages.
Utilisez un DNS local ou /etc/hosts pour simplifier la gestion des IP.
Conclusion
Avec Grafana, Prometheus, et Node Exporter, vous disposez dâune solution de monitoring puissante pour vos Raspberry Pi. Vous pouvez surveiller leurs performances, dĂ©tecter les problĂšmes avant quâils ne sâaggravent, et optimiser vos projets auto-hĂ©bergĂ©s. Que vous gĂ©riez un seul Pi ou une flotte entiĂšre, ce systĂšme est fiable, flexible, et accessible depuis nâimporte quel appareil via un simple navigateur.
Pour aller plus loin, explorez les dashboards personnalisĂ©s ou intĂ©grez ce monitoring Ă dâautres outils comme Home Assistant.
