Skip to main content
Use the webhook contact method of a Circonus contact group to send alerts raised by rulesets to Flashduty On-call. Each Circonus alert (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 get the integration push URL in either of the following ways.

Use a dedicated integration

  1. In the Flashduty console, select Channel and open a channel
  2. Select Configuration → Integrations → Private integration, then click Add integration
  3. Select Circonus, then click Save
  4. Open the generated integration card and copy the Push URL

Use a shared integration

  1. In the Flashduty console, go to Integration Center → Alert Events
  2. Select Circonus and enter an integration name
  3. Configure the default route and select a channel. You can add more rules under Routing after creation
  4. Click Save and copy the generated Push URL

Configure Circonus

1

Add a webhook to a Circonus contact group

Where: Circonus › Alerts › Contacts › Menu › Add MemberOn the Contacts page, click New + in the top right to create a contact group (or open an existing one), then choose Add Member from the group’s Menu in the top right. A webhook can only be added directly to a contact group, not to a user who is then added to a group.That is:
format=json is required. Circonus sends JSON only when the URL contains ?format=json; otherwise it sends a query string, which Flashduty cannot parse. The push URL already contains a ?, so use & here.
2

Assign the contact group to severities in a Circonus ruleset

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

Trigger an alert and 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.After a few seconds, go back to Flashduty. If the integration shows a Latest event time, the setup works.

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=json and that every alert has a non-empty alert_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_id as 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
For field details, see the Circonus contact group documentation.