Prometheus: Ajouter le chiffrement TLS à Prometheus Node Exporter

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 solution Prometheus cloud prête à l'emploi qui offre de nombreux avantages, notamment :

  • Alert Manager inclus pour envoyer des alertes vers Slack, Mattermost, PagerDuty, etc.
  • Serveur email dédié pour envoyer un nombre illimité d'alertes par e-mail.
  • Blackbox pour sonder HTTP, ICMP, TCP et bien plus.
  • Configuration simple grâce à l'éditeur de fichier de configuration en ligne.
  • Mises à jour faciles en un clic.
  • Performance optimale et sécurité renforcée grâce à une VM privée et dédiée.

Gagnez du temps et simplifiez-vous la vie : il suffit de 5 minutes pour essayer la solution Prometheus cloud hosting de Stackhero !

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 échanges, vous pouvez activer le chiffrement TLS comme suit.

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

# Créez le 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 activer 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émarrez Prometheus Node Exporter
sudo systemctl restart node_exporter

Vous pouvez vérifier que TLS est actif en vous connectant en 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, il est donc nécessaire de passer l'option "-k" à cURL pour ignorer la vérification du certificat.