Prometheus: Installer Prometheus Node Exporter sur un serveur Linux

Cette documentation fait partie du guide Récupérer des métriques depuis Linux. Consultez le guide complet ici : Comment récupérer les métriques d'un serveur Linux dans Prometheus avec Node Exporter.

👋 Bienvenue sur la documentation de Stackhero !

Stackhero propose une plateforme Prometheus cloud entièrement managée, pensée pour la fiabilité et la simplicité :

  • Alert Manager est intégré, ce qui vous permet d'envoyer vos alertes directement vers Slack, Mattermost, PagerDuty et d'autres destinations populaires.
  • Un serveur d'e-mail dédié vous permet d'envoyer un nombre illimité d'alertes par e-mail sans configuration supplémentaire.
  • Blackbox est inclus, pour sonder les protocoles HTTP, ICMP, TCP et bien d'autres, afin d'assurer une supervision complète.
  • Configurez rapidement votre instance grâce à l'éditeur de fichier de configuration en ligne. Il n'est pas nécessaire de gérer le YAML manuellement.
  • Appliquez les mises à jour en un clic. Stackhero s'occupe du processus de mise à niveau pour vous, en limitant les interruptions et les interventions manuelles.
  • Performances élevées et sécurité renforcée sont intégrées, grâce à votre propre infrastructure privée et dédiée.

Soyez opérationnel en environ 5 minutes. Stackhero prend en charge l'installation pour que vous puissiez vous concentrer sur la supervision, pas sur la maintenance. Essayez l'hébergement Prometheus cloud sur Stackhero pour simplifier vos workflows de monitoring et d'alerting.

Vous pouvez télécharger Node Exporter depuis sa page de releases GitHub. Il est distribué sous forme de binaire à exécuter directement sur votre système. Comme il est conçu pour tourner en continu, il est recommandé de le configurer pour qu'il se lance automatiquement au démarrage du serveur.

Par défaut, Node Exporter ouvre le port 9100 à tout le monde, sans authentification ni chiffrement. Il est fortement conseillé d'ajouter à la fois une authentification et un chiffrement TLS (voir ci-dessous), et de configurer un firewall pour restreindre l'accès au port 9100 afin que seuls votre serveur Prometheus ou d'autres adresses IP autorisées puissent s'y connecter.

Vous pouvez suivre ces étapes sur Ubuntu :

# Rendez-vous sur https://github.com/prometheus/node_exporter/releases pour obtenir le dernier numéro de version.
node_exporter_version="1.2.0"
node_exporter_release="linux-amd64"

# Téléchargez et installez node_exporter
cd /tmp
wget https://github.com/prometheus/node_exporter/releases/download/v${node_exporter_version}/node_exporter-${node_exporter_version}.${node_exporter_release}.tar.gz
tar xvfa node_exporter-${node_exporter_version}.${node_exporter_release}.tar.gz
sudo mv node_exporter-${node_exporter_version}.${node_exporter_release}/node_exporter /usr/local/bin/
rm -rf node_exporter-${node_exporter_version}.${node_exporter_release} node_exporter-${node_exporter_version}.${node_exporter_release}.tar.gz

# Créez un utilisateur "node_exporter"
sudo useradd -rs /bin/false node_exporter

# Créez un service systemd pour démarrer node_exporter automatiquement au démarrage
sudo bash -c 'cat << EOF > /etc/systemd/system/node_exporter.service
[Unit]
Description=Node Exporter
After=network.target

[Service]
User=node_exporter
Group=node_exporter
Type=simple
ExecStart=/usr/local/bin/node_exporter --web.config=/etc/prometheus_node_exporter/configuration.yml

[Install]
WantedBy=multi-user.target
EOF'

# Créez un dossier et un fichier de configuration
sudo mkdir -p /etc/prometheus_node_exporter/
sudo touch /etc/prometheus_node_exporter/configuration.yml
sudo chmod 700 /etc/prometheus_node_exporter
sudo chmod 600 /etc/prometheus_node_exporter/*
sudo chown -R node_exporter:node_exporter /etc/prometheus_node_exporter

sudo systemctl daemon-reload
sudo systemctl enable node_exporter

# Démarrez le service node_exporter et vérifiez son statut
sudo systemctl start node_exporter
sudo systemctl status node_exporter

À ce stade, le binaire node_exporter doit être en cours d'exécution sur votre serveur. Pour vérifier son fonctionnement, vous pouvez vous y connecter et vérifier qu'il retourne bien des métriques :

curl http://localhost:9100/metrics

Node Exporter ouvre le port 9100 sur le réseau public. Cela signifie que n'importe qui peut se connecter et récupérer les métriques de votre serveur ! Il est indispensable d'ajouter au minimum une authentification et un chiffrement TLS (voir ci-dessous), et il est fortement recommandé de configurer un firewall pour bloquer les requêtes sur le port 9100 provenant d'autres IP que votre serveur Prometheus.

L'installation de Node Exporter sur Debian est identique à celle sur Ubuntu. Il suffit de suivre les mêmes instructions.

Les étapes d'installation de Node Exporter dépendent du système utilisé. Même si une documentation détaillée pour chaque plateforme n'est pas fournie ici, la procédure de base consiste à télécharger le binaire adapté à votre système et à le configurer pour qu'il démarre automatiquement au boot.