Prometheus: Blackbox Exporter
Jak używać Prometheus Blackbox Exporter do sondowania punktów końcowych HTTP i ICMP (ping)
👋 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!
Wprowadzenie do Prometheus Blackbox Exporter
Prometheus Blackbox Exporter to potężne narzędzie, które umożliwia sondowanie punktów końcowych za pomocą różnych protokołów, w tym HTTP, HTTPS, DNS, TCP i ICMP. Ta elastyczność pozwala na kompleksowe monitorowanie różnych aspektów infrastruktury i usług.
Na przykład, podczas sondowania punktów końcowych HTTP i HTTPS, można:
- Zweryfikować dostępność strony internetowej, sprawdzając kod statusu HTTP 2xx.
- Upewnić się, że zwracana jest określona treść, na przykład dopasowując tytuł strony do oczekiwanego tekstu.
- Walidować certyfikaty TLS, pobierając daty ich wygaśnięcia, co pomaga zapobiegać nieoczekiwanym problemom z odnowieniem.
- Mierzyć wydajność, oceniając czasy rozwiązywania DNS i czas trwania uścisku dłoni TLS.
Korzystając z ICMP, można potwierdzić, że serwery odpowiadają na żądania ping i mierzyć ich czasy odpowiedzi. Dodatkowo, sondowanie DNS dostarcza informacji o czasach odpowiedzi, podczas gdy sondowanie TCP pozwala na połączenie się z usługą w celu weryfikacji treści i wersji banera serwera SSH.
Ogólny obraz Stackhero dla Prometheus
Konfiguracja Prometheus Blackbox Exporter
Konfiguracja Blackbox Exporter obejmuje pracę z dwoma kluczowymi plikami: blackbox-exporter.yml dla ustawień podstawowych i prometheus.yml do definiowania, jak Prometheus pobiera dane z eksportera.
Konfiguracja podstawowa Blackbox Exporter
Podstawowa konfiguracja, znajdująca się w pliku blackbox-exporter.yml, określa, które protokoły mają być obsługiwane i jak powinny być monitorowane.
Na Stackhero dla Prometheus, ten plik jest wstępnie skonfigurowany do obsługi zarówno monitorowania ICMP, jak i HTTP/HTTPS (za pomocą żądań GET i POST) od razu po instalacji. Jeśli potrzebujesz dostosować ten plik do bardziej zaawansowanych scenariuszy, możesz sprawdzić przykłady konfiguracji w repozytorium Blackbox Exporter i zapoznać się z oficjalną dokumentacją w celu uzyskania dalszych wskazówek.
Konfiguracja celu Prometheus Blackbox Exporter
Większość konfiguracji będzie miała miejsce w pliku prometheus.yml, gdzie instruujesz Prometheus, aby pobierał dane z Blackbox Exporter jak z każdego innego eksportera.
Na przykład, rozważ poniższą konfigurację, która sprawdza odpowiedzi ICMP (ping) z prometheus.io i grafana.com co 15 sekund (zgodnie z scrape_interval). Możesz dodać ten blok do pliku prometheus.yml w sekcji scrape_configs i zaktualizować tablicę targets o nazwy domen lub adresy IP, które chcesz monitorować:
- job_name: "blackbox-icmp"
metrics_path: "/blackbox-exporter/probe"
params:
module: [ "icmp" ]
relabel_configs:
- source_labels: [ "__address__" ]
target_label: "__param_target"
- source_labels: [ "__param_target" ]
target_label: "instance"
- target_label: "__address__"
replacement: "prometheus-blackbox-exporter:9115"
static_configs:
- targets: [ "prometheus.io", "grafana.com" ]
Podobnie, poniższa konfiguracja monitoruje serwery HTTP. W tej konfiguracji, jeśli status odpowiedzi HTTP nie mieści się w zakresie 2xx, cel jest oznaczany jako błędny. Możesz wstawić ten blok do pliku prometheus.yml w sekcji scrape_configs i zaktualizować tablicę targets o URL-e, które chcesz monitorować:
- job_name: "blackbox-http"
metrics_path: "/blackbox-exporter/probe"
params:
module: [ "http_2xx" ]
relabel_configs:
- source_labels: [ "__address__" ]
target_label: "__param_target"
- source_labels: [ "__param_target" ]
target_label: "instance"
- target_label: "__address__"
replacement: "prometheus-blackbox-exporter:9115"
static_configs:
- targets: [ "https://prometheus.io/", "https://grafana.com/" ]
Po skonfigurowaniu zadań pobierania danych, możesz przeglądać dzienniki debugowania w interfejsie Blackbox. Link do interfejsu jest dostępny na Twoim pulpicie nawigacyjnym Stackhero, oferując cenne informacje o wynikach sondowania.
Interfejs Blackbox pokazujący wyniki ostatnich sondowań
Konfiguracja Grafana do wyświetlania danych Prometheus z Blackbox Exporter
Grafana ułatwia tworzenie pulpitów nawigacyjnych, które wizualizują metryki wydajności i dostępności zbierane przez Blackbox Exporter. Kilkoma kliknięciami możesz skonfigurować dynamiczne pulpity nawigacyjne, które ożywiają Twoje dane Prometheus. Aby uzyskać więcej informacji na temat integracji Grafana z Prometheus, możesz zapoznać się z dokumentacją Grafana.
Przykład pulpitu nawigacyjnego wygenerowanego przez Grafana, opartego na danych Prometheus Blackbox Exporter