- A host is listed on, or delisted from, a blocklist
- A certificate is about to expire, has errors, keeps changing fingerprint, or was replaced
- A monitoring agent stops checking in
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 RBLTracker, 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 RBLTracker 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 RBLTracker
1
Add a webhook
- Sign in to the RBLTracker (Generator Labs) portal, go to Development → Webhooks, and click Add Webhook
- Enter a recognizable Display Name, such as
Flashduty - Paste the full Flashduty push URL into URL. The URL must include
integration_key - Under Events, select the events to send (see the table below) and save
You do not need to select billing events (
billing.*) or rbl.host.check.started and rbl.host.check.completed. Flashduty acknowledges them with a success response but creates no alert.2
Send a test and verify
In the Webhooks list, click Send Test on the webhook and choose an event type. RBLTracker shows the response code and timing;
200 means the URL is reachable.Send Test sends the selected event about placeholder objects (host Test Host at 127.0.0.2, certificate monitor example.com, agent Test Agent) and uses a new random SID for every object on every send. Flashduty recognizes these placeholders, returns success and creates no alert.To verify the full lifecycle, add a test host that you know is listed, confirm that Flashduty shows an active alert for rbl.host.listed, and confirm that the alert recovers after the host is delisted.Alert Key
Flashduty uses the SID of the object in the RBLTracker event as the Alert Key, with a prefix per event category:
In the official RBLTracker API reference,
rbl.host.listed and rbl.host.delisted for one host carry the same host.sid, certificate events carry monitor.sid, and agent events carry agent.sid. cert.flapping is described only in prose, without a full example, so Flashduty reads monitor.sid from it as it does for the other certificate events.
Changes to the host name, the number of blocklists, the check SID (check_sid), or the event SID (event_sid) never change the Alert Key. An event without the matching SID is rejected.
Status and severity
The event type sets the alert status; the table above shows which events recover. RBLTracker does not send a severity, so Flashduty sets it by event type:
Auto-close for one-shot events
cert.changed is a single notification, and RBLTracker never sends a matching resolve event. Each certificate replacement on a monitor creates its own alert, and these alerts do not recover on their own. Turn on the auto-close timeout for the channel and set it to 24 hours.
Labels
Delivery and retries
RBLTracker sends
application/json POST requests, and a 2xx response from Flashduty counts as delivered. A failed delivery (non-2xx, timeout, or connection error) is retried after 30 seconds and again after 2 minutes with the same event SID, so retries do not create duplicate alerts. After 10, 20, and 30 consecutive failures RBLTracker pauses the webhook for 1 hour, 6 hours, and 1 day; after 40 it disables the webhook and you must re-enable it under Development → Webhooks.
Every delivery carries an X-Webhook-Signature header. Flashduty authenticates requests with the integration_key in the push URL and does not verify that header.
Troubleshooting
- RBLTracker shows a failed delivery: confirm the URL is complete and includes
integration_key, and check the response code in the Send Test result - Flashduty returns an invalid parameter error: the body must be an RBLTracker JSON delivery; events without
host.sid,monitor.sid, oragent.sidare rejected - The alert does not recover: confirm you also selected the matching resolve event.
cert.error.resolverecovers the alert only whencurrent_errorsis empty, andcert.changednever recovers, so turn on auto-close - The alert updates repeatedly while the host is listed: the API reference says
rbl.host.listedis sent when a check finds the host listed; repeated deliveries for one host merge into the same alert - The webhook was disabled: RBLTracker disables a webhook after 40 consecutive failures. Fix the URL and re-enable it under Development → Webhooks