首页
/ Uptime-Kuma 钉钉通知功能增强:支持@全员与指定成员

Uptime-Kuma 钉钉通知功能增强:支持@全员与指定成员

2025-04-29 09:35:38作者:咎竹峻Karen

钉钉作为国内广泛使用的企业通讯工具,其机器人通知功能在运维监控场景中具有重要价值。Uptime-Kuma作为开源监控工具,近期社区提出了对其钉钉通知功能的增强需求,旨在实现更精细化的消息提醒控制。

功能背景

当前Uptime-Kuma的钉钉通知采用markdown消息格式,但缺少钉钉机器人特有的@提醒功能。根据钉钉开放平台文档,markdown类型消息支持三个关键参数:

  1. atMobiles:通过手机号@指定成员(需在消息文本中包含该手机号)
  2. atUserIds:通过用户ID@指定成员
  3. isAtAll:是否@全员

技术实现分析

要实现这一增强功能,需要在Uptime-Kuma的钉钉通知模块进行以下改进:

  1. 前端界面扩展

    • 新增"提醒设置"区域,包含:
      • 勾选框"@全员"
      • 输入框"@手机号"(支持多个,逗号分隔)
      • 输入框"@用户ID"(支持多个,逗号分隔)
  2. 后端逻辑调整

    • 在生成钉钉消息时,构造包含at字段的完整JSON结构
    • 对用户输入进行验证:
      • 手机号格式校验
      • 当选择@全员时,忽略其他@设置
  3. 消息体构造示例

{
  "msgtype": "markdown",
  "markdown": {
    "title": "服务监控告警",
    "text": "#### 服务异常 @13800138000 \n> 详情请查看..."
  },
  "at": {
    "atMobiles": ["13800138000"],
    "atUserIds": ["user123"],
    "isAtAll": false
  }
}

应用价值

这一增强将显著提升运维效率:

  1. 精准提醒:可直接@相关责任人,避免消息遗漏
  2. 紧急响应:通过@全员功能确保重大故障及时响应
  3. 灵活配置:根据不同监控级别设置不同的@策略

实现建议

对于希望自行实现该功能的用户,建议:

  1. 熟悉钉钉机器人消息格式规范
  2. 修改Uptime-Kuma的钉钉通知服务代码
  3. 充分测试各种@组合场景
  4. 注意手机号隐私保护(非群成员会脱敏处理)

该功能增强后,Uptime-Kuma的钉钉通知将更符合国内企业的使用习惯,提升监控告警的实际效果。

登录后查看全文
热门项目推荐
相关项目推荐