Grafana
Grafana est une plateforme de visualisation de données open source lancée en 2013. Elle permet aux utilisateurs de :
- Créer des tableaux de bord dynamiques et modulables.
- Visualiser des métriques, des journaux et des traces provenant de diverses sources de données.
- Configurer des alertes pour surveiller les performances et la santé des systèmes.
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
📊 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
ouufw
.
📄 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.
Mise en place de prometheus
Mise en place de Prometheus pour la supervision
Ce guide explique comment installer et configurer Prometheus sur une machine dédiée (VM ou LXC), afin de collecter les métriques d'autres machines (VPS, Proxmox, etc.) via des agents comme node_exporter.
Vous pouvez aussi utilisé Helper-Script pour l'installation :
Prometheus PVE Exporter : https://community-scripts.github.io/ProxmoxVE/scripts?id=prometheus-pve-exporter
Prometheus : https://community-scripts.github.io/ProxmoxVE/scripts?id=prometheus
✨ Objectif
Mettre en place un serveur Prometheus pour collecter des métriques depuis plusieurs machines :
- VPS avec node_exporter
- Proxmox exporter (exporteur dédié pour Proxmox VE)
- Machines locales avec node_exporter
🌐 Prérequis
- Une VM ou LXC dédiée à Prometheus (Debian/Ubuntu recommandé)
- Accès root ou sudo
🛠️ Installation de Prometheus
1. Mise à jour et création d'utilisateur
sudo apt update && sudo apt install -y curl tar
sudo useradd --no-create-home --shell /bin/false prometheus
2. Téléchargement
cd /tmp
curl -LO https://github.com/prometheus/prometheus/releases/latest/download/prometheus-2.52.0.linux-amd64.tar.gz
tar xvf prometheus-2.52.0.linux-amd64.tar.gz
cd prometheus-2.52.0.linux-amd64
Si la commande curl -LO
ne fonctionne pas, utilisé wget
3. Déplacement des fichiers
sudo mkdir -p /etc/prometheus /var/lib/prometheus
sudo cp prometheus promtool /usr/local/bin/
sudo cp -r consoles/ console_libraries/ /etc/prometheus/
sudo cp prometheus.yml /etc/prometheus/
4. Droits
sudo chown -R prometheus:prometheus /etc/prometheus /var/lib/prometheus
sudo chown prometheus:prometheus /usr/local/bin/prometheus /usr/local/bin/promtool
🔧 Création du service systemd
sudo tee /etc/systemd/system/prometheus.service > /dev/null <<EOF
[Unit]
Description=Prometheus
Wants=network-online.target
After=network-online.target
[Service]
User=prometheus
Group=prometheus
Type=simple
ExecStart=/usr/local/bin/prometheus \
--config.file=/etc/prometheus/prometheus.yml \
--storage.tsdb.path=/var/lib/prometheus/
[Install]
WantedBy=multi-user.target
EOF
🖊️ Configuration de /etc/prometheus/prometheus.yml
Voici un exemple valide pour plusieurs machines :
global:
scrape_interval: 15s
scrape_configs:
- job_name: 'nom_de_la_machine'
static_configs:
- targets: ['IP_DE_VOTRE_MACHINE:9090']
- job_name: 'nom_de_la_machine'
static_configs:
- targets: ['IP_DE_VOTRE_MACHINE:9221']
- job_name: 'nom_de_la_machine'
static_configs:
- targets: ['IP_DE_VOTRE_MACHINE:9100']
- job_name: 'nom_de_la_machine'
static_configs:
- targets: ['IP_DE_VOTRE_MACHINE:9100']
🚀 Lancement de Prometheus
1. Activer le service
sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl enable --now prometheus
2. Vérification
systemctl status prometheus
3. Interface Web
Accédez à :
http://IP_DU_SERVEUR_PROMETHEUS:9090
Puis allez dans : Status > Targets
Vous devez voir toutes les cibles listées comme UP.
🌍 Connexion à Grafana
- Sur Grafana (VM différente), aller dans Configuration > Data Sources
- Cliquer sur Add Data Source > choisir Prometheus
- Mettre comme URL :
http://IP_DU_SERVEUR_PROMETHEUS:9090
- Cliquer sur Save & Test
📄 Notes utiles
- Le fichier
prometheus.yml
doit avoir une seule sectionscrape_configs:
- Chaque
job_name
correspond à une cible identifiée dans Grafana - Si le service ne démarre pas, vérifiez les erreurs YAML :
/usr/local/bin/prometheus --config.file=/etc/prometheus/prometheus.yml
- Exemple d'erreur courante :
yaml: unmarshal errors: field scrape_configs already set
=> Ça signifie que scrape_configs:
est déclaré deux fois
🎉 Prometheus est maintenant prêt à collecter des métriques sur tous vos serveurs ✅
Mise en place de grafana
Mise en place de Grafana pour visualiser les métriques Prometheus
Ce guide explique comment installer et configurer Grafana sur une VM dédiée (ou LXC), afin d'afficher les métriques collectées par Prometheus, comme celles de Node Exporter, Proxmox Exporter, etc.
Vous pouvez également l'installer de manière simple et rapide avec l'aide de Helper-Script : https://community-scripts.github.io/ProxmoxVE/scripts?id=grafana
✨ Objectif
- Visualiser en temps réel les métriques de vos machines avec des dashboards interactifs
- Créer des alertes ou graphiques personnalisés via Prometheus
🌐 Prérequis
- Une VM dédiée pour Grafana (Debian/Ubuntu recommandé)
- Un serveur Prometheus fonctionnel accessible via IP
🛠️ Installation de Grafana (mode natif, sans Docker)
1. Ajouter le dépôt officiel Grafana
sudo apt-get install -y software-properties-common
sudo add-apt-repository "deb https://packages.grafana.com/oss/deb stable main"
wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -
2. Installer Grafana
sudo apt update
sudo apt install grafana -y
3. Activer et démarrer Grafana
sudo systemctl daemon-reload
sudo systemctl enable --now grafana-server
4. Accès à l'interface web
http://IP_DE_LA_VM_GRAFANA:3000
Identifiants par défaut :
- admin / admin (puis changement de mot de passe)
🌍 Connexion à Prometheus
1. Aller dans Grafana > Configuration > Data Sources
- Cliquer sur Add Data Source
- Choisir Prometheus
2. Configuration de la source
- URL :
http://IP_DU_SERVEUR_PROMETHEUS:9090
- Laisser les autres options par défaut
- Cliquer sur Save & Test
- Si tout est bon : "Data source is working" ✅
📊 Importer des dashboards
Dashboard Node Exporter (métriques système)
- Aller dans Dashboards > Import
- Entrer l'ID :
1860
- Choisir la data source Prometheus
- Cliquer sur Import
Dashboard Proxmox Exporter
- Aller dans Dashboards > Import
- Entrer l'ID :
11074
- Importer
Dashboard Loki (si Promtail est installé)
- ID recommandé :
13639
(journald, fail2ban, syslog)
⚖️ Bonnes pratiques
- Organisez vos dashboards par machine ou par rôle (ex : VPS, proxmox, backup...)
- Créez des "folders" pour chaque groupe
- Activez l'authentification externe (LDAP, OAuth) si Grafana est exposé publiquement
🔒 Sécurité (optionnel)
- Si vous exposez Grafana sur Internet, pensez à le placer derrière un reverse proxy (ex : Caddy, Nginx) avec HTTPS et mot de passe
- Sinon, limitez l'accès au port 3000 avec un pare-feu ou WireGuard
📄 Notes utiles
- Les sources de données Grafana peuvent inclure Prometheus, Loki, InfluxDB, etc.
- Vous pouvez aussi créer des alertes dans Grafana (Alerts v2)
- Les dashboards peuvent être exportés et sauvegardés au format JSON
🎉 Grafana est maintenant prêt à afficher vos métriques Prometheus sur une interface puissante et personnalisable ✅