# AWOOOI Alertmanager 配置 # 2026-04-05 Claude Code: 修正 webhook URL # 修正前: http://192.168.0.188:8088/api/v1/webhook/alertmanager (OpenClaw,舊系統,錯誤) # 修正後: http://192.168.0.121:32334/api/v1/webhooks/alertmanager (AWOOOI API,複數,正確) # 根據 feedback_alertmanager_awoooi_flow.md 鐵律 # 2026-04-09 Claude Sonnet 4.6 Asia/Taipei: 新增 Telegram Fallback (ADR-035) # 架構: awoooi-webhook (主路徑) + telegram-direct (fallback,獨立路由) # 當 AWOOOI API 無法回應時,critical 告警直接送 Telegram Bot API # ⚠️ bot_token/chat_id 部署時由 secrets 替換,此檔為模板 global: resolve_timeout: 5m route: receiver: 'awoooi-webhook' group_by: ['alertname', 'severity'] group_wait: 30s group_interval: 5m repeat_interval: 4h routes: - match: severity: critical receiver: 'awoooi-webhook' group_wait: 10s # continue:true 讓 critical 同時送 telegram-direct (fallback) continue: true - match: severity: critical receiver: 'telegram-direct' group_wait: 10s - match: severity: warning receiver: 'awoooi-webhook' - match_re: alertname: 'Zombie.*|Container.*' receiver: 'awoooi-webhook' group_wait: 1m receivers: # 主路徑: AWOOOI API 處理所有告警 (AI 分析 + 去重 + Telegram) - name: 'awoooi-webhook' webhook_configs: - url: 'http://192.168.0.121:32334/api/v1/webhooks/alertmanager' send_resolved: true # Fallback 路徑: AWOOOI API 掛掉時,critical 告警直接送 Telegram # 只有 critical severity 走此路徑(避免 warning 雙重通知) - name: 'telegram-direct' telegram_configs: - bot_token: 'TELEGRAM_BOT_TOKEN_PLACEHOLDER' chat_id: TELEGRAM_CHAT_ID_PLACEHOLDER parse_mode: 'HTML' message: | 🚨 [Alertmanager Fallback] {{ range .Alerts }} ├ {{ .Labels.alertname }} ├ 嚴重度: {{ .Labels.severity }} ├ 主機: {{ .Labels.host }}{{ .Labels.instance }} └ {{ .Annotations.summary }} {{ end }} ⚠️ AWOOOI API 可能離線,此為直接告警 send_resolved: false inhibit_rules: - source_match: severity: critical target_match: severity: warning equal: ['alertname', 'instance'] - source_match: alertname: HostDown target_match_re: alertname: 'HostHighCpuLoad|HostOutOfMemory|HostOutOfDiskSpace' equal: ['host'] - source_match: alertname: KubeNodeNotReady target_match_re: alertname: 'KubePodCrashLooping|KubePodNotReady|KubeDeploymentReplicasMismatch' equal: ['node'] - source_match: alertname: PostgreSQLDown target_match: alertname: PostgreSQLHighConnections - source_match: alertname: RedisDown target_match: alertname: RedisMemoryHigh