# Mise en place de node-exporter

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

<span style="white-space: pre-wrap;">Ce guide explique comment installer et configurer </span>****Node Exporter****<span style="white-space: pre-wrap;"> sur une machine (VPS ou serveur Proxmox) afin d'exposer ses métriques à un serveur </span>****Prometheus****<span style="white-space: pre-wrap;">, qui les affichera ensuite dans </span>****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

```bash
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
```

<p class="callout info"><span style="white-space: pre-wrap;">Si la commande </span>`<span class="editor-theme-code">curl -LO</span>`<span style="white-space: pre-wrap;"> ne fonctionne pas, utiliser </span>`<span class="editor-theme-code">wget</span>`. 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.</p>

<p class="callout info">`<span class="editor-theme-code">wget https://github.com/prometheus/node_exporter/releases/download/v1.8.1/node_exporter-1.8.1.linux-amd64.tar.gz</span>`</p>

3\. Installer le binaire

```bash
sudo cp node_exporter /usr/local/bin/
```

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

```bash
sudo useradd -rs /bin/false node_exporter
```

5\. Créer le service systemd

```bash
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

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

7\. Vérifier qu'il fonctionne

```bash
curl http://localhost:9100/metrics
```

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

---

##### 📁 Configuration de Prometheus (sur le serveur Prometheus)

<span style="white-space: pre-wrap;">1. Modifier le fichier </span>`<span class="editor-theme-code">prometheus.yml</span>`

<span style="white-space: pre-wrap;">Ajoutez la cible dans la section </span>`<span class="editor-theme-code">scrape_configs</span>`<span style="white-space: pre-wrap;"> :</span>

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

2\. Redémarrer Prometheus

```bash
sudo systemctl restart prometheus
```

3\. Vérifier l'interface Web de Prometheus

<span style="white-space: pre-wrap;">Naviguez vers </span>`<span class="editor-theme-code">http://IP_DU_SERVEUR_PROMETHEUS:9090/targets</span>`<span style="white-space: pre-wrap;"> Vous devez voir la cible apparaître en </span>****UP****.

---

##### 📊 Affichage dans Grafana

1\. Aller dans Grafana &gt; Configuration &gt; Data Sources

- <span style="white-space: pre-wrap;">Ajouter ou sélectionner la source </span>****Prometheus****

2\. Aller dans Dashboards &gt; Import

- <span style="white-space: pre-wrap;">Entrer l'ID : </span>`<span class="editor-theme-code">1860</span>`
- Sélectionner la source Prometheus
- <span style="white-space: pre-wrap;">Importer le dashboard </span>****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.
- <span style="white-space: pre-wrap;">Sinon, limitez l'accès au port 9100 au seul serveur Prometheus via </span>`<span class="editor-theme-code">iptables</span>`<span style="white-space: pre-wrap;"> ou </span>`<span class="editor-theme-code">ufw</span>`.

---

##### 📄 Notes finales

- <span style="white-space: pre-wrap;">Node Exporter ne collecte </span>****pas de logs****<span style="white-space: pre-wrap;">. Pour les logs (fail2ban, journald...), utilisez </span>****Promtail****<span style="white-space: pre-wrap;"> avec </span>****Loki****.
- <span style="white-space: pre-wrap;">Vous pouvez installer Node Exporter sur </span>****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.