Logo GH

Überwachung von Aptime und Heartbeat

1) Warum es notwendig ist

Frühzeitige Erkennung von Ausfallzeiten am Perimeter und im Inneren (Edge ↔ Core).
Bestätigung der Benutzerverfügbarkeit (nicht nur „ob die Pods live sind“).
Vertragliche Berichterstattung über SLA/SLO und rechtliche Verpflichtungen.
Steuerung der Hintergrundprozesse (Cron, ETL, Payment Syncs) über Heartbeat.

Methoden: Goldene Signale (Latenz/Verkehr/Fehler/Sättigung), ROT, Bindung an SLO und fehlerhaftes Budget.

2) Arten von Inspektionen (Synthetik)

ICMP: grundlegendes Netzwerk/IP-Verfügbarkeit.
TCP: Port live/handshake (z.B. 443/5432).
TLS: Gültigkeit/Laufzeit/Zertifikatskette.
HTTP (S): Antwortcode, Latenz, Header, Schlüsselteilstrings im Körper.
DNS: Resolve, TTL, NXDOMAIN/SERVFAIL.
Headless-Browser (Benutzerpfad): Login → Aktion → Logout.
Custom probes: Zahlungsautorisierung in der PSP-Sandbox, interne Geschäftssynthese (Deposit-Simulation).

Tipps: Überprüfen Sie sowohl Edge als auch private Endpoints (von innen VPC/K8s) sind verschiedene Risikodomänen.

3) Aptime-Überwachungsarchitektur

Testagenten nach Region (mindestens 3 Geopunkte).
Blackbox-Exporteur für HTTP/TCP/TLS/DNS.
Synthetik entlang der Pfade (sequentielle Schritte) getrennt; Speichern Sie die Skripte.
Prometheus/Mimir/Thanos: Sammlung von Metriken, SLO/Alert-Regel.
Alertmanager/Pager: P1/P2 Routing, Eskalation.
Status Page: Transparente Updates für Unternehmen/Kunden.
Logs/Traces: Drilldown durch 'trace _ id '/Korrelation.

4) Gesundheit-Endpunkte: Entwurf

/ healthz (liveness) - „ob der Prozess lebt“.
/ readyz (Bereitschaft) - „bereit, Verkehr zu empfangen“ (Abhängigkeiten mit Schwellen).
/ startupz - „wurde initialisiert“.
/ check - erweiterte Business Health (einfache DB/Cache-Checks mit Timeouts und Circuit-Breaker).
Semantic health: Code 200 nur, wenn kritische Abhängigkeiten funktionieren; Verschlechterung → 503.

Regeln: Timeout ≤ 2-3s, limitierte Sub-Checks, keine PII in den Antworten, schwere Teile zwischenspeichern.

5) Herzschlag für Jobs und Worker

Dead Man's Switch-Modell: Wenn der „Tick“ nicht rechtzeitig kam - alert.
Verwendung: cron/ETL/Rechnungsjobs, Off-Chain-Zahlungsprüfungen, Hintergrundworker.

Möglichkeiten:
  • Push-Heartbeat HTTP: Der Job macht „POST/Heartbeat/< job>“, wenn er fertig ist.
  • Metrics-pull: Belichten Sie' last _ success _ timestamp 'und alertite mit „älter als N Minuten“.
  • Watchdog: konstantes Signal vom Agenten; verschwunden - alert „Unterbrechung der Überwachung“.

6) Beispiele für Konfigurationen

6. 1 Blackbox-exporter (HTTP + TLS + DNS)

yaml modules:
http_2xx:
prober: http http:
method: GET preferred_ip_protocol: "ip4"
fail_if_not_ssl: true valid_http_versions: ["HTTP/1. 1","HTTP/2"]
tls_config:
insecure_skip_verify: false headers:
User-Agent: "uptime-probe"
body: ""
ip_protocol_fallback: false

