diff options
| author | Paul Buetow <paul@buetow.org> | 2026-01-08 20:09:44 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-01-08 20:09:44 +0200 |
| commit | a91913df1afb2e6f72412a92c89ab084dd11d2d8 (patch) | |
| tree | e926bb170103420cac1bf20796fdfb1781b1d175 /f3s/argocd-apps | |
| parent | 7cc3231feb44b7dc9571e5f16639b9b4e080cbf8 (diff) | |
Configure Alertmanager routing for ArgoCD application alerts
Added Alertmanager configuration to:
- Route ArgoCD application alerts to dedicated 'argocd-alerts' receiver
- Group ArgoCD alerts by alertname, name (app name), and severity
- Faster alert grouping for ArgoCD (10s wait vs 30s default)
- Repeat ArgoCD alerts every 6 hours
- Suppress Watchdog test alerts
- Configure inhibit rules to prevent alert spam
Alerts are visible in:
- Prometheus UI: http://localhost:9090/alerts
- Alertmanager UI: http://localhost:9093
- Grafana dashboard: ArgoCD Applications - Health & Sync Status
This ensures critical application issues are properly routed and visible
in the monitoring UI for immediate action.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Diffstat (limited to 'f3s/argocd-apps')
| -rw-r--r-- | f3s/argocd-apps/monitoring/prometheus.yaml | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/f3s/argocd-apps/monitoring/prometheus.yaml b/f3s/argocd-apps/monitoring/prometheus.yaml index 4265168..86d235a 100644 --- a/f3s/argocd-apps/monitoring/prometheus.yaml +++ b/f3s/argocd-apps/monitoring/prometheus.yaml @@ -72,6 +72,48 @@ spec: type: local app: prometheus + alertmanager: + config: + global: + resolve_timeout: 5m + route: + group_by: ['alertname', 'namespace', 'severity'] + group_wait: 30s + group_interval: 5m + repeat_interval: 12h + receiver: 'default' + routes: + # Watchdog alert is just for testing, suppress it + - matchers: + - alertname = "Watchdog" + receiver: 'null' + # ArgoCD application alerts - high priority + - matchers: + - component = "argocd" + receiver: 'argocd-alerts' + group_by: ['alertname', 'name', 'severity'] + group_wait: 10s + repeat_interval: 6h + receivers: + - name: 'null' + - name: 'default' + # Default receiver - alerts visible in UI only + - name: 'argocd-alerts' + # ArgoCD-specific receiver - alerts visible in UI only + # Future: add email/slack/webhook configuration here + inhibit_rules: + # Inhibit info alerts if warning or critical is firing + - source_matchers: + - severity = "critical" + target_matchers: + - severity =~ "warning|info" + equal: ['namespace', 'alertname'] + - source_matchers: + - severity = "warning" + target_matchers: + - severity = "info" + equal: ['namespace', 'alertname'] + grafana: persistence: enabled: true |
