Blackbox-Exporter

  • Linux

  • Windows

Der Blackbox-Exporter dient dem Probing von anderen Servern und Services aus Sicht des Satellite-Nodes via HTTP, HTTPS, DNS, SSH, POP, TCP, ICMP usw. Damit kann z.B. geprüft werden, ob ein Applikationsserver über eine stabile Verbindung zum Datenbank- oder DNS-Server verfügt.

Konfiguration

Die Konfiguration für den Blackbox-Exporter befindet sich in der Datei vimon/config/blackbox_exporter/blackbox_exporter.yml.

Hier wird konfiguriert, wie die Probes auszuführen sind (Paketgrößen, Fragmentierung, TLS, Fallback, usw.). Details dazu sind in der mitgelieferten Beispieldatei enthalten und unter Prometheus Blackbox Exporter einsehbar.

Static-Target

Ziele zur Prüfung können ebenfalls in der Konfiguration hinterlegt werden, z.B.:

  http_static_url_example:
    prober: http
    timeout: 5s
    http:
      method: POST
      headers:
        Host: "inubit-host.foo.com"
      basic_auth:
        username: "virtimo"
        password: "secret"

Dynamic Target

Ziele zur Prüfung können auch vom Prometheus aus über die Scrape-Konfiguration gesteuert werden, dann muss die Übergabe über ein erneutes Zuweisen der Labels erfolgen:

blackbox_exporter-config
  http_dynamic_url_example:
    prober: http
    timeout: 5s
    http:
      method: POST
      headers:
        Content-Type: application/json
      body: '{}'
prometheus-config
scrape_configs:
  - job_name: 'vimon-black'
    metrics_path: /probe
    params:
      module: [http_dynamic_url_example]  # The HTTP prober alias
    static_configs:
      - targets:
        - http://www.virtimo.de           # Target to probe with http.
        - https://www.virtimo.cloud       # Target to probe with https.
        - http://bpc-host.virtimo.foo:8181 # Target to probe with http on port 8181.
    relabel_configs:
      - source_labels: [__address__]
        target_label: __param_target
      - source_labels: [__param_target]
        target_label: instance
      - target_label: __address__
        replacement: 10.5.23.42:9115      # The blackbox exporter's real hostname:port.

Weitere Beispiele und Details sind in der offiziellen Doku zu finden unter https://github.com/prometheus/blackbox_exporter.