id as the Alert Key, so repeated updates of one detection merge into one alert.
ExtraHop’s documentation does not describe a notification when a detection is closed or resolved, so Flashduty does not recover these alerts automatically. Turn on the channel’s auto-resolve timeout (see Detections and recovery), or close alerts by hand once the detection is handled.
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 integration
- Select ExtraHop and click Save
- Open the generated integration card and copy the Push URL
Use a shared integration
- In the Flashduty console, go to Integration Center → Alert Events
- Select ExtraHop and enter an integration name
- Configure the default route and select a channel. You can add more rules under Routing after creation
- Click Save and copy the generated Push URL
Configure ExtraHop
You need NDR or NPM module access with full write privileges or higher. Webhooks are sent over TCP 443 (HTTPS), so ExtraHop must be able to reach the Flashduty push URL.1
Create a notification rule in ExtraHop
Where: ExtraHop (
https://<extrahop-hostname-or-ip>) › System Settings › Notification Rules › Create2
Configure the Custom Webhook
Where: ExtraHop › System Settings › Notification Rules
Click Save.If you select Send once per detection, ExtraHop requires a custom payload. Add the detection ID to the suggested JSON so Flashduty can identify it (requests without
id are rejected). risk_score and site are optional and feed the severity and labels:3
Test the connection and verify
Where: ExtraHop › System Settings › Notification RulesClick Test Connection. ExtraHop sends a message titled Test Notification to the Payload URL. ExtraHop does not document the message body and Flashduty does not special-case it, so a test message without a detection
id returns a parameter error. That only shows the URL is reachable; it does not mean the setup is wrong, and it is not proof that the setup works.Wait for a detection that matches the criteria and confirm that Flashduty receives the alert. Detections have no recovery notification, so the alert does not recover automatically; see “Detections and recovery” below.After a few seconds, go back to Flashduty. If the integration shows a Latest event time, the setup works.Alert key
Flashduty usesid (ExtraHop defines it as “The unique identifier for the detection”) as the Alert Key. Every update of one detection carries the same id and merges into one alert. Changes to the title, description, risk score, and time do not change the Alert Key. Requests without id are rejected.
Detections and recovery
ExtraHop detection notifications cover creation and updates only. The documentation does not describe a notification when a detection is closed or resolved. Every notification Flashduty receives is a trigger, and none recovers an alert automatically. Turn on the channel’s auto-resolve timeout, 24 hours recommended, or close the alert by hand once the detection is handled.Status and severity
Severity comes fromrisk_score, using the same bands as the ExtraHop console colors:
Labels
The alert title is
title, falling back to type and then ExtraHop detection <id>. The description is the detection description followed by the link to the detection.
Troubleshooting
- Flashduty returns a parameter error: check that the URL is complete and includes
integration_key, and that the payload containsid - Alerts never close: ExtraHop sends no recovery notification. Turn on the channel’s auto-resolve timeout or close alerts by hand
- Several notifications for one detection: with Send for every detection update, ExtraHop sends a notification on each update and they merge into one Flashduty alert. Select Send once per detection if you do not want update notifications