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 w pełni zarządzaną platformę Prometheus cloud, zaprojektowaną z myślą o niezawodności i prostocie:

  • Alert Manager jest wbudowany, dzięki czemu można przekierowywać alerty bezpośrednio do Slack, Mattermost, PagerDuty oraz innych popularnych narzędzi.
  • Dedykowany serwer e-mail umożliwia wysyłanie nieograniczonej liczby powiadomień e-mail bez dodatkowej konfiguracji.
  • Blackbox jest dostępny, co pozwala na sondowanie protokołów takich jak HTTP, ICMP, TCP i innych, zapewniając kompleksowy monitoring.
  • Szybka konfiguracja instancji dzięki edytorowi plików konfiguracyjnych online – nie trzeba ręcznie zarządzać plikami YAML.
  • Aktualizacje można zastosować jednym kliknięciem. Stackhero zajmuje się całym procesem aktualizacji, minimalizując przestoje i konieczność ręcznej interwencji.
  • Wysoka wydajność i silne zabezpieczenia są zapewnione dzięki prywatnej, dedykowanej infrastrukturze.

Uruchom usługę w około 5 minut. Stackhero zajmuje się konfiguracją, abyś mógł skupić się na monitorowaniu, a nie na utrzymaniu. Wypróbuj Prometheus cloud hosting na Stackhero i usprawnij swoje procesy monitorowania oraz powiadamiania.

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.