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.