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 Dotcom-Monitor 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 Dotcom-Monitor 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 Dotcom-Monitor
1
Create an alert template
In the Dotcom-Monitor console, create an alert template in JSON format (see Alert Template: Setup and Configuration) and paste the content below. Keep the field names unchanged:The variables come from the Dotcom-Monitor Dynamic Variables Reference. A recovery notification carries no error information, so the error variables use the null-safe
?. form.2
Add an HTTP Webhook address
- In a Dotcom-Monitor Alert Group, add a new address and select HTTP Webhook as the Address Type
- Set Webhook URL to the full push URL, including
?integration_key=..., and the HTTP method to POST - Set Data Type to Raw, the format to JSON, and select the alert template created in the previous step
- Save, and assign the Alert Group to the monitoring devices that should notify Flashduty
3
Verify the lifecycle
Make a monitoring device fail (for example, point its target at a page that does not exist) and confirm Flashduty receives a Critical alert. Restore the target; after Dotcom-Monitor sends the recovery notification, confirm the original alert closes.
Alert Key
Flashduty computes the Alert Key from the device name (
device_name). Both the alert and the recovery notification of Dotcom-Monitor refer to the same monitoring device, so they land on the same Flashduty alert.
incident_id(@Model.CurrentState.ID) changes every time the device changes state, so the alert notification and the recovery notification carry different values. It is kept as a label and is not part of the Alert Key- After a device is renamed, the new name produces a new Alert Key, so an alert that was open before the rename must be closed by hand
- Give different devices different names
device_name are rejected.
Alert lifecycle
Flashduty handles messages by the
notification_type field, case-insensitively:
Any other value, including
TEST, is rejected with a parameter error. Dotcom-Monitor’s variables reference lists a TEST type but does not say whether the test send uses it, so Flashduty has no separate handling for it; verify with a real device state change. Repeated notifications received while the device stays in error merge into the same alert.
Severity
Dotcom-Monitor messages carry no severity field. A device error means the monitored target is unavailable, so it is fixed at Critical. A recovery event keeps the severity of the original alert.
Alert content
- Title: the device name
- Description: error type, error code, error reason and the failing target URL
- Labels:
checkanddevice(device name),resource(failing target URL),task(task name, absent for UserView),location(monitoring location),incident_id,error_type,error_code,alert_time,report_link(online report link),source(alwaysdotcom-monitor)
Troubleshooting
- A test notification returns a parameter error: a request whose
notification_typeisTESTis not accepted and creates no alert. This does not mean the setup is wrong; verify with a real device state change - Request rejected with a missing
device_nameor an unsupportednotification_type: check that the field names in the alert template match the template above and that Data Type is Raw JSON - The alert does not recover: confirm the Alert Group sends recovery (ALL CLEAR) notifications and that the device name was not changed during the alert
integration_keyinvalid or a 4xx response: confirm the Webhook URL is the full push URL and the integration is not disabled