tls_cert:
prober: tcp tcp:
query_response: []
tls: true tls_config:
insecure_skip_verify: false

dns:
prober: dns dns:
query_name: "api. example. com"
valid_rcodes: ["NOERROR"]
preferred_ip_protocol: "ip4"

6. 2 Prometheus: Ziele und Jobs

yaml scrape_configs:
- job_name: 'blackbox-http'
metrics_path: /probe params:
module: [http_2xx]
static_configs:
- targets:
- https://api. example. com/healthz
- https://pay. example. com/readyz relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- target_label: __address__
replacement: blackbox-exporter:9115
- source_labels: [__param_target]
target_label: instance

6. 3 Heartbeat-Metrik für Joba (Prometheus-Exporteur)

Exponieren Sie die Metrik:

job_last_success_timestamp_seconds{job="settlement"} 1. 730000e+09
Ahlert:
promql
(time() - job_last_success_timestamp_seconds{job="settlement"}) > 900

6. 4 Watchdog (Dead Man’s Switch)

Aktivieren Sie im Alertmanager die Route für die Alert 'Watchdog' (immer firing) → wenn die Warnung nicht kommt - die Überwachung ist kaputt.

7) PromQL Beispiele für Aptyme

HTTP-Verfügbarkeit (0/1):
promql probe_success{job="blackbox-http"} == 1
p95 Latenz durch Proben:
promql histogram_quantile(0. 95, sum by (le, instance) (rate(probe_http_duration_seconds_bucket[5m])))
TLS Frist läuft <7 Tage:
promql
(min_over_time(probe_ssl_earliest_cert_expiry[5m]) - time()) < 7243600
DNS-Fehler:
promql rate(probe_dns_rcode{rcode!="NOERROR"}[5m]) > 0
Uptime SLI (rolling 28d):
promql sum_over_time((probe_success==1)[28d]) / (28246060)

8) Alerting: Schwellen und Anti-Lärm

Multi-region quorum: Wird ausgelöst, wenn ≥2 Regionen einen Rückgang sehen.
Multi-Fenster: 1-5 min (schneller Kanal) + 30-60 min (stetiger Trend).
Empfindlichkeit: debounce/for: 2-5 Minuten gegen Flapping.
Korrelation: Verknüpfen Sie die Aptime Alert mit Leyer-Metriken (Edge, DNS, WAF, Origin).
Windows-Wartung: Alert-Unterdrückung durch 'Wartung = wahr' -Tags.

Beispiel für eine Regel:
promql
≥2 regions simultaneously failed sum by (target) (max_over_time (probe _ success = = 0) [3m]))> = 2

9) Viele-regionale und viele-Verkäufer-Kontrollen

Mindestens 3 Geographien (EU/NA/APAC) und verschiedene ASNs.
Duplizieren: eigene Proben + externer Aptime-Anbieter.
IPv4/IPv6, HTTP/2/3, verschiedene CDNs und WAF-Profile.

10) Sicherheit der Inspektionen

Allowlist IP der Probenbereiche auf WAF/LB.
Rate-Limits und Capcha-Bypass für Gesundheits-Endpunkte/Proben.
Header Signature (HMAC) für private Gesundheit.
Getrennte Domains: öffentliche Proben und private (/internal/health).
Geben Sie keine internen Versionen/Configs an/healthz zurück; Nur Status.

11) SLO und Aptime Reporting

SLI-Verfügbarkeit: Anteil erfolgreicher 2xx/3xx HTTP-Samples.
SLO Beispiel: ≥ 99. 95% in 28 Tagen in den meisten Regionen.
Fehlerhaftes Budget: „1 − SLO“ verwaltet → Releases.
Burn-Rate-Alerts: schneller/langsamer Kanal für einen Bruchteil der Probenausfälle.

12) Heartbeat für Payment und Critical Job

