Grafana

Grafana est une plateforme de visualisation de données open source lancée en 2013. Elle permet aux utilisateurs de :

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 :


🌐 Prérequis

🛠️ 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

2. Aller dans Dashboards > Import

3. Profiter des statistiques temps réel 🚀


⚠️ Sécurité (optionnel)

📄 Notes finales

🎉 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 :


🌐 Prérequis

🛠️ 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
  1. Sur Grafana (VM différente), aller dans Configuration > Data Sources
  2. Cliquer sur Add Data Source > choisir Prometheus
  3. Mettre comme URL : http://IP_DU_SERVEUR_PROMETHEUS:9090
  4. Cliquer sur Save & Test

📄 Notes utiles
/usr/local/bin/prometheus --config.file=/etc/prometheus/prometheus.yml
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

🌐 Prérequis

🛠️ 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 :


🌍 Connexion à Prometheus

1. Aller dans Grafana > Configuration > Data Sources

2. Configuration de la source


📊 Importer des dashboards

Dashboard Node Exporter (métriques système)

Dashboard Proxmox Exporter

Dashboard Loki (si Promtail est installé)


⚖️ Bonnes pratiques

🔒 Sécurité (optionnel)

📄 Notes utiles

🎉 Grafana est maintenant prêt à afficher vos métriques Prometheus sur une interface puissante et personnalisable ✅