diff --git a/docs/configuration/exporting/send-events-api.rst b/docs/configuration/exporting/send-events-api.rst index 6c184dc7e..60be0289d 100644 --- a/docs/configuration/exporting/send-events-api.rst +++ b/docs/configuration/exporting/send-events-api.rst @@ -32,7 +32,7 @@ Endpoint .. robusta-code:: - POST https://api.robusta.dev/webhooks?type=alert&origin=&account_id= + POST https://api.robusta.dev/webhooks?type=alert&origin=&account_id=&cluster= Query Parameters ---------------- @@ -50,7 +50,7 @@ Query Parameters * - ``account_id`` - Your Robusta account ID, found in ``generated_values.yaml``. * - ``cluster`` - - Optional. The cluster to associate the alert with. When set, it overrides any cluster found in the alert payload and is used for the resulting alert investigation. When omitted, the cluster is taken from the payload if present, otherwise the alert is recorded under the ``external`` cluster. Use this when your monitoring system cannot add a cluster label to the alert itself. + - Recommended. The cluster to file the alert under — use the exact name shown in the Robusta UI. Overrides any cluster in the alert payload. If omitted, the cluster is taken from the payload, or silently defaults to ``external``. Authentication -------------- @@ -69,7 +69,7 @@ Example Request .. robusta-code:: bash curl --location --request POST \ - 'https://api.robusta.dev/webhooks?type=alert&origin=datadog&account_id=ACCOUNT_ID' \ + 'https://api.robusta.dev/webhooks?type=alert&origin=datadog&account_id=ACCOUNT_ID&cluster=CLUSTER_NAME' \ --header 'Authorization: Bearer API_KEY' \ --header 'Content-Type: application/json' \ --data-raw '{ "title": "High error rate", "severity": "high" }' diff --git a/docs/configuration/exporting/send-events/alertmanager.rst b/docs/configuration/exporting/send-events/alertmanager.rst index 9336e09ac..e6facca5b 100644 --- a/docs/configuration/exporting/send-events/alertmanager.rst +++ b/docs/configuration/exporting/send-events/alertmanager.rst @@ -15,7 +15,13 @@ Webhook URL .. robusta-code:: - https://api.robusta.dev/webhooks?type=alert&origin=alertmanager&account_id= + https://api.robusta.dev/webhooks?type=alert&origin=alertmanager&account_id=&cluster= + +Replace ```` with your Robusta account id and ```` with your cluster's name exactly as it appears in the Robusta UI. If ``cluster`` is omitted, alerts are filed under a generic ``external`` cluster. + +.. note:: + + Alerts can also carry the cluster as a ``cluster`` or ``cluster_name`` label (e.g. via Prometheus ``externalLabels``); the URL parameter takes precedence. The :doc:`in-cluster integration ` is a separate mechanism that routes by label only. Configure AlertManager ---------------------- @@ -27,7 +33,7 @@ Add a webhook receiver to ``alertmanager.yml``: receivers: - name: robusta webhook_configs: - - url: 'https://api.robusta.dev/webhooks?type=alert&origin=alertmanager&account_id=' + - url: 'https://api.robusta.dev/webhooks?type=alert&origin=alertmanager&account_id=&cluster=' send_resolved: true http_config: authorization: diff --git a/docs/configuration/exporting/send-events/aws-cloudwatch.rst b/docs/configuration/exporting/send-events/aws-cloudwatch.rst index 05d582ba9..be86e9035 100644 --- a/docs/configuration/exporting/send-events/aws-cloudwatch.rst +++ b/docs/configuration/exporting/send-events/aws-cloudwatch.rst @@ -16,7 +16,9 @@ Webhook URL .. robusta-code:: - https://api.robusta.dev/webhooks?type=alert&origin=awscloudwatch&account_id= + https://api.robusta.dev/webhooks?type=alert&origin=awscloudwatch&account_id=&cluster= + +Replace ```` with your Robusta account id and ```` with your cluster's name exactly as it appears in the Robusta UI. If ``cluster`` is omitted, alerts are filed under a generic ``external`` cluster. Recipe ------ @@ -32,7 +34,7 @@ Recipe import urllib.error import urllib.request - URL = "https://api.robusta.dev/webhooks?type=alert&origin=awscloudwatch&account_id=" + URL = "https://api.robusta.dev/webhooks?type=alert&origin=awscloudwatch&account_id=&cluster=" TIMEOUT_SECONDS = 5 def lambda_handler(event, context): @@ -54,7 +56,7 @@ Recipe raise return {"ok": True} -4. Replace ```` with your Robusta account ID and deploy. +4. Replace ```` with your Robusta account ID and ```` with your cluster's name as it appears in the Robusta UI, then deploy. Alternatively, if you already use **Amazon EventBridge → API destination**, point the destination at the same URL with a Bearer token connection — no Lambda required. diff --git a/docs/configuration/exporting/send-events/azure-monitor.rst b/docs/configuration/exporting/send-events/azure-monitor.rst index 6ddcfc3bc..95b40ad5a 100644 --- a/docs/configuration/exporting/send-events/azure-monitor.rst +++ b/docs/configuration/exporting/send-events/azure-monitor.rst @@ -16,7 +16,9 @@ Webhook URL .. robusta-code:: - https://api.robusta.dev/webhooks?type=alert&origin=azure&account_id= + https://api.robusta.dev/webhooks?type=alert&origin=azure&account_id=&cluster= + +Replace ```` with your Robusta account id and ```` with your cluster's name exactly as it appears in the Robusta UI. If ``cluster`` is omitted, alerts are filed under a generic ``external`` cluster. Configure Azure --------------- @@ -25,7 +27,7 @@ Action Group webhook receivers do not allow custom headers, so authenticate via .. robusta-code:: - https://api.robusta.dev/webhooks?type=alert&origin=azure&account_id=&token= + https://api.robusta.dev/webhooks?type=alert&origin=azure&account_id=&cluster=&token= 1. In the Azure Portal, open **Monitor → Action groups** and either create a new group or edit an existing one. 2. Under **Actions**, add an action of type **Webhook**. diff --git a/docs/configuration/exporting/send-events/datadog.rst b/docs/configuration/exporting/send-events/datadog.rst index aaddc57c7..ee6bf489c 100644 --- a/docs/configuration/exporting/send-events/datadog.rst +++ b/docs/configuration/exporting/send-events/datadog.rst @@ -16,7 +16,9 @@ Webhook URL .. robusta-code:: - https://api.robusta.dev/webhooks?type=alert&origin=datadog&account_id= + https://api.robusta.dev/webhooks?type=alert&origin=datadog&account_id=&cluster= + +Replace ```` with your Robusta account id and ```` with your cluster's name exactly as it appears in the Robusta UI. If ``cluster`` is omitted, alerts are filed under a generic ``external`` cluster. Configure Datadog ----------------- diff --git a/docs/configuration/exporting/send-events/dynatrace.rst b/docs/configuration/exporting/send-events/dynatrace.rst index c0fe8c225..9cdbb26b9 100644 --- a/docs/configuration/exporting/send-events/dynatrace.rst +++ b/docs/configuration/exporting/send-events/dynatrace.rst @@ -16,7 +16,9 @@ Webhook URL .. robusta-code:: - https://api.robusta.dev/webhooks?type=alert&origin=dynatrace&account_id= + https://api.robusta.dev/webhooks?type=alert&origin=dynatrace&account_id=&cluster= + +Replace ```` with your Robusta account id and ```` with your cluster's name exactly as it appears in the Robusta UI. If ``cluster`` is omitted, alerts are filed under a generic ``external`` cluster. Configure Dynatrace ------------------- diff --git a/docs/configuration/exporting/send-events/f5.rst b/docs/configuration/exporting/send-events/f5.rst index 2835f7b30..8415fbe31 100644 --- a/docs/configuration/exporting/send-events/f5.rst +++ b/docs/configuration/exporting/send-events/f5.rst @@ -16,7 +16,9 @@ Webhook URL .. robusta-code:: - https://api.robusta.dev/webhooks?type=alert&origin=f5&account_id= + https://api.robusta.dev/webhooks?type=alert&origin=f5&account_id=&cluster= + +Replace ```` with your Robusta account id and ```` with your cluster's name exactly as it appears in the Robusta UI. If ``cluster`` is omitted, alerts are filed under a generic ``external`` cluster. Configure F5 Distributed Cloud ------------------------------ diff --git a/docs/configuration/exporting/send-events/gcp-monitoring.rst b/docs/configuration/exporting/send-events/gcp-monitoring.rst index 8845678d1..a0c5c3e8d 100644 --- a/docs/configuration/exporting/send-events/gcp-monitoring.rst +++ b/docs/configuration/exporting/send-events/gcp-monitoring.rst @@ -16,7 +16,9 @@ Webhook URL .. robusta-code:: - https://api.robusta.dev/webhooks?type=alert&origin=gcp&account_id= + https://api.robusta.dev/webhooks?type=alert&origin=gcp&account_id=&cluster= + +Replace ```` with your Robusta account id and ```` with your cluster's name exactly as it appears in the Robusta UI. If ``cluster`` is omitted, alerts are filed under a generic ``external`` cluster. Configure GCP ------------- @@ -25,7 +27,7 @@ GCP webhook notification channels do not support custom headers in the console, .. robusta-code:: - https://api.robusta.dev/webhooks?type=alert&origin=gcp&account_id=&token= + https://api.robusta.dev/webhooks?type=alert&origin=gcp&account_id=&cluster=&token= The ``token`` query parameter is accepted as an alternative to the ``Authorization`` header. diff --git a/docs/configuration/exporting/send-events/grafana.rst b/docs/configuration/exporting/send-events/grafana.rst index f3cd2b453..301776712 100644 --- a/docs/configuration/exporting/send-events/grafana.rst +++ b/docs/configuration/exporting/send-events/grafana.rst @@ -16,7 +16,9 @@ Webhook URL .. robusta-code:: - https://api.robusta.dev/webhooks?type=alert&origin=grafana&account_id= + https://api.robusta.dev/webhooks?type=alert&origin=grafana&account_id=&cluster= + +Replace ```` with your Robusta account id and ```` with your cluster's name exactly as it appears in the Robusta UI. If ``cluster`` is omitted, alerts are filed under a generic ``external`` cluster. Configure Grafana ----------------- diff --git a/docs/configuration/exporting/send-events/jsm.rst b/docs/configuration/exporting/send-events/jsm.rst index 0ee9a791b..8f2758524 100644 --- a/docs/configuration/exporting/send-events/jsm.rst +++ b/docs/configuration/exporting/send-events/jsm.rst @@ -17,7 +17,9 @@ Webhook URL .. robusta-code:: - https://api.robusta.dev/webhooks?type=alert&origin=jsm&account_id= + https://api.robusta.dev/webhooks?type=alert&origin=jsm&account_id=&cluster= + +Replace ```` with your Robusta account id and ```` with your cluster's name exactly as it appears in the Robusta UI. If ``cluster`` is omitted, alerts are filed under a generic ``external`` cluster. Configure Jira Service Management --------------------------------- diff --git a/docs/configuration/exporting/send-events/nagios.rst b/docs/configuration/exporting/send-events/nagios.rst index 8e1a35412..9cd645765 100644 --- a/docs/configuration/exporting/send-events/nagios.rst +++ b/docs/configuration/exporting/send-events/nagios.rst @@ -16,7 +16,9 @@ Webhook URL .. robusta-code:: - https://api.robusta.dev/webhooks?type=alert&origin=nagios&account_id= + https://api.robusta.dev/webhooks?type=alert&origin=nagios&account_id=&cluster= + +Replace ```` with your Robusta account id and ```` with your cluster's name exactly as it appears in the Robusta UI. If ``cluster`` is omitted, alerts are filed under a generic ``external`` cluster. Configure Nagios ---------------- @@ -51,7 +53,7 @@ Define a notification command that references ``$USER20$``: "type": "$NOTIFICATIONTYPE$", "output": "$SERVICEOUTPUT$" }' \ - 'https://api.robusta.dev/webhooks?type=alert&origin=nagios&account_id=' + 'https://api.robusta.dev/webhooks?type=alert&origin=nagios&account_id=&cluster=' } Define an analogous ``notify-robusta-host`` command, then attach both to a Nagios contact: diff --git a/docs/configuration/exporting/send-events/newrelic.rst b/docs/configuration/exporting/send-events/newrelic.rst index cbcdd962a..97b80cded 100644 --- a/docs/configuration/exporting/send-events/newrelic.rst +++ b/docs/configuration/exporting/send-events/newrelic.rst @@ -16,7 +16,9 @@ Webhook URL .. robusta-code:: - https://api.robusta.dev/webhooks?type=alert&origin=newrelic&account_id= + https://api.robusta.dev/webhooks?type=alert&origin=newrelic&account_id=&cluster= + +Replace ```` with your Robusta account id and ```` with your cluster's name exactly as it appears in the Robusta UI. If ``cluster`` is omitted, alerts are filed under a generic ``external`` cluster. Configure New Relic ------------------- diff --git a/docs/configuration/exporting/send-events/opsgenie.rst b/docs/configuration/exporting/send-events/opsgenie.rst index ac00f4971..20b3ba3d2 100644 --- a/docs/configuration/exporting/send-events/opsgenie.rst +++ b/docs/configuration/exporting/send-events/opsgenie.rst @@ -16,7 +16,9 @@ Webhook URL .. robusta-code:: - https://api.robusta.dev/webhooks?type=alert&origin=opsgenie&account_id= + https://api.robusta.dev/webhooks?type=alert&origin=opsgenie&account_id=&cluster= + +Replace ```` with your Robusta account id and ```` with your cluster's name exactly as it appears in the Robusta UI. If ``cluster`` is omitted, alerts are filed under a generic ``external`` cluster. Configure Opsgenie ------------------ diff --git a/docs/configuration/exporting/send-events/pagerduty.rst b/docs/configuration/exporting/send-events/pagerduty.rst index 20efad710..752cb8ad8 100644 --- a/docs/configuration/exporting/send-events/pagerduty.rst +++ b/docs/configuration/exporting/send-events/pagerduty.rst @@ -16,7 +16,9 @@ Webhook URL .. robusta-code:: - https://api.robusta.dev/webhooks?type=alert&origin=pagerduty&account_id= + https://api.robusta.dev/webhooks?type=alert&origin=pagerduty&account_id=&cluster= + +Replace ```` with your Robusta account id and ```` with your cluster's name exactly as it appears in the Robusta UI. If ``cluster`` is omitted, alerts are filed under a generic ``external`` cluster. Configure PagerDuty ------------------- diff --git a/docs/configuration/exporting/send-events/rootly.rst b/docs/configuration/exporting/send-events/rootly.rst index 4c788b5c2..69eaa9619 100644 --- a/docs/configuration/exporting/send-events/rootly.rst +++ b/docs/configuration/exporting/send-events/rootly.rst @@ -16,9 +16,9 @@ Webhook URL .. robusta-code:: - https://api.robusta.dev/webhooks?type=alert&origin=rootly&account_id=&token= + https://api.robusta.dev/webhooks?type=alert&origin=rootly&account_id=&cluster=&token= -Replace ```` with your Robusta account id and ```` with the API key you generated. +Replace ```` with your Robusta account id, ```` with the API key you generated, and ```` with your cluster's name exactly as it appears in the Robusta UI. If ``cluster`` is omitted, alerts are filed under a generic ``external`` cluster. Configure Rootly ---------------- diff --git a/docs/configuration/exporting/send-events/sentry.rst b/docs/configuration/exporting/send-events/sentry.rst index f48a5cf52..3e6275235 100644 --- a/docs/configuration/exporting/send-events/sentry.rst +++ b/docs/configuration/exporting/send-events/sentry.rst @@ -34,10 +34,13 @@ Webhook URL .. robusta-code:: - https://api.robusta.dev/webhooks?type=alert&origin=sentry&account_id=&token= + https://api.robusta.dev/webhooks?type=alert&origin=sentry&account_id=&cluster=&token= -Replace ```` with your Robusta account id and -```` with the API key you just generated. +Replace ```` with your Robusta account id, +```` with the API key you just generated, and +```` with your cluster's name exactly as it appears in +the Robusta UI. If ``cluster`` is omitted, alerts are filed under a +generic ``external`` cluster. .. note:: diff --git a/docs/configuration/exporting/send-events/solarwinds.rst b/docs/configuration/exporting/send-events/solarwinds.rst index 5ff02ee86..5ca015485 100644 --- a/docs/configuration/exporting/send-events/solarwinds.rst +++ b/docs/configuration/exporting/send-events/solarwinds.rst @@ -16,7 +16,9 @@ Webhook URL .. robusta-code:: - https://api.robusta.dev/webhooks?type=alert&origin=solarwinds&account_id= + https://api.robusta.dev/webhooks?type=alert&origin=solarwinds&account_id=&cluster= + +Replace ```` with your Robusta account id and ```` with your cluster's name exactly as it appears in the Robusta UI. If ``cluster`` is omitted, alerts are filed under a generic ``external`` cluster. Configure SolarWinds -------------------- @@ -25,7 +27,7 @@ SolarWinds does not ship a native bearer-token webhook action. Use the **Execute .. robusta-code:: - curl -sS -X POST -H "Authorization: Bearer " -H "Content-Type: application/json" --data "{ \"alertName\": \"${N=Alerting;M=AlertName}\", \"node\": \"${N=SwisEntity;M=Caption}\", \"severity\": \"${N=Alerting;M=Severity}\", \"message\": \"${N=Alerting;M=AlertMessage}\" }" "https://api.robusta.dev/webhooks?type=alert&origin=solarwinds&account_id=" + curl -sS -X POST -H "Authorization: Bearer " -H "Content-Type: application/json" --data "{ \"alertName\": \"${N=Alerting;M=AlertName}\", \"node\": \"${N=SwisEntity;M=Caption}\", \"severity\": \"${N=Alerting;M=Severity}\", \"message\": \"${N=Alerting;M=AlertMessage}\" }" "https://api.robusta.dev/webhooks?type=alert&origin=solarwinds&account_id=&cluster=" Save the action and attach it to the alerts you want forwarded. diff --git a/docs/configuration/exporting/send-events/splunk.rst b/docs/configuration/exporting/send-events/splunk.rst index fe6b6702e..98a6db3bb 100644 --- a/docs/configuration/exporting/send-events/splunk.rst +++ b/docs/configuration/exporting/send-events/splunk.rst @@ -16,7 +16,9 @@ Webhook URL .. robusta-code:: - https://api.robusta.dev/webhooks?type=alert&origin=splunk&account_id= + https://api.robusta.dev/webhooks?type=alert&origin=splunk&account_id=&cluster= + +Replace ```` with your Robusta account id and ```` with your cluster's name exactly as it appears in the Robusta UI. If ``cluster`` is omitted, alerts are filed under a generic ``external`` cluster. Configure Splunk ---------------- @@ -28,7 +30,7 @@ Splunk's built-in **Webhook** alert action does not let you set custom headers, .. robusta-code:: - https://api.robusta.dev/webhooks?type=alert&origin=splunk&account_id=&token= + https://api.robusta.dev/webhooks?type=alert&origin=splunk&account_id=&cluster=&token= 3. Save the search. If your Splunk environment has the **Webhook Alert Action** app installed, you can instead set an ``Authorization: Bearer `` header and use the plain webhook URL without ``&token=…``.