Google Managed Alertmanager¶
This guide shows how to forward alerts from Google Managed Prometheus (GMP) managed Alertmanager to Robusta using Robusta's generic Alertmanager webhook.
Note
Every alert must carry a cluster_name label. Set it to the Robusta cluster_name configured for the target cluster, or use external when the alerts do not belong to a specific runner.
For configuring metric querying from Google Managed Prometheus, see Google Managed Prometheus. For other Alertmanager integrations, see AlertManager - external or AlertManager - in-cluster.
Requirements¶
Robusta
account_idandsigning_keyfrom yourgenerated_values.yamlfile.A GMP workspace with managed Alertmanager enabled.
Configure the Alertmanager webhook¶
Apply the following Secret in the GMP namespace (default gmp-public). Replace <ACCOUNT_ID> and <SIGNING_KEY> with your credentials.
apiVersion: v1
kind: Secret
metadata:
name: alertmanager
namespace: gmp-public
type: Opaque
stringData:
alertmanager.yaml: |
receivers:
- name: 'robusta'
webhook_configs:
- url: 'https://api.robusta.dev/integrations/generic/alertmanager'
http_config:
authorization:
# Replace <ACCOUNT_ID> <SIGNING_KEY>, with your account_id and signing_key
credentials: 'Bearer <ACCOUNT_ID> <SIGNING_KEY>'
send_resolved: true
route:
receiver: 'robusta'
group_by: ['...']
group_wait: 1s
group_interval: 1s
repeat_interval: 4h
Ensure alerts include cluster_name¶
Use an OperatorConfig to add external labels to both collection and rule evaluation so every alert contains the required cluster_name label.
apiVersion: monitoring.googleapis.com/v1
kind: OperatorConfig
metadata:
name: config
namespace: gmp-public
collection:
externalLabels:
cluster_name: gmp-demo-cluster # Match your Robusta cluster_name, or use "external"
location: us-central1-c
project_id: my-gcp-project
rules:
externalLabels:
cluster_name: gmp-demo-cluster
location: us-central1-c
project_id: my-gcp-project
Deploy a demo alert¶
Create a simple alerting rule to confirm delivery to Robusta.
apiVersion: monitoring.googleapis.com/v1
kind: Rules
metadata:
name: test-alert
namespace: gmp-public
spec:
groups:
- name: test
interval: 30s
rules:
- alert: TestAlertForGCPAlertmanager
expr: vector(1)
for: 0m
labels:
severity: warning
annotations:
summary: "Test alert to verify Alertmanager webhook"
description: "This is a test alert. Delete the Rules resource to stop it."
Optional: verify credentials with curl¶
You can manually validate the webhook and credentials by posting a sample alert:
curl -X POST 'https://api.robusta.dev/integrations/generic/alertmanager' \
-H 'Authorization: Bearer <ACCOUNT_ID> <SIGNING_KEY>' \
-H 'Content-Type: application/json' \
-d '{
"externalURL": "https://console.cloud.google.com/monitoring",
"groupKey": "gmp/test-alert:gmp-webhook-test-001",
"version": "1",
"status": "firing",
"receiver": "robusta",
"alerts": [
{
"status": "firing",
"startsAt": "2026-01-13T13:30:50Z",
"endsAt": "1970-01-01T00:00:00Z",
"generatorURL": "https://console.cloud.google.com/monitoring",
"source": "GMP",
"description": "Test alert to verify GMP Alertmanager webhook configuration",
"fingerprint": "gmp-test-alert-12345",
"annotations": {
"summary": "GMP Webhook Test Alert",
"description": "If you see this in Robusta, the webhook URL and credentials are working correctly!"
},
"labels": {
"cluster_name": "external",
"cluster": "external",
"alertname": "GMP_WebhookTest",
"severity": "warning",
"namespace": "gmp-public",
"source": "gmp-managed-alertmanager"
}
}
]
}'
You should see the test alert in Robusta shortly after applying the resources or running the curl command.