您现在的位置是:亿华云 > 应用开发
在 AlertManager 报警通知中展示监控图表
亿华云2025-10-09 03:31:45【应用开发】4人已围观
简介之前用 Python 实现了一个非常简陋的 AlertManager 的钉钉接收器,一直想在钉钉的消息通知中将当前报警图表也展示出来,这样显然对用户来说更加友好。之前想的思路是通
之前用 Python 实现了一个非常简陋的报警表 AlertManager 的钉钉接收器,一直想在钉钉的通知消息通知中将当前报警图表也展示出来,这样显然对用户来说更加友好。中展之前想的示监思路是通过爬虫的方式去 Prometheus 页面将 Graph 图形截图保存下来,该方式理论上确实是云服务器控图可行的,但是报警表这种方式不稳定因素较多,而且会占用大量的通知资源。
今天换了另外一种方式来实现,中展直接去绘制渲染报警图表,示监然后上传到对象存储中保存起来,控图在钉钉中就可以直接展示了,高防服务器报警表Promoter 就是通知这个方案的一个实现,支持在消息通知中展示实时报警图表,中展效果图如下所示:
目前是示监将报警数据渲染成图片后上传到 S3 对象存储,所以需要配置一个对象存储(阿里云 OSS 也可以),控图此外消息通知展示样式支持模板定制,该功能参考自项目 https://github.dev/timonwong/prometheus-webhook-dingtalk。
模板默认模板位于 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 }}`
![很赞哦!(21)
相关文章
- 域名不仅仅是一个简单的网站。对于有长远眼光的公司来说,在运营网站之前确定一个优秀的域名对有长远眼光的公司来说是非常重要的。这对今后的市场营销、产品营销和企业品牌建设都具有十分重要的意义。优秀的域名是企业在市场竞争中获得持久优势的利器。
- 三种方案 | 抛弃for循环,让Python代码更pythonic !
- 利用Python开发App实战
- Chrome DevTools 远程调试安卓网页的原理
- 便宜域名使用如何?小白可以买到便宜域名吗?
- 玩转 Chrome DevTools,定制自己的调试工具
- 客户端单元测试实践-C++篇
- 五个让日常编码更简单的 Python 库
- 4、注册门槛低
- 浅谈Python+requests+pytest接口自动化测试框架的搭建