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 + &timestamp=16493242342424&sign=%23234fsfdgertwwrtwrtrwtwr%3D


        步骤三、Linux中添加并执行shell脚本

        1、创建脚本

touch  test.sh

        2、编写脚本

curl 'https://oapi.dingtalk.com/robot/send?access_token=XXXXXXXXXX&timestamp=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"}



        最后,钉钉通知效果:


 您阅读这篇文章共花了:

上一篇:CentOS 7 | 虚拟机httpd无法解析php代码

下一篇:没有了

本文标签:    

版权声明:本文依据CC-BY-NC-SA 3.0协议发布,若无特殊注明,本文皆为《fishyoung》原创,转载请保留文章出处。

本文链接:CentOS 7 | 运维故障钉钉告警 - http://www.fishyoung.com/post-315.html