★ 进阶用法--自定义模版
自定义告警消息模版可以支持任意带有WebHook服务的系统接入到PrometheusAlert上。
PrometheusAlert 原理:
PrometheusAlert 的自定义模板接口 /prometheusalert 专门用来接收外部服务传入的 HTTP POST 的 JSON 数据(通常带有WebHook的软件都可以接入PrometheusAlert),/prometheusalert 接口在接收到JSON数据后,会根据Url中的tpl参数去查找对应的自定义模板,通过找到的模板去渲染JSON以便输出渲染后的文本,最后将渲染后的文本转发给指定的目标,如钉钉机器人,从而实现钉钉告警。
/prometheusalert 专门用来接收外部服务传入的 HTTP POST 的 JSON 数据(通常带有WebHook的软件都可以接入PrometheusAlert),/prometheusalert 接口在接收到JSON数据后,会根据Url中的tpl参数去查找对应的自定义模板,通过找到的模板去渲染JSON以便输出渲染后的文本,最后将渲染后的文本转发给指定的目标,如钉钉机器人,从而实现钉钉告警。流程参考:
下面以Prometheus为例演示下完整的使用自定义模板流程
一、配置WebHook将消息转发给PrometheusAlert
1.更改Alertmanager的配置,将所有告警信息都转发到PrometheusAlert自定义接口,参考如下:
global:
resolve_timeout: 5m
route:
group_by: ['instance']
group_wait: 10m
group_interval: 10s
repeat_interval: 10m
receiver: 'PrometheusAlert'
receivers:
- name: 'PrometheusAlert'
webhook_configs:
- url: 'http://[YOUR-PrometheusAlert-URL]/prometheusalert?type=dd&tpl=prometheus-dd'二、对照JSON新建自定义模板(为方便调试,编写模版可以在web页面的MarkDownTest进行)

三、测试自定义模板
1.对新添加的模版进行测试

四、使用自定义模板
1.自定义告警消息模版接口使用非常简单

最后更新于