Prometheus: Dodaj uwierzytelnianie do Prometheus Node Exporter

Ta dokumentacja jest częścią przewodnika Pobieranie metryk z Linuxa. Pełny przewodnik znajdziesz tutaj: Jak pobierać metryki serwera Linux w Prometheus za pomocą Node Exporter.

👋 Witamy w dokumentacji Stackhero!

Stackhero oferuje gotowe do użycia rozwiązanie Prometheus cloud, które zapewnia wiele korzyści, w tym:

  • Alert Manager w zestawie do wysyłania alertów do Slack, Mattermost, PagerDuty, itp.
  • Dedykowany serwer e-mail do wysyłania nieograniczonych alertów e-mail.
  • Blackbox do sondowania HTTP, ICMP, TCP i więcej.
  • Łatwa konfiguracja z edytorem plików konfiguracyjnych online.
  • Bezproblemowe aktualizacje za pomocą jednego kliknięcia.
  • Optymalna wydajność i solidne bezpieczeństwo dzięki prywatnej i dedykowanej VM.

Oszczędzaj czas i upraszczaj swoje życie: wystarczy 5 minut, aby wypróbować rozwiązanie Prometheus cloud hosting Stackhero!

Domyślnie Node Exporter nie wykonuje uwierzytelniania, co oznacza, że każdy może pobrać udostępnione metryki. Aby zabezpieczyć dostęp, można dodać podstawowe uwierzytelnianie dla użytkownika.

Wygeneruj hasło za pomocą następujących poleceń:

password=`openssl rand -base64 32`
passwordHashed=`echo ${password} | htpasswd -inBC 10 "" | tr -d ':'`
echo "Hasło do zachowania dla serwera Prometheus: ${password}"

Jeśli nie masz binarki htpasswd, można ją zainstalować na Debian/Ubuntu za pomocą apt-get install --no-install-recommends apache2-utils.

Przechowuj hasło w bezpiecznym miejscu, ponieważ będzie potrzebne podczas konfigurowania Prometheus.

Dodaj następujące linie do pliku konfiguracyjnego, aby dodać użytkownika o nazwie "prometheus" z wygenerowanym hashem hasła:

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

EOF

# Ponowne uruchomienie Node Exporter
sudo systemctl restart node_exporter

Na koniec, sprawdź, czy uwierzytelnianie działa poprawnie:

  • Uruchomienie curl http://localhost:9100/metrics powinno zwrócić "Unauthorized".
  • Uruchomienie curl -u prometheus:${password} http://localhost:9100/metrics powinno zwrócić listę metryk.