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 integration
- Select Uptime.com and click Save
- Open the generated integration card and copy the Push URL
Use a shared integration
- In the Flashduty console, go to Integration Center → Alert Events
- Select Uptime.com and enter an integration name
- Configure the default route and select a channel. You can add more rules under Routing after creation
- Click Save and copy the generated Push URL
Configure uptime.com
1
Create a Custom Postback URL integration in Uptime.com
Where: Uptime.com › Notifications › Integrations › New Profile
Click Save.
2
Assign the contact to checks in Uptime.com
Where: Uptime.com › Notifications › ContactsUptime.com delivers alerts through contacts: only checks that have this contact assigned push to Flashduty.
- If the contact you selected in the previous step is already assigned to the checks you want to alert on, skip this step
- For a dedicated contact, create one under Notifications › Contacts and select
Flashdutyunder Integrations - Edit each check that should alert, add the contact under Contacts, and save
alert_cleared automatically and Flashduty closes the alert.3
Send a test and verify the lifecycle in Uptime.com
Where: Uptime.com › Notifications › Integrations
- Find
Flashdutyin the Active list and click More Actions → Test. The test message haseventset totestand only confirms that the URL is reachable: Flashduty returns success and creates no alert - Make a check with the contact assigned actually fail, for example by temporarily misspelling the domain of an HTTP(S) check, and confirm that Flashduty receives an active alert
- Restore the check configuration, wait for the check to recover, and confirm that the alert recovers
Alert key
Flashduty computes the Alert Key fromdata.service.id, the Uptime.com check ID. The alert_raised and alert_cleared messages of a check carry the same data.service.id, so they land on the same alert. Repeat notifications during an ongoing outage merge into that alert as well.
data.alert.id identifies a detection record from one probe location and changes on recovery, so it is not part of the Alert Key. Changes to the check name, tags, state, output, timestamps, or failing locations do not change the Alert Key. A request without data.service.id is rejected, because its recovery could not be matched.
Status and severity
An empty or any other
event is rejected so that an ambiguous request cannot enter the wrong alert lifecycle.
Severity comes from data.alert.state:
Recovery events keep the original alert severity.
Alert content
- Title: the check’s
display_name, ornamewhen it is empty - Description:
data.alert.output, ordata.alert.short_outputwhen it is empty - Labels:
check(check name),resource(check addressmsp_address),source(alwaysuptime-com),service_id,check_type(monitoring_service_type),device,tags(comma-separated),alert_state,is_up,locations(comma-separated),num_locations_down,alert_details,real_time_analysis
data.integration are never written to labels.
Troubleshooting
- The integration shows an error or Uptime.com fails to deliver: confirm that the URL is the full push URL and includes
integration_key - Flashduty returns a parameter error: confirm that the request contains
eventanddata.service.id. This integration accepts only the Custom Postback URL JSON format - No alert arrives: confirm that the check’s Contacts include the contact assigned to the
Flashdutyintegration - The alert does not recover: confirm that the check has actually recovered and still had the contact assigned when it recovered