钉钉机器人报警markdown实现 - WGCLOUD
本文是在Linux系统用shell脚本实现WGCLOUD监控平台的钉钉机器人markdown告警,windows实现钉钉告警点击此处
1、将需要接收信息的人员拉入一个钉钉群,自己取一个高大上的群名哈,然后点击群机器人 -> 添加机器人 -> 选择自定义机器人 -> 根据提示完成机器人创建。如果需要的话,可以为机器人设置一个头像。点击“完成添加”,完成后会生成webhook地址,最后安全设置一定要选择一种,这里选择第一种自定义关键字,输入WGCLOUD即可,如下图:
2、新建/home/testmsg.sh文件,此处目录和文件名称是为测试方便,自己可以根据实际场景自定义,内容如下
#!/bin/sh content=$1 content=${content//\ /} time3=$(date "+%H:%M:%S") echo "warn content is : $content" webhook='https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' curl $webhook -H 'Content-Type: application/json' -d " { 'msgtype': 'markdown', 'markdown': {'title':'WGCLOUD报警','text':'> **WGCLOUD报警**\n\n > **时间:** $time3\n\n > **描述:** $content\n\n'}, 'at': { 'isAtAll': true } }"
记得给testmsg.sh文件添加可执行权限
chmod +x testmsg.sh
测试过程中,将xxxxxxxx替换为真实access_token。
sh /home/testmsg.sh 测试钉钉告警
3、然后在/server/config/application.yml里,修改配置项
#告警脚本文件的完整路径,注意是完整的路径,可以为空,参考:/server/template/sendMsg.sh warnScript: /home/testmsg.sh
#是否将告警内容转为unicode,yes是,no否,在windows执行告警脚本时,一般需要转码,否则接受到会是乱码
warnToUnicode: yes
注意告警脚本文件需要填写完整的路径
顺便把warnToUnicode设置yes
4、好了,重启server,这样就可以在钉钉收到告警消息了
5、如果想@手机号,markdown格式目前不支持@手机号,不过我们可以把手机号追加到告警内容后面,也可以实现同样的效果
比如
content="$content,159XXXXXXXX"