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 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!

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 PrometheusOgólny obraz Stackhero dla Prometheus

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.

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.

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ńInterfejs Blackbox pokazujący wyniki ostatnich sondowań

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 ExporterPrzykład pulpitu nawigacyjnego wygenerowanego przez Grafana, opartego na danych Prometheus Blackbox Exporter