Brancher Alertmanager¶
AKKO v2026.06 livre Alertmanager avec un receiver par défaut uniquement journalisé afin qu'aucune notification ne s'échappe lors d'une install à sec. Pour satisfaire DORA Art. 10 (détection) et NIS2 Art. 21(2)(b) (gestion d'incidents), brancher de vraies destinations avant l'ouverture du trafic production.
Overlay¶
Brancher les receivers via un overlay values local que vous maintenez :
helm upgrade akko oci://harbor.akko-ai.com/akko-charts/akko \
--version 2026.06 \
-f values-harbor.yaml \
-f values-domain.yaml \
-f values-dev-secrets.yaml \
--set alertmanager.slackApiUrl=<webhook> \
--set alertmanager.pagerDutyKey=<service-key> \
--set alertmanager.emailTo=ops@client.example
Topologie de routage¶
critical → PagerDuty + #akko-incidents (Slack)
warning → #akko-alerts (Slack)
SLO breach → email (ops@)
tout → akko-default (log-only, pour l'audit)
Les alertes critiques doublent la notification (PagerDuty + Slack) pour survivre à une panne d'un canal unique.
Secrets¶
Injecter les creds via values-dev-secrets.yaml (gitignoré) ou
SealedSecrets / ExternalSecrets. Ne jamais commit les URL webhook ou
mots de passe SMTP.
alertmanager:
slackApiUrl: "https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXX"
pagerDutyKey: "votre-integration-service-key"
emailTo: "ops@client.example"
smtpHost: "smtp.office365.com:587"
smtpUser: "alerts@client.example"
smtpPassword: "<masqué>"
Règles d'inhibition¶
Deux règles limitent le bruit :
critical → inhibe warningpour le mêmealertname + namespaceNodeNotReady → inhibe toute alerte Pod*sur ce node
Validation¶
# Déclencher une alerte synthétique
kubectl -n akko exec svc/akko-alertmanager -- \
amtool alert add TestAlert severity=critical namespace=akko
# Attendu : page PagerDuty + post Slack #akko-incidents
# Lister les alertes actives
kubectl -n akko exec svc/akko-alertmanager -- amtool alert
Observabilité¶
- Compteur Prometheus
alertmanager_notifications_total{integration} - UI Alertmanager à
https://alertmanager.<domaine>/(gated admin) - logs layer contient le JSON du receiver
akko-defaultlog-only pour requêtes forensics
Dépannage¶
| Symptôme | Cause | Correctif |
|---|---|---|
| Alerte se déclenche mais aucune page PagerDuty | Clé erronée ou routing_key vide |
amtool config routes test |
| Slack renvoie 403 | Webhook révoqué | Régénérer côté admin Slack, bumper le Secret |
Email bloqué pending |
Host/port SMTP injoignable depuis le cluster | kubectl exec ... -- nc -zv smtp.office365.com 587 |
| Flood de warnings | Règles d'inhibition manquantes | Vérifier que le bloc inhibit_rules est rendu dans le manifest |