教你如何在 AlertManager 报警通知中展示监控图表
Posted wx5a20cf699eb6f
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了教你如何在 AlertManager 报警通知中展示监控图表相关的知识,希望对你有一定的参考价值。
今天换了另外一种方式来实现,直接去绘制渲染报警图表,然后上传到对象存储中保存起来,在钉钉中就可以直接展示了。Promoter 就是这个方案的一个实现。 |
之前用 Python 实现了一个非常简陋的 AlertManager 的钉钉接收器,一直想在钉钉的消息通知中将当前报警图表也展示出来,这样显然对用户来说更加友好。之前想的思路是通过爬虫的方式去 Prometheus 页面将 Graph 图形截图保存下来,该方式理论上确实是可行的,但是这种方式不稳定因素较多,而且会占用大量的资源。
今天换了另外一种方式来实现,直接去绘制渲染报警图表,然后上传到对象存储中保存起来,在钉钉中就可以直接展示了,Promoter 就是这个方案的一个实现,支持在消息通知中展示实时报警图表,效果图如下所示:
目前是将报警数据渲染成图片后上传到 S3 对象存储,所以需要配置一个对象存储(阿里云 OSS 也可以),此外消息通知展示样式支持模板定制.
模板
默认模板位于 template/default.tmpl,可以根据自己需求定制:
define "__subject" [ .Status | toUpper if eq .Status "firing" : .Alerts.Firing | len end ] .GroupLabels.SortedPairs.Values | join " " if gt (len .CommonLabels) (len .GroupLabels) ( with .CommonLabels.Remove .GroupLabels.Names .Values | join " " end ) end end
define "__alertmanagerURL" .ExternalURL /#/alerts?receiver= .Receiver end
define "default.__text_alert_list" range .
### .Annotations.summary
**详情:** .Annotations.description
range .Images
**条件:** ` .Title `
![以上是关于教你如何在 AlertManager 报警通知中展示监控图表的主要内容,如果未能解决你的问题,请参考以下文章
技术分享| 如何使用Prometheus实现系统监控报警邮件通知
prometheus 与 alertmanager 结合 发送邮件报警
linux(centos8):prometheus使用alertmanager发送报警邮件(prometheus 2.18.1/alertmanager 0.20.0)
linux(centos8):prometheus使用alertmanager发送报警邮件(prometheus 2.18.1/alertmanager 0.20.0)