钉钉报警的优势在哪里?如何配置钉钉机器人进行报警信息推送?

一、常见的报警方式

1、短信或者电话报警

这样的报警方式更适合高级别的报警提醒,用于处理紧急情况。出现级别不高而又频繁地发送短信会让人产生排斥感,而且电话或者短信的报警方式也存在一定的成本。

2、邮件报警

邮件报警更适用于工作时的提醒,但是系统往往是不能区分是不是在工作,有时候夜间的报警邮件也很难及时关注到,所以说邮件报警也存在一定的局限性。

3、钉钉报警

随着钉钉越来越普及,很多公司都已经使用钉钉。员工在公司需要使用钉钉管理自己的考勤以及进行工作上的沟通,如果将监控报警信息推送到钉钉上其实就很方便的。不过也存在有的企业用的是其他沟通工具,不过对于报警推送到沟通软件上的原理都是类似的,接下来我们以钉钉作为模版来讲解如何进行报警信息的推送。

二、配置钉钉机器人

1、打开机器人管理页面

以 PC 端为例,打开 PC 端钉钉,进入首页面点击头像,在弹出框里选择机器人管理,打开管理页面后可以选择自定义,如下图所示:

2、添加机器人

在打开的机器人详情页面点击添加按钮,如下图所示:

3、配置机器人信息

在打开的添加机器人页面输入机器人名字,选择要接收报警的钉钉群 ,设置机器人头像。根据需要勾选安全设置等就可以,点击完成之后,在页面拷贝出 Webhook 地址保存好,向这个地址发送 HTTP POST 请求,设置的 SkyWalking 钉钉报警群便能收到钉钉报警消息,如下图所示: 配置好之后我们可以看到设置报警的钉钉群"SkyWalking 钉钉报警"出现了报警机器人消息,如下图所示:

我们可以用 Linux 命令行工具 curl 快速验证是否可以推送成功,curl 命令行示意如下:

css 复制代码
[root@JD ~]# curl 'https://oapi.dingtalk.com/robot/send?access_token=xxxxxxx' -H 'CONTENT-TyPE: application/json' -d '{"msgtype": "text","text": {"content": "业务报警"}}'

{"errcode":0,"errmsg":"ok"}

4、SkyWalking与钉钉报警结合

上述已经配置完成了钉钉机器人,那如何将 SkyWalking 的报警信息自动推送到钉钉机器人呢?我们可以实现一个接口作为它们沟通的"桥梁"。

首先在 pom 里面引入相关的 jar 包,如下所示:

xml 复制代码
<dependency> 

    <groupId>com.aliyun</groupId> 

    <artifactId>alibaba-dingtalk-service-sdk</artifactId> 

</dependency>

然后自定义 DingTalkUtils 工具类,暴露接口访问路径 /dingdingAlarm。

java 复制代码
@RequestMapping(value = "/dingdingAlarm", method = RequestMethod.POST)

public void alarm(@RequestBody List<AlarmDto> alarmList){

    //示意代码

    alarmList.forEach(alarm-> {

        DingTalkUtils.sendMsg(alarm.getAlarmMessage());

    });

}

5、SkyWalking告警推送到钉钉

SkyWalking 提供了告警的配置,我们可以很方便地配置上面暴露的接口。在 SkyWalking 程序包里的 config 文件夹下有个 alarm-settings.yml 文件,该文件专门用来配置相关的报警。在该配置文件中我们可以搜索到 webhooks,把上面暴露的接口写上去就好了。

bash 复制代码
 webhooks:-http://ip:port/dingdingAlarm

接下来我们测试下,比如 auth 服务获取验证码的接口出现错误,我们是可以在 SkyWalking 追踪页面清楚地看到的。同时对于其他相关的业务同学,也都可以在钉钉群收到报警信息,这样的方式在实际工作中非常实用。业务报错图和钉钉报警图如下所示:

文章将持续更新,欢迎关注公众号:服务端技术精选。欢迎点赞、关注、转发

相关推荐
martinzh2 小时前
Spring AI 项目介绍
后端
前端付豪2 小时前
20、用 Python + API 打造终端天气预报工具(支持城市查询、天气图标、美化输出🧊
后端·python
爱学习的小学渣2 小时前
关系型数据库
后端
武子康2 小时前
大数据-33 HBase 整体架构 HMaster HRegion
大数据·后端·hbase
前端付豪2 小时前
19、用 Python + OpenAI 构建一个命令行 AI 问答助手
后端·python
凌览2 小时前
斩获 27k Star,一款开源的网站统计工具
前端·javascript·后端
全栈凯哥2 小时前
02.SpringBoot常用Utils工具类详解
java·spring boot·后端
狂师2 小时前
啥是AI Agent!2025年值得推荐入坑AI Agent的五大工具框架!(新手科普篇)
人工智能·后端·程序员
星辰大海的精灵2 小时前
使用Docker和Kubernetes部署机器学习模型
人工智能·后端·架构
MikeWe2 小时前
C++宏的解析:从基础语法到实战场景
后端