In Flashduty On-call
You can get the integration push URL in either of the following ways.
Use a dedicated integration
- In the Flashduty console, select Channel and open a channel
- Select Configuration → Integrations → Private integration, then click Add an integration
- Select OpenStatus and click Save
- Open the new integration card and copy the Push URL
Use a shared integration
- In the Flashduty console, select Integration Center → Alert Events
- Select OpenStatus and enter an integration name
- Configure the default route and select a channel. You can add more rules under Routes after creation
- Click Save and copy the generated Push URL
Configure OpenStatus
1
Create a Webhook notification channel
- Sign in to the OpenStatus dashboard and open Notifications in the sidebar
- Under Create a new notifier, click Webhook
- Enter
Flashdutyas the Name - Paste the full Flashduty push URL into Webhook URL
- Leave Request Headers empty. OpenStatus always sends
application/json - Under Monitors, select the monitors that should alert, then click Submit. You can also attach the notifier later from a monitor’s Settings → Notifications
2
Send a test
In the same form, click Send Test. The test message uses a fixed sample monitor (
monitor.id 1, name test, URL http://openstat.us). Flashduty returns success and creates no alert.3
Verify the alert lifecycle
- Create a monitor with the URL
https://openstat.us/500(always returns 500) and attach the notification channel from the first step. OpenStatus checks the URL before saving and asks Still save? because it returns 500; click Save - After at least half of the monitor’s regions report an error, confirm that Flashduty receives a Critical alert
- Point the monitor back at a healthy URL, wait for the regions to recover, and confirm that the alert recovers
- Delete the test monitor when you are done
Alert Key
Flashduty computes the Alert Key from
monitor.id (the OpenStatus monitor ID). The error, degraded, and recovered notifications for a monitor carry the same monitor.id, so they land on the same alert: when the monitor goes from error to degraded, the alert is updated to Warning, and it closes when the monitor recovers.
Changes to the monitor name, URL, status code, latency, error message, or check time do not change the Alert Key. Flashduty rejects a request without monitor.id because it cannot be matched to a later recovery.
monitor.id is unique within one OpenStatus instance. If you use both OpenStatus cloud and a self-hosted instance, create a separate Flashduty integration for each instance so that monitor IDs from different instances do not collide.Status and severity
An empty or any other
status is rejected so that a request whose state cannot be determined never lands in the wrong alert lifecycle.
Alert content
- Title: the monitor name
monitor.name, orOpenStatus monitor <monitor.id>when it is empty - Description:
errorMessage - Labels:
check(monitor name),resource(monitor URLmonitor.url),source(alwaysopenstatus),monitor_id,status,status_code,latency_ms
Troubleshooting
- Send Test fails: make sure Webhook URL is the full push URL and includes
integration_key - Flashduty returns a parameter error: make sure the request has
monitor.idandstatus. This integration accepts only the JSON format of the OpenStatus Webhook channel - No alert arrives: make sure the monitor is selected under the channel’s Monitors and that it has errored in at least half of its regions
- The alert does not recover: make sure the monitor has recovered in at least half of its regions and is still attached to the channel when it recovers