Prometheus: Authentifizierung zu Prometheus Node Exporter hinzufügen

Diese Dokumentation ist Teil des Abrufen von Metriken von Linux-Leitfadens. Den vollständigen Leitfaden finden Sie hier: Wie man Linux-Server-Metriken in Prometheus mit Node Exporter abruft.

👋 Willkommen in der Stackhero-Dokumentation!

Stackhero bietet eine einsatzbereite Prometheus Cloud-Lösung, die zahlreiche Vorteile bietet, darunter:

  • Alert Manager inklusive, um Warnungen an Slack, Mattermost, PagerDuty usw. zu senden.
  • Dedizierter E-Mail-Server zum Versenden von unbegrenzten E-Mail-Warnungen.
  • Blackbox zur Überprüfung von HTTP, ICMP, TCP und mehr.
  • Einfache Konfiguration mit Online-Konfigurationsdatei-Editor.
  • Mühelose Updates mit nur einem Klick.
  • Optimale Leistung und robuste Sicherheit durch eine private und dedizierte VM.

Sparen Sie Zeit und vereinfachen Sie Ihr Leben: Es dauert nur 5 Minuten, um die Prometheus Cloud Hosting-Lösung von Stackhero auszuprobieren!

Standardmäßig führt Node Exporter keine Authentifizierung durch, was bedeutet, dass jeder die bereitgestellten Metriken abrufen kann. Um den Zugriff zu sichern, können Sie eine grundlegende Authentifizierung für einen Benutzer hinzufügen.

Generieren Sie ein Passwort mit den folgenden Befehlen:

password=`openssl rand -base64 32`
passwordHashed=`echo ${password} | htpasswd -inBC 10 "" | tr -d ':'`
echo "Klartext-Passwort für den Prometheus-Server aufbewahren: ${password}"

Wenn Sie das htpasswd-Binärprogramm nicht haben, können Sie es auf Debian/Ubuntu mit apt-get install --no-install-recommends apache2-utils installieren.

Bewahren Sie das Klartext-Passwort sicher auf, da Sie es bei der Konfiguration von Prometheus benötigen.

Fügen Sie die folgenden Zeilen zur Konfigurationsdatei hinzu, um einen Benutzer namens "prometheus" mit dem generierten Passwort-Hash hinzuzufügen:

sudo cat << EOF >> /etc/prometheus_node_exporter/configuration.yml
basic_auth_users:
  prometheus: ${passwordHashed}

EOF

# Node Exporter neu starten
sudo systemctl restart node_exporter

Überprüfen Sie schließlich, ob die Authentifizierung korrekt funktioniert:

  • Das Ausführen von curl http://localhost:9100/metrics sollte "Unauthorized" zurückgeben.
  • Das Ausführen von curl -u prometheus:${password} http://localhost:9100/metrics sollte die Liste der Metriken zurückgeben.