Prometheus: Ajouter une authentification à 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 plateforme Prometheus cloud entièrement managée, pensée pour la fiabilité et la simplicité :
Alert Managerest intégré, ce qui vous permet d'envoyer vos alertes directement versSlack,Mattermost,PagerDutyet 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.
Blackboxest inclus, pour sonder les protocolesHTTP,ICMP,TCPet 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.
Par défaut, Node Exporter ne propose aucune authentification, ce qui signifie que n'importe qui peut accéder aux métriques exposées. Pour sécuriser l'accès, vous pouvez ajouter une authentification basique pour un utilisateur.
Générer un mot de passe aléatoire
Générez un mot de passe avec les commandes suivantes :
password=`openssl rand -base64 32`
passwordHashed=`echo ${password} | htpasswd -inBC 10 "" | tr -d ':'`
echo "Clear password to keep for Prometheus server: ${password}"
Si vous n'avez pas le binaire
htpasswd, vous pouvez l'installer sur Debian/Ubuntu avecapt-get install --no-install-recommends apache2-utils.
Conservez le mot de passe en clair précieusement, car il sera nécessaire lors de la configuration de Prometheus.
Ajouter l'utilisateur et redémarrer Node Exporter
Ajoutez les lignes suivantes au fichier de configuration pour créer un utilisateur "prometheus" avec le hash du mot de passe généré :
sudo cat << EOF >> /etc/prometheus_node_exporter/configuration.yml
basic_auth_users:
prometheus: ${passwordHashed}
EOF
# Redémarrez Node Exporter
sudo systemctl restart node_exporter
Enfin, vérifiez que l'authentification fonctionne correctement :
- L'exécution de
curl http://localhost:9100/metricsdoit retourner "Unauthorized". - L'exécution de
curl -u prometheus:${password} http://localhost:9100/metricsdoit retourner la liste des métriques.