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 Zenoss, 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 Zenoss 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 Zenoss
Zenoss sends notifications through a destination, a trigger, and a rule. Creating a rule requires the Manager role.
1
Add a webhook destination
- Go to ADMIN > Actions, open the DESTINATIONS tab, and click ADD DESTINATION
- Select the Webhook destination type and enter a Destination name
- Paste the full Flashduty push URL into URL; it must include
integration_key - Leave Headers empty and keep Custom Payload off: Flashduty parses the default Zenoss message, and a custom JSON body cannot be recognized
- Click SAVE
2
Add an event trigger
- Open the TRIGGERS tab, click ADD TRIGGER, and keep Type set to Events
- In Trigger criteria, select the events that need on-call handling, for example severity critical or error. Adding
Entity: Production State equal to Productionavoids alerts for non-production devices - Keep Match multiple events off: when on, Zenoss merges several events into one notification and Flashduty cannot handle them one by one
3
Add a rule and turn on update notifications
- Open the RULES tab, click ADD RULE, and enter a Rule name
- Select the trigger from the previous step under Triggers and the destination from the first step under Destinations
- Turn on Send updates: Zenoss then sends another notification when an event closes or its severity changes, and Flashduty uses it to recover and update the alert. Without it the alert never recovers automatically
- Click SAVE
4
Save and verify
- Make Zenoss produce an event that matches the trigger and confirm Flashduty receives an active alert
- Close the event (or wait for it to close) and confirm the alert recovers
Alert Key
Flashduty builds the Alert Key from the event ID (
context.Context.Event.id in the message). Zenoss identifies an event by its name plus dimensions and documents the event ID as the key for retrieving that event, so repeat notifications, updates, and the close of one event are expected to carry the same ID and share one Alert Key. Zenoss does not state this for the close notification in so many words: before going live, close one test event and confirm its alert recovers instead of a new alert opening. Changes to severity, summary, status, or time do not change the Alert Key.
The top-level id of the message is the notification ID, different on every delivery, and is not used. A message without an event ID is rejected.
Status and severity
A notification that carries no event (for example from a non-event trigger) creates no alert; Flashduty returns success.
Labels
The event summary (
summary) becomes the alert description.
Troubleshooting
- Flashduty returns a parameter error: Confirm that the URL is complete and includes
integration_key, and that the destination does not use Custom Payload - The alert does not recover: Confirm that Send updates is on in the rule and that the trigger does not exclude Closed events
- No event arrives in Flashduty: Confirm that the rule is enabled and the trigger matches; events with status Suppressed create no alert
- The same event notifies repeatedly: Repeat notification in a Zenoss rule resends at its interval; these notifications merge into the same alert