我正在尝试通过Prometheus设置Alertmanager。我已经写了我的alert-rules和alertmanager.yaml文件。我可以通过alertmanager将警报发送到松弛状态。
问题
我无法美化我的警报。我想发送描述,警报名称,警报摘要。
我尝试使用CommonAnnotations来发送描述,名称和警报摘要。但不幸的是,它仅适用于“ DeadMansSwitch”。对于所有其他警报,我无法在空闲频道上看到任何内容。
#PrometheusRules
- alert: esWorkerACKSPM
annotations:
description: Buzzsaw esworkers acknowledgment per minute.
summary: Prometheus' alert notification :- Buzzsaw average esworker acknowledgment per minute is lower than 10.
expr: avg(bz_ackspm{broker=~"ldbb-.*", group="esworkers"}) < 10
for: 5m
labels:
severity: urgent
#alertmanager.yaml
global:
templates:
- 'https://github.com/prometheus/alertmanager/blob/master/template/default.tmpl'
route:
group_by: ['severity']
group_wait: 3s
group_interval: 5s
repeat_interval: 20s
receiver: mail-receiver
routes:
- match:
severity: urgent
receiver: critical-mail-receiver
routes:
receivers:
- name: 'mail-receiver'
slack_configs:
- api_url: https://hooks.slack.com/services/XXXXXX/XXXXX1/e7AXXXXXXopzmHNTJmL
channel: '#alertmanager-testing'
text: '{{ .CommonAnnotations.summary }}'
- name: 'critical-mail-receiver'
slack_configs:
- api_url: https://hooks.slack.com/services/T0XXXXCL/XXX6G4/VUVKZ8CnXXXXXXXzZguoXq
channel: '#place'
text: '{{ .CommonAnnotations.summary }} '
预期结果:-闲置通道上的警报摘要。
实际结果:-只能在松弛状态下查看DeadMansSwitch(警报)的摘要。对于其他警报,它仅显示
[FIRING:2] urgent (monitoring/kube-prometheus-prometheus-prometheus)
答案 0 :(得分:0)
这实际上是期望的行为。您指定了分组,并且您作为示例发布的邮件是分组邮件([FIRING:2]
表示匹配的两个相同规则)。因此,省略了其他信息字段(在您的情况下为文本,但也包括footer等),因为没有(简便)方法以编程方式判断应显示哪些分组警报。
要显示哪个?他们中的第一个或全部(添加冗长性和大量文本/混乱,尤其是如果将两个以上的警报组合在一起的话)?
因此,如果要始终显示其他文本,则可以删除分组配置。