Integrations
Uptime Kuma
EvoHub receives Uptime Kuma notifications through its built-in Webhook notification type. A monitor going down opens an EvoHub alert, and the monitor coming back up resolves it.
Set it up
Create the integration
In EvoHub, go to On-Call → Integrations → + Add Integration, choose Uptime Kuma, pick an Escalation Policy and click Create Integration. Copy the Webhook URL.
Add a Webhook notification
In Uptime Kuma, go to Settings → Notifications → Setup Notification and set Notification Type to Webhook.
Set the URL and body
Set Post URL to your webhook URL and Request Body to Preset - application/json. (Preset - multipart/form-data works too.)
What EvoHub reads
Uptime Kuma posts {"heartbeat": {...}, "monitor": {...}, "msg": "..."}:
| EvoHub alert | Taken from |
|---|---|
| Title | "monitor.name is down", for example "Checkout API is down". |
| Description | heartbeat.msg, the reason the check failed. |
| Severity | Always high. |
| Labels | monitor_type, monitor_id, url (the monitored URL), hostname. |
| Fingerprint | The monitor's ID (or, if a notification has none, its URL, hostname or name). |
Resolve and deduplication
- A heartbeat with status down opens an alert; status up resolves the open alert for that monitor.
- Pending and maintenance heartbeats are ignored.
- Another down notification while the alert is open is recorded as Retriggered.
- Deduplication is per integration: two Uptime Kuma servers connected through two integrations open separate alerts even when their monitor IDs match, and each one's up notification resolves only its own alert.
Troubleshooting
- Test works but no alerts arrive: the notification is not enabled on the monitor.
400 INVALID_BODY: the request body was set to a custom template. Use one of the presets.
Related
Was this page helpful?
