Uptimeify Docs

Sentry

Sentry-Issue-Alarme über den Webhook einer internen Integration an Uptimeify Incident Management senden, abgebildet aus Level, Meldung und Umgebung des Events.

Uptimeify bildet mit dem Sentry-Preset die Issue-Alert-Webhook-Payload von Sentry direkt ab: Event-Meldung/Culprit, Level, Aktion und Server/Umgebung sind bereits vorab gemappt.

1. Alert Source in Uptimeify anlegen

Gehe zu Incident Management → Alert Sources → Neu, wähle das Sentry-Preset, vergib einen Namen und lege die Source an. Kopiere auf dem Erfolgsbildschirm die Ingest-URL (https://deine-domain/api/im/ingest/<token>). Sie wird nur einmal angezeigt und danach nie wieder im Klartext eingeblendet. Solltest du sie verlieren, rotiere den Token im Tab Einstellungen der Source.

2. Interne Integration in Sentry anlegen

Sentry sendet Issue-Alert-Webhooks über eine interne Integration, nicht über ein einfaches Webhook-URL-Feld:

  1. Gehe in Sentry zu Settings → Developer Settings → New Internal Integration.
  2. Vergib einen Namen (z. B. Uptimeify).
  3. Aktiviere den Schalter Alert Rule Action und setze unter Webhooks die Webhook URL auf die in Schritt 1 kopierte Ingest-URL.
  4. Speichern. Dadurch entsteht eine Alert-Rule-Action, die du an beliebige Alert-Regeln der Organisation anhängen kannst.

3. An eine Alert-Regel anhängen

  1. Gehe zu Alerts → Rules und lege eine neue Regel an (oder bearbeite eine bestehende) für das/die Projekt(e), dessen Alarme weitergeleitet werden sollen.
  2. Füge unter Then perform these actions die Option Send a notification via an integration hinzu und wähle die in Schritt 2 erstellte interne Integration aus.
  3. Speichere die Regel. Sentry ruft den Webhook jetzt auf, sobald die Bedingungen der Regel zutreffen, sowohl bei neu ausgelösten Issues als auch, wenn die Regel eine Resolve-Bedingung enthält, bei Auflösungen.

Standard-Feld-Mapping

Sentry-FeldNormalisiertes Feld
data.event.message (Fallback auf data.event.culprit)Titel
data.event.levelSchweregrad (über die Zuordnung unten)
action (oberste Ebene)Status: resolved löst den Alarm auf, alles andere (triggered, created, ignored, assigned, …) hält ihn offen
data.event.server_name (Fallback auf data.event.environment)Host
data.event.issue_idDedup-Key: gruppiert alle Benachrichtigungen für dasselbe Sentry-Issue

Schweregrad-Zuordnung

Sentry levelUptimeify-Schweregrad
fatalsev1
errorsev2
warningsev3
infosev4
debugsev4

Beispiel-Payload

So sieht die Payload aus, die das Sentry-Preset von Uptimeify erwartet:

{
  "action": "triggered",
  "data": {
    "event": {
      "event_id": "fe208ee2e2e74ae08b3d4b7cdb9b4e3d",
      "issue_id": "123456789",
      "level": "error",
      "culprit": "raven.scripts.runner in main",
      "message": "This is an example python exception",
      "platform": "python",
      "environment": "production",
      "server_name": "web-01.prod.example.com",
      "web_url": "https://sentry.io/organizations/example/issues/123456789/",
      "issue_url": "https://sentry.io/api/0/issues/123456789/"
    }
  },
  "actor": { "type": "application", "id": "sentry", "name": "Sentry" }
}

Du kannst genau diese Payload über den Tab Payload Mapping im Dashboard gegen das Mapping deiner Source senden, um den Aufbau zu prüfen, bevor du eine echte Alert-Regel verbindest.

Auf dieser Seite