alert_id) maps to one Flashduty alert. When Circonus clears the alert, its recovery notification closes the Flashduty alert.
In Flashduty On-call
You can obtain an 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 Circonus, then click Save
- Open the generated integration card and copy the Push URL
Use a shared integration
- In the Flashduty console, select Integration Center → Alert Events
- Select Circonus and enter an integration name
- Configure the default route and select a channel; after creation, add more rules under Route if needed
- Click Save and copy the generated Push URL
Configure Circonus
1
Add a webhook to a contact group
- In Circonus, go to Alerts → Contacts and open (or create) the contact group that should receive the alerts
- Add a webhook (HTTP POST) contact method
- Paste the Flashduty push URL as the URL and append
&format=json, for example:
2
Assign the contact group to severities
Contact groups are configured per alert severity (1 to 5). In the rules of the ruleset, assign the contact group to every severity you want to be notified about, so that recovery notifications reach the same group.
3
Verify the lifecycle
Let a rule fire and confirm Flashduty shows an active alert, then let the metric return to normal and confirm the alert recovers. The webhook body has a fixed format; Circonus does not support custom alert formats for webhooks.
Alert Key
Flashduty uses the
alert_id of each alert as the Alert Key. The Circonus alert link has the form ...fault-detection?alert_id=<id>, and a recovery notification carries all fields of the original alert plus clear_value and clear_time, so the trigger and the recovery share one alert_id.
The alerts array of one request can hold several alerts; each becomes its own Flashduty event. Changes to the rule, metric, severity, value, or time never change the Alert Key. A request whose alert has no alert_id is rejected, because a later recovery could not be matched.
Status and severity
Circonus severities run from 1 to 5, where 1 is the most severe.
A notification with
clear_time or clear_value is treated as a recovery and keeps the original severity. A body with no alerts, or an empty alerts array, returns success and creates no alert.
Troubleshooting
- Flashduty returns an invalid-parameter error: check that the URL ends with
&format=jsonand that every alert has a non-emptyalert_id - The alert does not recover: check that the contact group is assigned to that severity of the rule and that Circonus has cleared the alert; the recovery must carry the same
alert_idas the trigger - No notification arrives: check the ruleset wait time (Circonus creates the alert in its UI first and notifies contact groups only after the configured number of minutes), maintenance windows, and whether the contact group is assigned to that severity