Skip to content

Notifications

Send alerts to Slack, Microsoft Teams, PagerDuty, email, or a webhook.

  1. Open Alerting → Notifications in the console.
  2. Select Add Receiver, choose a type, and enter its connection details.
  3. Save, then use Test and check that the message reaches the destination.
Type Details to provide
Slack Incoming webhook URL
Microsoft Teams Workflow or legacy incoming webhook URL; choose the matching type
PagerDuty Routing key or legacy service key
Email To, From, SMTP server, and any required credentials
Webhook Destination URL

Send resolved notifications is on by default. A test may send a resolved message after two minutes. Check silences if a test message does not arrive.

In Routing, set a default receiver, then add rules for particular alert labels. For example, match namespace = hello-kupe to send that application’s alerts to its team. Use cluster to route by cluster, or severity for urgent alerts.

Rules run from top to bottom. The first match wins unless Continue matching is enabled. Put specific rules before general ones.

Setting Default Purpose
Group by alertname Group related alerts
Group wait 30s Delay the first notification
Group interval 5m Wait before updates to an existing group
Repeat interval 4h Repeat an unchanged alert

The default messages include the alert summary and affected resources. Add runbook_url or dashboard_url annotations to your alert rules to include helpful links. Edit the receiver’s template fields if you need different wording. Contact support for custom formatting help.

  • Nothing arrives: check the receiver URL or credentials and active silences.
  • Test routing is still being applied: wait a moment, then test again.
  • Wrong receiver: check rule order, matchers, and Continue matching.

Use kupe_alertmanager_receiver, kupe_alertmanager_routes, and kupe_alertmanager_global with Terraform, or the public /api/v1/tenants/{tenant}/alertmanager/... API endpoints.

resource "kupe_alertmanager_receiver" "slack" {
name = "slack"
body_json = jsonencode({
slack_configs = [{
api_url = var.slack_webhook_url
send_resolved = true
}]
})
}
resource "kupe_alertmanager_routes" "main" {
routes_json = jsonencode([{
matchers = ["namespace=\"hello-kupe\""]
receiver = kupe_alertmanager_receiver.slack.name
}])
}

Protect your Terraform state because receiver settings can contain credentials. See Alerting to create application rules.