Prometheus: Dodaj szyfrowanie TLS 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 Managerw zestawie do wysyłania alertów doSlack,Mattermost,PagerDuty, itp.- Dedykowany serwer e-mail do wysyłania nieograniczonych alertów e-mail.
Blackboxdo sondowaniaHTTP,ICMP,TCPi 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 szyfruje komunikacji. Oznacza to, że dane uwierzytelniające, w tym wcześniej zdefiniowane hasło, są przesyłane w postaci niezaszyfrowanej. Aby zabezpieczyć komunikację, można włączyć szyfrowanie TLS w następujący sposób.
Tworzenie certyfikatów TLS
Uruchom następujące polecenia, aby utworzyć certyfikat i klucz TLS:
# Utwórz certyfikat 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
Aktualizacja konfiguracji
Dodaj następujące linie do pliku konfiguracyjnego, aby dodać ustawienia TLS, a następnie ponownie uruchom 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
# Ponowne uruchomienie Prometheus Node Exporter
sudo systemctl restart node_exporter
Można sprawdzić, czy TLS jest aktywny, łącząc się przez HTTPS za pomocą następującego polecenia:
curl -k -u prometheus:${password} https://localhost:9100/metrics
Zauważ, że ta metoda nie używa certyfikatu CA, więc trzeba przekazać opcję "-k" do cURL, aby pominąć weryfikację certyfikatu.