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 Uptime.com 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 Uptime.com 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 Uptime.com
1
Create a Custom Postback URL integration
- Sign in to Uptime.com, go to Notifications → Integrations, and click New Profile
- Set Provider Type to Custom Postback URL (Webhook)
- Name the profile
Flashduty - Paste the full Flashduty push URL into URL
- Leave Custom HTTP Headers empty. Uptime.com always sends
application/json - In Assign to Contacts, select the contact that should receive the alerts, then click Save
2
Assign the contact to checks
Uptime.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, go to Notifications → Contacts, create a contact, and select
Flashdutyunder Integrations - Edit each check that should alert, add the contact under Contacts, and save
3
Send a test and verify the lifecycle
- Under Notifications → Integrations, find
Flashdutyin the Active list and click More Actions → Test. The test message haseventset totest. 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 from
data.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