Prometheus: Konfiguracja Prometheus Blackbox Exporter

Ta dokumentacja jest częścią przewodnika Blackbox Exporter. Pełny przewodnik znajdziesz tutaj: 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!

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ń