Ajouter des sondes NodeExporter pour Grafana

Pour exécuter Node Exporter en toute sécurité sur notre serveur, nous devons créer un utilisateur pour et Node Exporter sans possibilité de se connecter.

Pour ce faire, nous utilisons le paramètre --no-create-home qui saute l'étape de la création d'un répertoire personnel et désactive le shell avec --shell /usr/sbin/nologin.

useradd --no-create-home --shell /bin/false node_exporter

Comme votre Prometheus précédemment installé n'est capable que de collecter des métriques, nous souhaitons étendre ses capacités en ajoutant Node Exporter, un outil qui collecte des informations sur le système, notamment l'utilisation du processeur, du disque et de la mémoire, et les expose à des fins de scraping.

Téléchargez la dernière version de Node Exporter,

  • pour serveur x64 :

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

  • pour serveur arm64 (Raspberry Pi 4 dans mon cas) :

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

Décompressez l'archive téléchargée.

Cela créera un répertoire contenant l'exécutable, un fichier readme et un fichier de licence :

tar xvf node_exporter-*.tar.gz

Copiez le fichier binaire dans le répertoire /usr/local/binet définissez la propriété sur l'utilisateur que vous avez créé à l'étape précédente:

cp node_exporter-*.linux-amd64/node_exporter /usr/local/bin
chown node_exporter:node_exporter /usr/local/bin/node_exporter

Pour exécuter Node Exporter automatiquement à chaque démarrage, un fichier de service Systemd est requis.

Créez le fichier suivant en l'ouvrant avec nano :

nano /etc/systemd/system/node_exporter.service

Copiez les informations suivantes dans le fichier de service, enregistrez-le et quittez nano :

[Unit]
Description=Node Exporter
Wants=network-online.target
After=network-online.target

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

[Install]
WantedBy=multi-user.target

Rechargez Systemd pour utiliser le service nouvellement défini :

systemctl daemon-reload

9. Exécutez Node Exporter en tapant la commande suivante :

systemctl start node_exporter

Vérifiez que le logiciel a démarré avec succès :

systemctl status node_exporter

Activez Node Exporter à démarrer à chaque démarrage du serveur :

systemctl enable node_exporter

Vous devez ensuite ajouter Node Exporter au fichier de configuration de Prometheus.

Vous ajoutez la partie suivante sous la configuration de Prometheus :

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

Si vous souhaitez récupérer les données d'un hôte distant, vous devez les remplacer localhostpar l'adresse IP du serveur distant.

Voici un exemple :

Vous retrouverez le même dashboard ici.

Pour toutes informations sur la configuration de Prometheus, vous pouvez consulter la documentation de configuration .

Me faire un don

Si vous appréciez le contenu de mes articles :

Boris
Dinan, Bretagne