From bdf879e15a356f446b0667467b4b411bd0b7c83b Mon Sep 17 00:00:00 2001 From: Florent Tapponnier Date: Wed, 8 Jul 2026 23:43:20 +0200 Subject: [PATCH] =?UTF-8?q?alertmanager:=20split=20routing=20=E2=80=94=20a?= =?UTF-8?q?gg-latency=20stays=20on=20the=20relay=20channel,=20everything?= =?UTF-8?q?=20else=20to=20the=20dedicated=20OCB=20Slack=20webhook=20(env-i?= =?UTF-8?q?njected)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../alertmanager/alertmanager.yml.tmpl | 18 +++++++++++++++++- .../monitoring/alertmanager/entrypoint.sh | 7 ++++++- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/infrastructure/monitoring/alertmanager/alertmanager.yml.tmpl b/infrastructure/monitoring/alertmanager/alertmanager.yml.tmpl index 49d6d7ab..fd0f9799 100644 --- a/infrastructure/monitoring/alertmanager/alertmanager.yml.tmpl +++ b/infrastructure/monitoring/alertmanager/alertmanager.yml.tmpl @@ -6,9 +6,25 @@ route: group_wait: 10s group_interval: 30s repeat_interval: 5m - receiver: 'slack-webhook' + # Default: dedicated OCB Slack channel (direct incoming webhook). + receiver: 'slack-direct' + routes: + # Aggregator-latency alerts keep their historical channel via the + # internal relay (#alerting-aggregator-latency). + - matchers: + - app = "aggregator_latency_monitor" + receiver: 'slack-webhook' receivers: + - name: 'slack-direct' + slack_configs: + - api_url: '${SLACK_WEBHOOK_URL}' + send_resolved: true + title: '{{ if eq .Status "firing" }}⚠️{{ else }}✅{{ end }} {{ .CommonLabels.alertname }}' + text: | + {{ range .Alerts }}*{{ .Annotations.summary }}* + {{ .Annotations.description }} + {{ end }} - name: 'slack-webhook' webhook_configs: - url: '${ALERT_WEBHOOK_URL}' diff --git a/infrastructure/monitoring/alertmanager/entrypoint.sh b/infrastructure/monitoring/alertmanager/entrypoint.sh index 2c149d01..2f5afee8 100755 --- a/infrastructure/monitoring/alertmanager/entrypoint.sh +++ b/infrastructure/monitoring/alertmanager/entrypoint.sh @@ -12,7 +12,12 @@ if [ -z "$ALERT_WEBHOOK_URL" ]; then echo "WARNING: ALERT_WEBHOOK_URL not set — alerts will be dropped by the webhook receiver." fi -sed "s|\${ALERT_WEBHOOK_URL}|${ALERT_WEBHOOK_URL}|g" \ +if [ -z "$SLACK_WEBHOOK_URL" ]; then + echo "WARNING: SLACK_WEBHOOK_URL not set — default receiver will drop alerts." +fi + +sed -e "s|\${ALERT_WEBHOOK_URL}|${ALERT_WEBHOOK_URL}|g" \ + -e "s|\${SLACK_WEBHOOK_URL}|${SLACK_WEBHOOK_URL}|g" \ /etc/alertmanager/alertmanager.yml.tmpl \ > /etc/alertmanager/alertmanager.yml