Monitoring-Systeme

Den Zustand aller Domains im Prometheus-Format abrufen und in Grafana, Zabbix, Checkmk, PRTG oder Uptime Kuma einbinden, mit fertiger Scrape-Konfiguration.

Auf dieser Seite

Monitoring-Systeme: Prometheus, Grafana, Zabbix, Checkmk, PRTG

Wer schon ein Monitoring betreibt, holt sich den Zustand seiner Domains aus DomainWarn dort hinein, statt zwei Oberflächen zu pflegen. Dafür liefert die API je Organisation einen Endpunkt im Prometheus-Textformat: GET /api/v1/orgs/<slug>/metrics, abgefragt mit einem Lese-Token im Header Authorization: Bearer. Unter Einstellungen → API erzeugt „Prometheus-Zugang erzeugen“ den Token und zeigt die fertige Scrape-Konfiguration.

Jede Domain erscheint mit den Labels domain und customer, jeder Monitor zusätzlich mit type (http, tls, dns, mx …) und target. Kennzahlen: domainwarn_domain_health_code (0 fehlerfrei, 1 Warnung, 2 kritisch, 3 unbekannt), domainwarn_monitor_status_code (0 ok … 3 unbekannt), domainwarn_monitor_uptime_ratio_24h (0 bis 1), domainwarn_monitor_latency_seconds, domainwarn_certificate_expires_in_seconds, domainwarn_domain_expires_in_seconds, domainwarn_incidents_open je Schweregrad, domainwarn_domain_paused und domainwarn_domains_total je Zustand. Höchstens 30 Abfragen je Minute; Prometheus fragt üblicherweise alle 60 Sekunden.

prometheus.yml
scrape_configs:
  - job_name: domainwarn
    scheme: https
    metrics_path: /api/v1/orgs/<slug>/metrics
    scrape_interval: 60s
    static_configs: [{ targets: ['api.domainwarn.com'] }]
    authorization: { credentials: '<TOKEN>' }

Grafana: Prometheus als Datenquelle, dann z. B. domainwarn_domain_health_code > 0 als Tabelle je Domain, domainwarn_certificate_expires_in_seconds / 86400 < 14 als Alarm für bald ablaufende Zertifikate, 1 - domainwarn_monitor_uptime_ratio_24h{type="http"} als Ausfallquote. Alertmanager-Regeln funktionieren mit denselben Ausdrücken.

Zabbix: ein HTTP-Agent-Item mit der Metrics-Adresse, Header Authorization: Bearer <TOKEN>, Typ „Prometheus“, dazu abhängige Items mit Prometheus-Pattern, etwa domainwarn_domain_health_code{domain="kunde.de"}. Über eine Low-Level-Discovery auf domainwarn_domain_info entstehen Items je Domain automatisch.

Checkmk: Special Agent „Prometheus“ mit der Metrics-Adresse und dem Token, oder der HTTP-Check check_http auf domainwarn_domains_total{health="critical"} 0. PRTG: Sensor „HTTP-Daten erweitert“ bzw. ein REST-Custom-Sensor, der den Text abfragt; Uptime Kuma: Monitor „HTTP – Keyword“ auf die Metrics-Adresse mit dem Schlüsselwort domainwarn_domains_total{health="critical"} 0.

Der Endpunkt liefert nur Zustände und Kennzahlen, keine Befunde oder Zugangsdaten. Kundenzugänge sehen nur die Domains ihres Kunden; ein widerrufener Token liefert sofort 401.

Siehe auch: API-Dokumentation