Skip to main content

Mise en place de node-exporter

Mise en place de Node Exporter pour la supervision avec Prometheus et Grafana

Ce guide explique comment installer et configurer Node Exporter sur une machine (VPS ou serveur Proxmox) afin d'exposer ses métriques à un serveur Prometheus, qui les affichera ensuite dans Grafana.


✨ Objectif

Obtenir les statistiques système de vos machines :

  • CPU, RAM, disques, réseau
  • Température, uptime, charge

🌐 Prérequis
  • Un serveur Prometheus fonctionnel
  • Une machine cible sur laquelle on souhaite installer Node Exporter (ex : VPS, Proxmox Host)

🛠️ Installation de Node Exporter

1. Se connecter à la machine cible (ex : via SSH)

2. Télécharger Node Exporter

curl -LO https://github.com/prometheus/node_exporter/releases/latest/download/node_exporter-1.8.1.linux-amd64.tar.gz
tar -xvzf node_exporter-1.8.1.linux-amd64.tar.gz
cd node_exporter-1.8.1.linux-amd64

Si la commande curl -LO ne fonctionne pas, utiliser wget. Une commande fonctionnelle est présente ci-dessous. Merci de simplement modifier la version de l'exemple (1.8.1) vers la dernière version.

wget https://github.com/prometheus/node_exporter/releases/download/v1.8.1/node_exporter-1.8.1.linux-amd64.tar.gz

3. Installer le binaire

sudo cp node_exporter /usr/local/bin/

4. Créer un utilisateur spécial pour exécuter Node Exporter

sudo useradd -rs /bin/false node_exporter

5. Créer le service systemd

sudo tee /etc/systemd/system/node_exporter.service > /dev/null <<EOF
[Unit]
Description=Node Exporter
Wants=network-online.target
After=network-online.target

[Service]
User=node_exporter
ExecStart=/usr/local/bin/node_exporter

[Install]
WantedBy=default.target
EOF

6. Activer et démarrer le service

sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl enable --now node_exporter

7. Vérifier qu'il fonctionne

curl http://localhost:9100/metrics

Vous devez voir une longue liste de métriques Prometheus.


📁 Configuration de Prometheus (sur le serveur Prometheus)

1. Modifier le fichier prometheus.yml

Ajoutez la cible dans la section scrape_configs :

- job_name: 'nom_de_la_machine'
    static_configs:
      - targets: ['IP_DE_LA_MACHINE:9100']

2. Redémarrer Prometheus

sudo systemctl restart prometheus

3. Vérifier l'interface Web de Prometheus

Naviguez vers http://IP_DU_SERVEUR_PROMETHEUS:9090/targets Vous devez voir la cible apparaître en UP.


📊 Affichage dans Grafana

1. Aller dans Grafana > Configuration > Data Sources

  • Ajouter ou sélectionner la source Prometheus

2. Aller dans Dashboards > Import

  • Entrer l'ID : 1860
  • Sélectionner la source Prometheus
  • Importer le dashboard Node Exporter Full

3. Profiter des statistiques temps réel 🚀


⚠️ Sécurité (optionnel)
  • Pour accéder à Node Exporter via Internet, utilisez un tunnel WireGuard, FRP ou un reverse proxy avec auth.
  • Sinon, limitez l'accès au port 9100 au seul serveur Prometheus via iptables ou ufw.

📄 Notes finales
  • Node Exporter ne collecte pas de logs. Pour les logs (fail2ban, journald...), utilisez Promtail avec Loki.
  • Vous pouvez installer Node Exporter sur autant de machines que nécessaire, Prometheus gèrera toutes les cibles.

🎉 C'est tout ! Vous avez maintenant un système de monitoring robuste avec Node Exporter + Prometheus + Grafana.