本文是在windows系统用bat批处理方式实现钉钉机器人告警,Linux系统用shell方式实现请点击此处
1.首先下载curl工具,并配置环境变量
2.将需要接收信息的人员拉入一个钉钉群,自己取一个高大上的群名哈,然后点击群机器人 -> 添加机器人 -> 选择自定义机器人 -> 根据提示完成机器人创建。如果需要的话,可以为机器人设置一个头像。点击“完成添加”,完成后会生成webhook地址,最后安全设置一定要选择一种,这里选择第一种自定义关键字,输入WGCLOUD即可,如下图:
3.新建e:/testmsg.bat文件,此处目录和文件名称是为测试方便,自己可以根据实际场景自定义,内容如下
native2ascii主要用jdk1.8自带的native2ascii做了下转码
@echo off
echo warn content is : %1
set time3="%date:~0,10% %time%"
set content="WGCLOUD:%time3%,%1"
set content=%content:"=%
echo %content% > d:/sendMsg.txt
native2ascii d:/sendMsg.txt d:/sendMsg_unicode.txt
set /p content_unicode=<d:/sendMsg_unicode.txt
echo %content_unicode%
set ding_url="https://oapi.dingtalk.com/robot/send?access_token=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
curl -H "Content-Type: application/json" -d "{'msgtype':'text','text':{'content':'%content_unicode%'},'at':{'isAtAll':true}}" -s %ding_url%
测试过程中,记得将xxxxxxxx替换为真实access_token。
e:/testmsg.bat 测试钉钉告警
其它说明,bat获取当前时间:
echo %date:~0,10% %time%
4.在/server/config/application.yml里,修改配置项
#告警脚本文件,可以为空,参考:/server/template/sendMsg.sh
warnScript: e:/testmsg.bat
5.好了,重启server,这样就可以在钉钉收到告警消息了