Files
italiadatacenter/add-on/monitoring/files/05-alertmanager-config.yaml
alessandro barucci 1a2cca2cd2 varie
2026-08-09 17:03:02 +02:00

63 lines
2.0 KiB
YAML

# =====================================================================
# AlertmanagerConfig — routing alert per severità
# Applica con: kubectl apply -f 05-alertmanager-config.yaml
#
# Richiede i Secret con le credenziali (webhook Slack, integration key
# PagerDuty) creati separatamente, es.:
#
# kubectl create secret generic alertmanager-slack \
# -n monitoring --from-literal=url='https://hooks.slack.com/services/XXX/YYY/ZZZ'
#
# kubectl create secret generic alertmanager-pagerduty \
# -n monitoring --from-literal=serviceKey='YOUR_PAGERDUTY_INTEGRATION_KEY'
# =====================================================================
apiVersion: monitoring.coreos.com/v1alpha1
kind: AlertmanagerConfig
metadata:
name: routing-config
namespace: monitoring
labels:
# deve matchare alertmanagerConfigSelector del chart
# (di default kube-prometheus-stack seleziona per release label)
release: kube-prometheus-stack
spec:
route:
groupBy: ["alertname", "namespace"]
groupWait: 30s
groupInterval: 5m
repeatInterval: 4h
receiver: "slack-default"
routes:
- matchers:
- name: severity
value: critical
matchType: "="
receiver: "pagerduty-critical"
continue: true # invia ANCHE a slack-default per visibilità
- matchers:
- name: severity
value: warning
matchType: "="
receiver: "slack-default"
receivers:
- name: "slack-default"
slackConfigs:
- apiURL:
name: alertmanager-slack
key: url
channel: "#alerts-k8s"
sendResolved: true
title: '{{ "{{" }} .CommonAnnotations.summary {{ "}}" }}'
text: '{{ "{{" }} .CommonAnnotations.description {{ "}}" }}'
- name: "pagerduty-critical"
pagerdutyConfigs:
- serviceKey:
name: alertmanager-pagerduty
key: serviceKey
severity: "critical"
description: '{{ "{{" }} .CommonAnnotations.summary {{ "}}" }}'
sendResolved: true