如何配置Grafana的Unified Alerting对接企业微信与钉钉机器人产出带梯度的报告

秋婷大大_4136

秋婷大大_4136

2026-06-13

334人浏览

原创

Grafana Unified Alerting 通过 severity 标签分级、自定义模板渲染和 Notification Policies 路由,实现企业微信与钉钉的梯度告警报告。需配置 Webhook Contact Point、定义 alert_gradient 模板并按严重性分发通知。

如何配置grafana的unified alerting对接企业微信与钉钉机器人产出带梯度的报告

Grafana Unified Alerting(v9.0+ 默认启用,10.x/11.x 全面替代旧 Alerting)支持结构化、可编程的告警通知流。要对接企业微信与钉钉并产出“带梯度的报告”,核心不是简单发消息,而是通过分级标签 + 模板逻辑 + 通知策略路由,让不同严重程度的告警自动触发不同格式、不同内容深度、甚至不同接收范围的消息——这就是“梯度”的实质。

以下是清晰、可落地的配置路径:

一、统一前置:确保 Unified Alerting 已启用且环境就绪

  • 确认 Grafana 配置中 unified_alerting = true(通常阿里云 Grafana 版默认开启)
  • 使用 Admin 账号或阿里云账号直登 Grafana 控制台(无需额外安装插件)
  • 所有后续操作均在 Alerting → Contact points / Notification policies / Templates 页面完成

二、为“梯度”打基础:用 Labels 定义告警等级

告警规则中必须显式设置 severity 标签(或其他自定义等级字段),例如:

labels:
  severity: critical   # 或 warning / info / resolved
  team: backend
  service: api-gateway

✅ 关键点:severity 是 Grafana 内置语义标签,Notification Policies 可直接按它做路由;不要只靠 Rule Name 或 Description 判断级别。

三、对接企业微信与钉钉:用 Webhook Contact Point + 自定义 Body

两者都走 Webhook 类型 Contact Point,区别仅在 URL 和消息体结构:

平台 推荐 Message Type 必填 Header 示例 Body(精简版)
企业微信 Markdown Content-Type: application/json { "msgtype": "markdown", "markdown": { "content": "{{ template \"wecom_critical\" . }}" } }
钉钉 Custom(POST) 同上 + 签名头(如启用) { "msgtype": "markdown", "markdown": { "title": "? {{ .CommonLabels.alertname }}", "text": "{{ template \"dingtalk_firing\" . }}" } }

⚠️ 注意:企业微信官方要求 msgtype=markdown 时,content 字段必须是纯文本(不支持嵌套 JSON);钉钉则支持完整 Markdown 结构。

四、构建“梯度报告”:用模板(Templates)实现内容分层

在 Alerting → Templates → New template 中定义多个模板,按 severity 分支渲染:

微信公众号发文助手
微信公众号发文助手

微信公众号产业研究发文助手,支持原文读取、分层摘要、产业链标的梳理、image2 海报与封面生成、正文排版、微信草稿保存、回读校验和发布前确认。

下载

示例模板 alert_gradient:

{{ define "alert_gradient" }}
{{ if eq .Status "firing" }}
  {{ if eq .CommonLabels.severity "critical" }}
    ### ? [CRITICAL] {{ .CommonLabels.alertname }}
    > **影响范围**:核心服务中断,已持续 {{ .Alerts.Firing.0.Duration }}  
    > **当前值**:{{ printf "%.2f" (index .Alerts.Firing.0.Values "B") }}%(阈值 95%)  
    > **建议动作**:立即检查 `api-gateway` 实例日志 & Prometheus 查询 `rate(http_requests_total[5m])`  
    > **直达链接**:[查看大盘]({{ .Alerts.Firing.0.GeneratorURL }})|[跳转日志]({{ .CommonAnnotations.runbook }})

  {{ else if eq .CommonLabels.severity "warning" }}
    ### ⚠️ [WARNING] {{ .CommonLabels.alertname }}
    > **状态**:指标异常但未中断,建议 30 分钟内排查  
    > **关键指标**:CPU 使用率 {{ printf "%.1f" (index .Alerts.Firing.0.Values "A") }}%,内存 {{ printf "%.1f" (index .Alerts.Firing.0.Values "C") }}%  
    > **参考文档**:{{ .CommonAnnotations.runbook }}

  {{ else }}
    ### ℹ️ [INFO] {{ .CommonLabels.alertname }}
    > 基础健康巡检触发,无需紧急响应  
  {{ end }}
{{ else }}
  ### ✅ [RESOLVED] {{ .CommonLabels.alertname }}
  > 异常已恢复,持续时间 {{ .Alerts.Resolved.0.Duration }}  
{{ end }}
{{ end }}

然后在 Contact Point 的 Message 字段中调用:
{{ template "alert_gradient" . }}

五、路由到不同平台:用 Notification Policies 实现智能分发

在 Alerting → Notification policies → Edit 中设置树状策略:

  • Root policy:匹配所有告警(match_all: true)
  • 子策略 1:severity = "critical" → 发送到「企业微信-值班群」+ 「钉钉-技术总监」
  • 子策略 2:severity = "warning" → 发送到「企业微信-后端组」+ 「钉钉-开发群」
  • 子策略 3:severity = "info" → 仅发到「企业微信-运维周报」(静默通道,不 @)

✅ 这样就实现了:同一告警规则,按 severity 自动走不同通道、不同模板、不同人群——真正“梯度”。

不复杂但容易忽略

相关文章

企业微信
企业微信

企业微信是腾讯微信团队为企业打造的专业办公管理工具。与微信一致的沟通体验,丰富免费的OA应用,并与微信消息、小程序、微信支付等互通,助力企业高效办公和管理。有需要的小伙伴快来保存下载体验吧!

下载

相关标签:

微信 企业微信 钉钉

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Grafana重置admin密码
Grafana重置admin密码

本专题整合了grafana admin密码相关教程,阅读专题下面的文章了解更多详细内容。

2025.09.02

2374

12

Grafana admin密码
Grafana admin密码

本专题整合了Grafana密码相关教程,阅读专题下面的文章了解更多详细内容。

2025.12.09

730

9

Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

2026.10.28

40

16

Vite 如何搭配 Vue.js
Vite 如何搭配 Vue.js

Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。

2026.10.28

20

15

Vite 项目目录怎么看
Vite 项目目录怎么看

Vite项目目录专题汇集入口文件、src源码、public静态资源、路径别名、项目根目录和构建输出目录相关的已审核文章,帮助读者理解各文件夹的用途与引用方式。

2026.10.28

40

10

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

2026.10.22

140

11

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

2026.10.22

80

10

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

2026.10.22

80

15

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

2026.10.22

40

10

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
微信小程序开发(网易云音乐)
微信小程序开发(网易云音乐)

共94课时 | 18.3万人学习

Codebuddy 插件
Codebuddy 插件

共0课时 | 0人学习

秒哒微信小程序发布
秒哒微信小程序发布

共0课时 | 0人学习