Skip to content

[Feature] 钉钉告警通知升级为 ActionCard/Markdown 交互式卡片与中文汉化 #442

Description

@Zara1024

需求背景 (Background)

目前系统的告警通知流水线在向钉钉机器人(DingTalk Custom Bot)发送告警时,使用的是无样式的纯英文普通文本(msgtype: "text"):

[CRITICAL] device_offline: device_last_seen_seconds_ago > 90 ⇒ device_id=1,device_name=阿里云ECS01,instance=ongrid:9100,job=ongrid-manager (value=51229.302550603)
source: global
dedupe: pipeline:device_offline:device_id=1,device_name=阿里云ECS01,instance=ongrid:9100,job=ongrid-manager

在日常运维实践中存在以下体验痛点:

  1. 视觉层级弱:纯文本展示缺乏醒目的颜色和视觉层级,无法让值班运维人员一眼区分严重告警(Critical P1)、预警提示(Warning P2)与恢复通知(Resolved);
  2. 缺乏汉化与友好展示:规则名称、设备对象、告警状态等关键信息以底层原始指标字符串呈现,可读性差;
  3. 时区偏差(少 8 个小时):容器环境默认 UTC 时区,导致钉钉消息中展示的发生时间比北京时间(CST,UTC+8)慢整整 8 个小时;
  4. 缺少快捷操作入口:无交互式跳转按钮,无法快速打开控制台查看受影响设备或告警详情。

预期效果与改进建议 (Proposed Solution)

参考业界(如 prometheus-webhook-dingtalk 等成熟模板)标准实践:

  1. 升级为钉钉 ActionCard(带独立跳转按钮)/ Markdown 交互式卡片;
  2. 级别与状态多色联动:
    • 🔴 严重告警(Critical):标题前缀 🚨【严重告警】,级别与状态标识 <font color="#EA3323">CRITICAL (严重)</font> / FIRING (发生中);
    • 🟠 预警提示(Warning):标题前缀 ⚠️【预警提示】,级别标识 <font color="#FF7700">WARNING (警告)</font>;
    • 🔵 提醒通知(Info):标题前缀 ℹ️【通知提醒】,级别标识 `INFO (信息)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions