发表于 2022-03-16  更新于 2023-03-03

因 grafana 告警信息太多无用数据,容易干扰查看
例如使用 企业微信告警消息如下

太多无用Labels 例如 endpoint,job,pod,service
还有Value 字段太占空间,Source, Silence 字段,因太长且无用
所以修改模版来精简告警消息

方式一: 文本类告警

例如企业微信类的文本告警,根据官网文档知道默认模版来自 default_template.go
主要定义了2个模版,一个是__text_alert_list ,另一个default.message 使用了模版__text_alert_list
我们只需要根据__text_alert_list 模版修改为自定义模版即可

  1. 创建一个消息告警模版
    打开grafana 页面,点击左侧 alerting 图标 ,点击 Contact points 菜单 ,点击New template 按钮
    Template name 填写 text_alert_list
    Content 内 复制如下原始模版

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    {{ define "__text_alert_list" }}{{ range . }}
    Value: {{ or .ValueString "[no value]" }}
    Labels:
    {{ range .Labels.SortedPairs }} - {{ .Name }} = {{ .Value }}
    {{ end }}Annotations:
    {{ range .Annotations.SortedPairs }} - {{ .Name }} = {{ .Value }}
    {{ end }}{{ if gt (len .GeneratorURL) 0 }}Source: {{ .GeneratorURL }}
    {{ end }}{{ if gt (len .SilenceURL) 0 }}Silence: {{ .SilenceURL }}
    {{ end }}{{ if gt (len .DashboardURL) 0 }}Dashboard: {{ .DashboardURL }}
    {{ end }}{{ if gt (len .PanelURL) 0 }}Panel: {{ .PanelURL }}
    {{ end }}{{ end }}{{ end }}
     

    修改__text_alert_list 为 text_alert_list
    删除 自己认为多余的信息,例如Value 和Labels ,记得需要成对删除,否则可能导致模版不可用
    如下是我修改的模版

    1
    2
    3
    4
    5
    6
    {{ define "text_alert_list" }}{{ range . }}
    Labels:
    {{ range .Labels.SortedPairs }} - {{ .Name }} = {{ .Value }}
    {{ end }}Annotations:
    {{ range .Annotations.SortedPairs }} - {{ .Name }} = {{ .Value }}
    {{ end }}{{ end }}{{ end }}
     
  2. 新建一个模版支持整个通知信息
    Template name 填写 message
    Content 填写
    1
    2
    3
    4
    5
    {{ define "message" }}{{ if gt (len .Alerts.Firing) 0 }}**触发**
    {{ template "text_alert_list" .Alerts.Firing }}{{ if gt (len .Alerts.Resolved) 0 }}

    {{ end }}{{ end }}{{ if gt (len .Alerts.Resolved) 0 }}**已解决**
    {{ template "text_alert_list" .Alerts.Resolved }}{{ end }}{{ end }}
     

    最终如下

  3. 修改企业微信的 contact point
    在Optional WeCom settings 下 的 Message 输入框内填写
    1
    {{ template "message" . }}
     

    这里的message 对应上一步的define "message"

  4. 完成,等待收到告警消息
    效果图

    方式二: 邮箱告警

    如果使用邮箱告警的情况下修改 contact point 的 Message 使用自定义邮箱模版会导致界面太丑,没有样式的问题

在官网文档内 HTML in Message Templates 修改邮箱告警模版需要修改ng_alert_notification.html文件

编辑public/emails/ng_alert_notification.html 文件
如果要删除Value字段,则删除213-217行
如果要删除Labels字段,则删除227-L234行
如果是本地直接安装修改文件重启即可
如果是docker or k8s 安装,需要将修改后的文件挂载到容器内
2. 完成,等待收到告警消息
效果图

[转帖]grafana自定义告警模版的更多相关文章

  1. 实用干货丨如何使用Prometheus配置自定义告警规则

    前 言 Prometheus是一个用于监控和告警的开源系统.一开始由Soundcloud开发,后来在2016年,它迁移到CNCF并且称为Kubernetes之后最流行的项目之一.从整个Linux服务器 ...

  2. sharepoint 2010 使用自定义列表模版创建列表(2)

    前面用的方法是通过界面上操作,根据自定义模版,创建的列表.sharepoint 2010 使用自定义列表模版创建列表(1) 这里顺便记录多另一种方法,通过程序来创建. ---------------- ...

  3. Django模版语言的复用 1. include标签--模版导入 2.inclusion_tag自定义标签--模版导入 3.母版

    include标签--模版导入 ''' 前提:项目中,往往会出现多个页面拥有一个或几个相同的页面版块,或是一个页面多个页面版块是相同的 如何运用:可以将多个样式标签的集合进行封装,对外提供版块的名字( ...

  4. zabbix之自定义告警

    zabbix支持内置的告警类型.email,sms,等 有时候需要自定义类型的. [其他微信,钉钉都差不多方式,只是脚本不一样] 自定义告警类型[自定义邮件] 编写自定义脚本,并测试成功. [脚本需要 ...

  5. DocView 现在支持自定义 Markdown 模版了!

    前言 有小伙伴反馈说希望可以自定义 Markdown 模版,这样就可以导出自己想要的样式了!这个功能可以有,毕竟大家不可能都生成一模一样的文档.现在来一起看看如何实现自定义模版吧! 设置模版 Sett ...

  6. kubernetes(k8s) Prometheus+grafana监控告警安装部署

    主机数据收集 主机数据的采集是集群监控的基础:外部模块收集各个主机采集到的数据分析就能对整个集群完成监控和告警等功能.一般主机数据采集和对外提供数据使用cAdvisor 和node-exporter等 ...

  7. 图文详解Prometheus监控+Grafana+Alertmanager告警安装使用

    一:前言 一个服务上线了后,你想知道这个服务是否可用,需要监控.假如线上出故障了,你要先于顾客感知错误,你需要监控.还有对数据库,服务器的监控,等等各层面的监控. 近年来,微服务架构的流行,服务数越来 ...

  8. sharepoint 2010 使用自定义列表模版创建列表(1)

    我们在使用sharepoint的过程中,发现一个比较好用的功能,就是“将此列表另存为模版”(save list as template),这个功能的作用是,创建一个和当前列表或者文档库一模一样的配置, ...

  9. OneAPM大讲堂 | 监控数据的可视化分析神器 Grafana 的告警实践

    文章系国内领先的 ITOM 管理平台供应商 OneAPM 编译呈现. 概览 Grafana 是一个开源的监控数据分析和可视化套件.最常用于对基础设施和应用数据分析的时间序列数据进行可视化分析,也可以用 ...

  10. ASP.NET MVC3 自定义编辑模版

    在View中显示Model中的各字段,默认是使用htmlhelper的EditorFor方法,在界面上显示的文本框.而使用EditorTemplates可在View上为特定字段显示自定义的界面.比如购 ...

随机推荐

  1. Python——第三章:函数的返回值

    函数的返回值: 函数执行之后. 会给调用方一个结果. 这个结果就是返回值 关于return:        函数只要执行到了return. 函数就会立即停止并返回内容. 函数内的return的后续的代 ...

  2. 斯坦福 UE4 C++ ActionRoguelike游戏实例教程 02.AI自定义任务和观察器中断

    斯坦福课程 UE4 C++ ActionRoguelike游戏实例教程 0.绪论 概述 本文章对应课程第十一章 42节.这篇文章会进一步地为AI添加新功能,创建自定义任务,允许AI发射子弹,并且讲解观 ...

  3. CodeArts Repo:6大特性助力企业代码稳定可靠安全无忧

    摘要:华为云代码托管服务CodeArts Repo已于2月20日22:00正式上线,这是一款全栈自研.基于Git的云端代码托管服务,旨在保护企业核心代码资产安全,提升企业研发质量和效率. 本文分享自华 ...

  4. 【万字干货】OpenMetric与时序数据库存储模型分析

    摘要:解读OpenMetric规范和指标的模型定义基础上,结合当下主流的时序数据库核心存储及处理技术,尝试让用户(架构师.开发者或使用者)结合自身业务场景选择合适的产品,消除技术选型的困惑. 本文分享 ...

  5. 实践解析可视化开发平台FlinkSever优势

    摘要:华为Flink可视化开发平台FlinkServer作为自研服务,能够提供比原生flinksql接口更强的企业级特性,比如任务的集中管理,可视化开发,多数据源配置等. 本文分享自华为云社区< ...

  6. 提速 10 倍!深度解读字节跳动新型云原生 Spark History Server

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 前不久,在 6月29日 Databricks 举办的 Data + AI Summit 上,火山引擎向大家首次介绍 ...

  7. 火山引擎DataLeap数据调度实例的 DAG 优化方案 (二):功能设计

    针对上面存在的问题以及对需求的分析,我们可以进行如下的功能实现与设计: 首先是渲染方案的替换,将 svg 的渲染方案替换成 canvas 渲染,通过减少页面中 DOM 的数量,提高前端渲染性能. 其次 ...

  8. bat cmd 无效参数/选项 - deleting

    Window bat expdp 数据库定时任务逻辑备份数据库 定时删除N天前的旧文件 Linux shell crontab expdp 定时任务逻辑备份数据库 定时删除旧文件 错误配置 forfi ...

  9. Axure 获取验证码

    拖两个矩形框,一个用来做文档输入,一个做获取验证码的按钮 设置全局变量OnLoadVariable的初如值为60 1.用例中的条件:当OnLoadVariable的值不等于0 2.用例中的步骤 禁用& ...

  10. PPT 毕业答辩:学术风格的PPT

    PPT 毕业答辩:学术风格的PPT 合适字体 便于阅读, 封面.标题 楷体.华康俪金黑.粗宋体.思源宋体.中山行书 正文 宋体.仿宋.微软雅黑.思源黑体 主题色 学术红.严谨紫.科学蓝 跟着LOGO ...