Webhook-Kanal

Webhook-Benachrichtigungskanal

Mit dem Webhook-Kanal sendet LoadFocus einen HTTP POST mit JSON-Body an eine beliebige URL, sobald sich der Status einer ueberwachten Pruefung aendert. Es ist der flexibelste Kanal: alles, was eingehende JSON-Webhooks akzeptiert — PagerDuty Events API, Opsgenie, Zapier, n8n, Make oder Ihr eigener Dienst — kann LoadFocus-Benachrichtigungen empfangen.

Webhook-Kanal anlegen

  1. Oeffnen Sie die Alert-Settings und klicken Sie auf + New Alert Channel.
  2. Waehlen Sie Webhook.
  3. Vergeben Sie einen Namen (erscheint in der Kanalliste) und fuegen Sie die HTTPS-URL ein, die den POST erhalten soll.
  4. Klicken Sie auf Save Configuration, aktivieren Sie den Kanal an einer Pruefung und waehlen Sie ueber die Routing-Schalter, welche Ereignisse er erhalten soll.

Wann LoadFocus Ihren Webhook aufruft

LoadFocus sendet bei folgenden Ereignissen einen POST an Ihre URL:

Ereignisevent-WertWann es ausgeloest wird
Check fehlgeschlagencheck.failedEine Pruefung wechselt in den Fehlerzustand (Assertion, Fehler oder Timeout).
Check erholtcheck.recoveredEine zuvor fehlgeschlagene Pruefung ist wieder erfolgreich.
Check degradiertcheck.degradedDie Antwortzeit ueberschreitet den Degraded-Schwellwert, ohne fehlzuschlagen.
SSL-Ablaufssl.expiry14, 7 und 3 Tage vor Ablauf eines ueberwachten HTTPS-Zertifikats sowie am Ablauftag.
TesttestSie klicken die Schaltflaeche Test neben dem Kanal.

Welche dieser Ereignisse einen Kanal erreichen, steuern die Schalter Fail / Recover / Degraded / SSL unter dem Kanal auf der Bearbeitungsseite der Pruefung. Standardmaessig sind alle aktiviert.

Payload

Der POST-Body ist application/json:

{
"source": "loadfocus",
"event": "check.failed",
"check": {
"id": "75be9e45e858177eea4a18bbdc765472",
"name": "Designerbox",
"url": "https://designerbox.ai"
},
"status": "failed",
"location": "us-east-1",
"timestamp": "2026-06-07T12:00:00.000Z"
}

Feldreferenz:

  • source — immer loadfocus. Damit erkennen Sie den Absender.
  • event — eines von check.failed, check.recovered, check.degraded, ssl.expiry, test.
  • check.id / check.name / check.url — der Monitor, der die Benachrichtigung ausgeloest hat.
  • status — der Pruefstatus zum Sendezeitpunkt (failed, passed, degraded oder null bei SSL/test).
  • location — die AWS-Region, aus der die Pruefung lief.
  • timestamp — ISO-8601-UTC-Zeit des Ereignisses.

SSL-Ablauf-Ereignisse ergaenzen ein details-Objekt:

{
"source": "loadfocus",
"event": "ssl.expiry",
"check": { "id": "...", "name": "...", "url": "https://..." },
"status": null,
"location": null,
"timestamp": "2026-06-07T12:00:00.000Z",
"details": { "daysRemaining": 7, "validTo": "Aug 29 23:59:59 2026 GMT" }
}

Sicherheit und Voraussetzungen

  • Nur HTTPS. Webhook-URLs muessen mit https:// beginnen. Reine http-URLs werden abgelehnt.
  • Private Adressen werden blockiert. Zum Schutz vor Server-Side Request Forgery loest LoadFocus Ihren Hostnamen auf und ruft keine privaten, Loopback-, Link-local- oder CGNAT-Adressen auf (z. B. 10.0.0.0/8, 127.0.0.1, 169.254.0.0/16, 192.168.0.0/16). Ihr Endpunkt muss oeffentlich erreichbar sein.
  • Keine Weiterleitungen. LoadFocus folgt bei Webhook-Aufrufen keinen HTTP-Redirects — geben Sie die finale URL an.
  • Timeout. Jeder Aufruf laeuft nach 10 Sekunden ab. Es gibt keinen automatischen Retry, Ihr Empfaenger sollte die Payload schnell annehmen und einreihen.
  • Funktion pruefen. Senden Sie mit Test ein test-Ereignis, bevor Sie sich auf den Kanal verlassen. Ein kostenloser Dienst wie webhook.site eignet sich, um die genaue Payload zu pruefen.

Integrationsbeispiele

  • PagerDuty — richten Sie den Kanal auf Ihre Events-API-v2-Integrations-URL und routen Sie nur check.failed dorthin (Recover/Degraded/SSL-Schalter aus), damit bei Fehlern Incidents geoeffnet werden.
  • Opsgenie — nutzen Sie eine Inbound-API-Integration; mappen Sie check.failed auf Alert-Create und check.recovered auf Alert-Close.
  • Zapier / Make / n8n — starten Sie einen Workflow ueber einen "Catch Hook"-Trigger und verzweigen Sie auf dem event-Feld.
  • Eigener Dienst — nehmen Sie den POST an, pruefen Sie source === "loadfocus" und reagieren Sie auf event.

Verwandt