添加钉钉机器人
首先使用电脑版操作,目前个人已知的钉钉机器人只能存在于钉钉群,钉钉群的建群需求是至少 3 人,当然,你建群之后可以把其它人请出去。
【1】首先,我们进入一个钉钉群创建我们的机器人:
【2】目前钉钉已经存在了一些项目的机器人,你可以根据自己的选,当然,我们本次就用自定义的,添加一个名为 HELLO ROBOT 机器人:
安全设置目前有3种方式:
(1)方式一,自定义关键词(最简单的方式)
最多可以设置10个关键词,消息中至少包含其中1个关键词才可以发送成功。
例如:添加了一个自定义关键词:监控报警
则这个机器人所发送的消息,必须包含 监控报警 这个词,才能发送成功。
(2)方式二,加签 (见官网)
(3)方式三,IP地址(段)
注意:安全设置的上述三种方式,需要至少设置其中一种,以进行安全保护。校验不通过的消息将会发送失败,错误如下:
// 消息内容中不包含任何关键词
{
"errcode":310000,
"errmsg":"keywords not in content"
}
// timestamp 无效
{
"errcode":310000,
"errmsg":"invalid timestamp"
}
// 签名不匹配
{
"errcode":310000,
"errmsg":"sign not match"
}
// IP地址不在白名单
{
"errcode":310000,
"errmsg":"ip X.X.X.X not in whitelist"
}
【3】 机器人添加完成,会生成一个 webhook,这是你上传数据接口,同时这个接口也代表着该机器人的身份标识,相当重要!
【4】添加完成后,机器人会在群里发送一条消息:
【5】实现告警脚本
#!/bin/bash
#script_name:alert_to_DingDing.sh
#业务告警 是安全设置中的关键词
function SendMessageToDingding(){
url="https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxxoooooooooo"
UA="Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/535.24 (KHTML, like Gecko) Chrome/19.0.1055.1 Safari/535.24"
res=`curl -XPOST -s -L -H "Content-Type:application/json" -H "charset:utf-8" $url -d "
{
\"msgtype\": \"text\",
\"text\": {
\"content\": \"业务告警\n$1\n$2\"
}
}"`
echo $res
}
subject="Test"
body="XXX业务发生异常,请及时处理"
SendMessageToDingding $subject $body
参考:
官网:https://ding-doc.dingtalk.com/doc#/serverapi2/qf2nxq
https://blog.51cto.com/weixiaoxin/1964872
https://www.cnblogs.com/Dy1an/p/9264691.html
https://www.cnblogs.com/xuliuzai/p/11469039.html