Prometheus监控神器-Alertmanager篇(五)

icegoblin
发布于 2022-7-5 17:33
浏览
0收藏

 

钉钉Firing警报:

Prometheus监控神器-Alertmanager篇(五)-鸿蒙开发者社区

 钉钉警报信息

钉钉Resolve警报:

Prometheus监控神器-Alertmanager篇(五)-鸿蒙开发者社区

 钉钉恢复信息

警报通知模板
Prometheus 创建警报转发给 Alertmanager,Alertmanager会根据不同的 Label 向不同的 Receiver 发送警报通知,如Email、钉钉、企业微信、飞书、短信等等。所有 Receiver都一个接收模板,然后通过模板格式化以后发送警报信息给 Receiver。Alertmanager 自带的模板是基于 Go 语言的 template 模板,用户可以根据自己的需求去定义自己需要的模板,上面我给出的模板已经足够大家的基础使用了。

 

下面介绍下通常自定义模板中会需要用到的一些参数说明

Prometheus监控神器-Alertmanager篇(五)-鸿蒙开发者社区
上面说的KV类型是一组使用不标示标签与注释的Key/Value字符串对,可以在Alertmanager中的默认模板中看到其定义。default.tmpl

其中邮件中所显示的 View In AlertManager ,Receiver 与 ExternalURL的定义其实就是模板中的 .ExternalURL 与 .Receiver 。

{{ define "__alertmanager" }}AlertManager{{ end }}

{{ define "__alertmanagerURL" }}{{ .ExternalURL }}/#/alerts?receiver={{ .Receiver | urlquery }}{{ end }}
...

在收到的邮箱警报中可以看到 View In AlertManager 的链接地址是:http://192.168.1.220:19093/#/alerts?receiver=ops 。

对于Alert的类型,警报列表的字段还包含了如下参数与定义、描述

Prometheus监控神器-Alertmanager篇(五)-鸿蒙开发者社区

对于警报中的通知模板首先要熟悉go语言的template语法以及HTML简单的基础知识,然后把上面相关的元数据的一些信息了解清楚,就可以自己调整模板了,如果你实在懒的改,我调整好的模板可以直接拿去用,把对应的指标、标签名字改一下就可以用了。

 

以下是我自己修改了一下的模板警报格式,大家可以看看,这个是通过官方的 default.tmpl 修改的。

Prometheus监控神器-Alertmanager篇(五)-鸿蒙开发者社区

 Email模板警报信息

开源警报组件推荐

  • Prometheus-Webhook-Dingtalk
    一个开源的第三方警报插件,针对钉钉机器人 webhook 做集成,Go语言编写,现在迭代的已经很不错了,可能有一些功能还是有些限制,比如针对 Markdown @某个人无法实现,原因是因钉钉自身API没有支持这个功能。
  • Alertmanager-wechatrobot-webhook
    这个开源组件是将Alertmanger Webhook 消息转换为可以接收消息的企业微信机器人,也是go语言编写,Alertmanager 默认已经集成企业微信配置,如果有特殊需求,需要使用企业微信机器人的可以看看这个。
  • PrometheusAlert全家桶
    如果有对短信、电话警报等其他需求的同学,推荐这个开源警报组件,Go语言编写,Web框架是 Beego ,支持将收到的这些消息发送到钉钉,微信,飞书,腾讯短信,腾讯电话,阿里云短信,阿里云电话,华为短信,容联云电话等,这里就不细讲了,如果配置有问题可以随时咨询我。

Prometheus监控神器-Alertmanager篇(五)-鸿蒙开发者社区

 PrometheusAlert

 

欢迎大家关注我的公众号ID:k8stech


文章转自公众号:Kubernetes技术栈

标签
已于2022-7-5 17:33:06修改
收藏
回复
举报
回复
    相关推荐