1. 启动 webhook 服务
需要启动一个 http 服务:接收 alertmanager 发出来的告警消息,消息二次处理(自定义分组、markdown格式消息拼接等),然后再发送到钉钉自定义机器人。
github 上有现成的可用,但注意钉钉自定义机器人一般会有安全配置:
- 关键词:包含关键词的消息才会被处理;
- 加签:webhook 服务中需做加签处理,加签方式查看钉钉自定义机器人官网即可;
- IP 地址限制。

钉钉机器人告警消息的一个结果:
2. 添加 AlertmanagerConfig 配置
在 kube-prometheus-stack 中,Alertmanager 的告警发送相关配置同样被抽象为 CRD
alertmanagerconfigs.monitoring.coreos.com 实例对象。
一个示例:
apiVersion: monitoring.coreos.com/v1alpha1kind: AlertmanagerConfigmetadata:name: x-test-dingtalknamespace: monitoringspec:receivers:- name: x-dingtalkwebhookConfigs:- url: http://${IP}:${PORT}/send # 接收告警消息的 webhook 服务 urlsendResolved: trueroute:groupBy: ["job"]groupWait: 30sgroupInterval: 5mrepeatInterval: 10m # 测试时可配置间隔小一些receiver: x-dingtalk# match 详细配置参考 prometheus 官网及 CRD alertmanagerconfigs.monitoring.coreos.com 的定义matchers:- regex: truename: severityvalue: critical|warning|inforeceiver: x-dingtalk
