Linuxguide

Prometheus Blackbox Exporter – HTTP und SSL Monitoring 2025

Externe Dienste aus Sicht des Users überwachen

S
SeeColors IT
11. Juni 20264 Min. Lesezeit90 Aufrufe

Blackbox Exporter installieren

# docker-compose.yml
services:
  blackbox-exporter:
    image: prom/blackbox-exporter:latest
    container_name: blackbox
    ports:
      - "9115:9115"
    volumes:
      - ./blackbox.yml:/etc/blackbox_exporter/config.yml
    restart: unless-stopped

Blackbox Konfiguration

# blackbox.yml
modules:
  # HTTPS Probe
  http_2xx:
    prober: http
    timeout: 10s
    http:
      valid_http_versions: ["HTTP/1.1", "HTTP/2.0"]
      valid_status_codes: [200, 201, 301, 302]
      method: GET
      follow_redirects: true
      tls_config:
        insecure_skip_verify: false
      preferred_ip_protocol: "ip4"

  # HTTP POST (API-Check)
  http_post:
    prober: http
    http:
      method: POST
      headers:
        Content-Type: application/json
      body: '{"status":"ok"}'
      valid_status_codes: [200]

  # TCP Port
  tcp_connect:
    prober: tcp
    timeout: 5s

  # ICMP Ping
  icmp:
    prober: icmp

  # DNS Probe
  dns_udp:
    prober: dns
    dns:
      query_name: google.com
      query_type: A

Prometheus Integration

# prometheus.yml
scrape_configs:
  - job_name: 'blackbox-http'
    metrics_path: /probe
    params:
      module: [http_2xx]
    static_configs:
      - targets:
          - https://firma.de
          - https://shop.firma.de
          - https://mail.firma.de/health
    relabel_configs:
      - source_labels: [__address__]
        target_label: __param_target
      - source_labels: [__param_target]
        target_label: instance
      - target_label: __address__
        replacement: blackbox:9115

  - job_name: 'blackbox-tcp'
    metrics_path: /probe
    params:
      module: [tcp_connect]
    static_configs:
      - targets:
          - mail.firma.de:25
          - mail.firma.de:587
          - db-server:5432
    relabel_configs:
      - source_labels: [__address__]
        target_label: __param_target
      - source_labels: [__param_target]
        target_label: instance
      - target_label: __address__
        replacement: blackbox:9115

SSL-Zertifikat-Ablauf überwachen

# Alert-Regel für ablaufende Zertifikate
groups:
  - name: ssl
    rules:
      - alert: SSLCertExpiringSoon
        expr: probe_ssl_earliest_cert_expiry - time() < 86400 * 14
        for: 1h
        labels:
          severity: warning
        annotations:
          summary: "SSL-Zertifikat läuft in < 14 Tagen ab"
          description: "{{ $labels.instance }}"

      - alert: SSLCertExpired
        expr: probe_ssl_earliest_cert_expiry - time() < 0
        for: 1m
        labels:
          severity: critical

Grafana Dashboard

Import Dashboard ID: 7587 (Prometheus Blackbox Exporter)

Zeigt:
- HTTP-Probe-Erfolgsrate
- DNS-Auflösungszeit
- TCP-Verbindungszeit
- SSL-Zertifikat Ablaufdatum
- Probe-Latenz über Zeit

FAQ

Was ist der Unterschied zwischen Blackbox Exporter und Uptime Kuma?
Beide überwachen HTTP-Endpoints. Uptime Kuma: einfachere Einrichtung, eigenes UI. Blackbox Exporter: Teil des Prometheus-Stacks, PromQL-abfragbar, mächtigere Alerting-Regeln.

Fazit

Der Blackbox Exporter ergänzt den Prometheus-Stack um externe Verfügbarkeitsprüfungen und SSL-Monitoring – zentral konfiguriert, keine Extra-Tools nötig.

Monitoring und Verfügbarkeitsüberwachung für KMU in Heidelberg, Mannheim und der Rhein-Neckar-Region. Anfragen.

Artikel teilen

War dieser Artikel hilfreich?

Dein Feedback hilft uns, bessere Inhalte zu erstellen.

Kommentar hinterlassen

Verwandte Artikel