# Installer Node Exporter et ajouter à Prometheus

## Node Exporter

### A quoi sert Node Exporter ?

Node Exporter est le programme qui récupère les metrics (infos du système) et vas les rendre disponible par simple requête curl.

### Installation

#### Téléchargement

Pour commencer, télécharger la dernière version de Node Exporter ici: [Node-Exporter](https://prometheus.io/download/#node_exporter)

`wget https://github.com/prometheus/node_exporter/releases/download/v1.0.1/node_exporter-1.0.1.linux-amd64.tar.gz`

#### Dépaquetage

On extrait l'archive

`dpkg -xvf node_exporter-1.0.1.linux-amd64.tar.gz`

Puis on la déplace dans un répertoire qui lui permet d'être gérer par le système

`mv exporter-1.0.1.linux-amd64/node_exporter /usr/local/bin/`

#### Installation &amp; Mise en service

En réalitée, on installe pas vraiment Node Exporter, on crée juste une tache système qui vas lancer la commande.

Et pour ça, on crée un utilisateur node exporter qui va s'occuper du service.

`useradd -rs /bin/false node_exporter`

Ensuite on crée le fameux service.

`nano /etc/systemd/system/node_exporter.service`

Le fichier doit contenir les infos suivante:

```shell
[Unit]
Description=Node Exporter
After=network.target

[Service]
User=node_exporter
Group=node_exporter
Type=simple
ExecStart=/usr/local/bin/node_exporter

[Install]
WantedBy=multi-user.target
```

Maintenant il faut recharger le daemon

`systemctl daemon-reload`

Puis démarrer node\_exporter

`systemctl start node_exporter`

Il faut vérifier si node\_exporter fonctionne

`systemctl status node_exporter`

Si tout vas bien, alors on peut l'ajouter au service au démarrage

`systemctl enable node_exporter`

Pour savoir si tout vas bien:

`curl <a href="http://localhost:9100/metrics">http://localhost:9100/metrics</a>`

### Ajouter l'host à Prometheus

#### Ajout de l'host

Pour ajouter l'host il faut modifier le fichier de configuration de Prometheus

`nano /etc/prometheus/prometheus.yml`

Ajouter un target avec l'adresse ip voulu en dessous du target existant. Example avec 192.168.0.2:

```shell
  - job_name: 'node_exporter'
    scrape_interval: 5s
    static_configs:
      - targets: ['localhost:9100']
      - targets: ['192.168.0.2:9100']
```

#### Redémarrage de Prometheus

Pour que tout soit pris en compte il faut redémarrer le service prometheus:

`systemct restart prometheus`

### Vérification

Pour voire si tout vas bien, un petit tour sur votre interface prometheus ([http://prometheus-ip:9090/targets](http://prometheus-ip:9090/targets)) ou grafana et voir si votre host apparait bien !