Prometheus: Ajouter un chiffrement TLS à Prometheus Node Exporter

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

👋 Bienvenue dans la documentation Stackhero !

Stackhero vous propose une plateforme Prometheus cloud entièrement gérée, conçue pour la fiabilité et la simplicité :

  • Alert Manager est intégré, ce qui vous permet d’acheminer les alertes directement vers Slack, Mattermost, PagerDuty et d’autres destinations populaires.
  • Un serveur email dédié vous permet d’envoyer un nombre illimité d’alertes par email sans configuration supplémentaire.
  • Blackbox est inclus, vous permettant de sonder les protocoles HTTP, ICMP, TCP et autres pour une surveillance complète.
  • Configurez votre instance rapidement grâce à l’éditeur de fichier de configuration en ligne. Plus besoin de gérer le YAML manuellement.
  • Appliquez les mises à jour en un seul clic. Stackhero s’occupe du processus de mise à niveau pour vous, réduisant ainsi les interruptions et les interventions manuelles.
  • Performance élevée et sécurité renforcée sont incluses grâce à votre propre infrastructure privée et dédiée.

Mettez votre instance en service en environ 5 minutes. Stackhero s’occupe de l’installation pour que vous puissiez vous concentrer sur la surveillance, pas sur la maintenance. Essayez l’hébergement Prometheus cloud sur Stackhero pour simplifier vos flux de travail de monitoring et d’alerting.

Par défaut, Node Exporter ne chiffre pas les communications. Cela signifie que les identifiants, y compris le mot de passe défini précédemment, sont transmis en clair. Pour sécuriser les communications, vous pouvez activer le chiffrement TLS comme suit.

Exécutez les commandes suivantes pour créer un certificat et une clé TLS :

# Créer un certificat TLS
cd /tmp
sudo openssl req -new -newkey rsa:2048 -days 3650 -nodes -x509 \
  -keyout /etc/prometheus_node_exporter/tlsCertificate.key \
  -out /etc/prometheus_node_exporter/tlsCertificate.crt \
  -subj "/CN=`hostname`" \
  -addext "subjectAltName = DNS:`hostname`"
sudo chmod 600 /etc/prometheus_node_exporter/*
sudo chown -R node_exporter:node_exporter /etc/prometheus_node_exporter

Ajoutez les lignes suivantes au fichier de configuration pour ajouter les paramètres TLS puis redémarrez Node Exporter :

sudo cat << 'EOF' >> /etc/prometheus_node_exporter/configuration.yml
tls_server_config:
  cert_file: /etc/prometheus_node_exporter/tlsCertificate.crt
  key_file: /etc/prometheus_node_exporter/tlsCertificate.key

EOF

# Redémarrer Prometheus Node Exporter
sudo systemctl restart node_exporter

Vous pouvez vérifier que TLS est actif en vous connectant via HTTPS avec la commande suivante :

curl -k -u prometheus:${password} https://localhost:9100/metrics

Notez que cette méthode n'utilise pas de certificat CA, vous devez donc passer l'option "-k" à cURL pour contourner la vérification du certificat.