CentOS 7 | 运维故障钉钉告警
首先参考钉钉官方文档:自定义机器人接入 - 钉钉开放平台 (dingtalk.com)
步骤一、获取钉钉自定义机器人Webhook
1.选择要添加机器人的群聊,然后单击群设置>智能群助手。
2.选择自定义机器人,输入机器人名字,并选择要发送消息的群。
3.完成必要的安全设置,此处选择“加签”。
4.完成安全设置后,复制机器人的Webhook地址。
步骤二、拼装可用的推送链接
参考钉钉官方文档:钉钉开放文档 (dingtalk.com)
可见,可用链接分为:webhook、timestamp、sign,webhook在创建时已经有了,接下来需要获取timestamp、sign。
官网同样给了timestamp、sign的获取办法,使用官网的python脚本来获取这两个参数。
将以下脚本内容放入python文件中,然后开始执行
#python 3.8
import time
import hmac
import hashlib
import base64
import urllib.parse
timestamp = str(round(time.time() * 1000))
secret = '在这里填写【加签】信息'
secret_enc = secret.encode('utf-8')
string_to_sign = '{}\n{}'.format(timestamp, secret)
string_to_sign_enc = string_to_sign.encode('utf-8')
hmac_code = hmac.new(secret_enc, string_to_sign_enc, digestmod=hashlib.sha256).digest()
sign = urllib.parse.quote_plus(base64.b64encode(hmac_code))
print(timestamp)
print(sign)
【加签】获取方法(创建通知机器人的时候就已经生成了,可以随时打开机器人详情查看)
脚本生成结果
16493242342424 //第一行是时间戳,类似的数字,此处是乱写的。
%23234fsfdgertwwrtwrtrwtwr%3D //第二行是sign参数,也是乱写的。
【组合地址】(这是举例,请按照自己获取的实际timestamp、sign参数设置)
webhook + ×tamp=16493242342424&sign=%23234fsfdgertwwrtwrtrwtwr%3D
步骤三、Linux中添加并执行shell脚本
1、创建脚本
touch test.sh
2、编写脚本
curl 'https://oapi.dingtalk.com/robot/send?access_token=XXXXXXXXXX×tamp=YYYYYYY&sign=ZZZZZZZZ' \
-H 'Content-Type: application/json' \
-d '{
"at": {
"atMobiles":[
"180XXXXXXX"
],
"atUserIds":[
"user123"
],
"isAtAll": false
},
"text": {
"content":"我就是我,@XXX 是不一样的烟火"
},
"msgtype":"text"
}'
3、执行shell脚本
sh test
{"errcode":0,"errmsg":"ok"}
最后,钉钉通知效果:
您阅读这篇文章共花了: