alertmanager-main in the openshift-monitoring project). The official documentation lists PagerDuty, Webhook, Email, Slack and Microsoft Teams as receiver types, and states that the features of a supported upstream Alertmanager version are supported in OpenShift as well. The webhook receiver sends Alertmanager JSON to the URL you set (version is 4; each alert carries status, labels, annotations, startsAt, endsAt, generatorURL, fingerprint). The Flashduty Prometheus integration accepts this format, so no separate OpenShift integration is needed: create a Prometheus integration in Flashduty and configure its push URL as a webhook receiver in the OpenShift Alertmanager.
In Flashduty On-call
Get an integration push URL in either of the two ways below. Choose the Prometheus integration type in both, not Chronosphere.
Use a dedicated integration
- In the Flashduty console, go to Channels and open a channel
- Go to Settings → Integrations → Dedicated integrations and click Add an integration
- Select Prometheus and click Save
- Open the generated integration card and copy the Push URL, in the form
https://api.flashcat.cloud/event/push/alert/prometheus?integration_key=<integration key>
Use a shared integration
- In the Flashduty console, go to Integration Center → Alert Events
- Select Prometheus and enter an integration name
- Configure the default route and select a channel; you can add more rules under Routes after creation
- Click Save and copy the generated Push URL
Configure in OpenShift
The OpenShift documentation offers two ways to configure a receiver; use either one. Both require the
cluster-admin role.
1
Option 1: the web console
- In the Administrator perspective, go to Administration → Cluster Settings → Configuration → Alertmanager
- In the Receivers section, click Create Receiver
- Enter a Receiver name (for example
flashduty) and select Webhook as the Receiver type - In the webhook endpoint field, enter the full push URL copied above, including
?integration_key=... - Show advanced configuration has the option to send resolved alerts; it is on by default, leave it unchanged
- In Routing labels, use Add label to add label names and values that select which alerts go to this receiver; per the documentation, firing alerts whose labels match all selectors are sent to the receiver, and adding labels here makes the label values match exactly
- Click Create
2
Option 2: edit the alertmanager-main secret
-
Export the current configuration:
-
Add a receiver and a route to
alertmanager.yaml. The example adds aflashdutyreceiver to the default configuration and routes alerts whoseseverityiscriticalorwarningto it.send_resolveddefaults totruein the Alertmanager webhook configuration; it is written out to make sure resolved notifications stay on:
<integration key> with your Flashduty integration key. Keep the new route after the Watchdog route: Watchdog is an alert that fires continuously, and the OpenShift documentation describes it as a check on the notification path, not a fault alert to forward to Flashduty.-
Replace the secret with the edited file:
3
Verify
Trigger a cluster alert (the OpenShift documentation points to the Red Hat Customer Portal article “Send test alerts to Alertmanager in OpenShift 4”) and confirm Flashduty receives an active alert; after it resolves, confirm the original alert closes in Flashduty.
Field mapping
One notification can carry several alerts, and Flashduty handles each one separately (up to 100 per request).
Recovery and deduplication
send_resolveddefaults totruefor the Alertmanager webhook receiver. On recovery it sends a notification withstatusset toresolved, and Flashduty closes the alert with the samefingerprint.- If you turn resolved notifications off under Show advanced configuration (or set
send_resolved: falsein YAML), Flashduty receives no recovery requests; enable auto-resolve timeout on the channel. - Alertmanager repeats notifications for alerts that are still firing, per
repeat_interval; Flashduty deduplicates byfingerprint, so no duplicate alerts are created.
Troubleshooting
- Flashduty returns
Invalid parameters: the push URL is incomplete,integration_keyis missing, or the integration type is not Prometheus - Alerts do not resolve: confirm the receiver does not set
send_resolved: false - No alerts arrive: confirm the route
matchersor Routing labels match the alert labels and the cluster can reachapi.flashcat.cloud(with a cluster-wide HTTP proxy, see theproxy_from_environmentnote in the OpenShift documentation);oc exec alertmanager-main-0 -n openshift-monitoring -- amtool config routes show --alertmanager.url http://localhost:9093shows the effective routes