Jobs „um Geld“ (Transfers, Register) - doppelte Kontrolle: Heartbeat + Geschäftszähler (wie viele Datensätze verarbeitet werden).
Alertas durch „Stille“ (keine neuen Ereignisse> N Minuten) und durch Verzögerung (Verzögerung von Echtzeit).

13) Status der Seiten

Trennen Sie Komponenten (APIs, Zahlungen, Backends, CDNs).
Automatische Updates von Alert, manuelle Kommentare über die Comms-Rolle.
Geschichte der Vorfälle, Postmortem-Links, geplante Arbeiten.

14) Integration in den Incident-Prozess

Alert SEV nach den Regeln von quorum + Dauer.
Auto-Erstellung der Störfallkarte, Kriegsraum, IC-Zuordnung.
Kommunikationsvorlagen (intern/extern), ggf. Legal Hold.
Post-Verifizierung: Synthetik grün ≥ X Minuten vor „Resolved“.

15) Leistung und Kosten

Probenfrequenz: kritisch - alle 30-60s; sekundär - 1-5 min.
Lagerung: Downsampling/Recording-Regeln für lange Fenster.
Budget für externe Anbieter: Begrenzen Sie erweiterte Browser-Skripte nach Zeitplan.

16) Qualitätscheckliste

  • Es gibt/healthz ,/readyz ,/startupz mit klarer Semantik.
  • Proben aus ≥3 Regionen/ASN, IPv4/IPv6.
  • TLS/DNS-scans und alerts T-30/T-7/T-1 Tage.
  • Heartbeat aller kritischen Jobs (und Business „Stille“).
  • Multi-window + quorum, ohne Flapping.
  • Drilldown: Buttons zu Logs/Tracks/Dashboards.
  • Status-Seite und Kommunikationsvorlagen.
  • Dokumentation von SLOs/Metriken und Eigentümern.

17) Implementierungsplan (3 Iterationen)

1. Woche 1: HTTP/TLS/DNS Blackbox-Tests für kritische Domains, Status-Seite, Basis-Alerts.
2. Woche 2: Viel-Regionalität, Quorum-Regeln, Herzschlag-Top-Job, Watchdog.
3. Woche 3: Headless-Szenarien (Login/Deposit), SLO-Reporting, Integration in den Incident-Prozess.

18) Mini-FAQ

Warum sind externe Proben besser als interne?
Externe sehen den realen Pfad des Benutzers (DNS/CDN/WAF), interne sehen den Ursprungszustand. Wir brauchen beides.

Muss ich bezahlte PSPs überprüfen?
Ja: Synthetik in der Sandbox und Überwachung der Status-Seiten; beim Abbau - automatisches Smart-Routing.

Wie kann man Lärm reduzieren?
Quorum, Multi-Window, For-Delay, Suppression auf Wartung, klare SLO-Schwellenwerte und Besitz.

Summe

Bei der Aptime-Überwachung geht es nicht nur um Ping. Es ist ein System: multiregionale Synthetics + hochwertige Health-Endpoints + Heartbeat Job + SLO/Alerting + Status-Seiten. Standardisieren Sie Inspektionen, reduzieren Sie Lärm, schützen Sie Proben und verknüpfen Sie alles mit dem Incident-Prozess - so reduzieren Sie die MTTR und sparen Sie ein fehlerhaftes Budget.

Contact

Kontakt aufnehmen

Kontaktieren Sie uns bei Fragen oder Support.Wir helfen Ihnen jederzeit gerne!

Integration starten

Email ist erforderlich. Telegram oder WhatsApp – optional.

Ihr Name optional
Email optional
Betreff optional
Nachricht optional
Telegram optional
@
Wenn Sie Telegram angeben – antworten wir zusätzlich dort.
WhatsApp optional
Format: +Ländercode und Nummer (z. B. +49XXXXXXXXX).

Mit dem Klicken des Buttons stimmen Sie der Datenverarbeitung zu.