项目搭建(五)Linux脚本发送通知到钉钉/企业微信

一、Linux发送通知到企业微信

1.使用企业微信创建一个群通知机器人

在这里插入图片描述
完成创建后就可以看到推送链接Webhook了
在这里插入图片描述

2.Linux中添加消息推送脚本

创建脚本,并赋权限

mkdir testpush.sh
chmod +x testpush.sh
vim testpush.sh

这是我的脚本,使用的时候需要注意两件事:
①上面获取的webhook地址写到curl后面
②text内容需要你自己自定义编辑

curl 'webhook地址' \
-H 'Content-Type: application/json' \
-d '
{
    "msgtype": "text",
    "text": {
    "content": "这是一条通知消息,哈哈哈哈哈哈哈。\n
     > 影响范围:http://10.241.110.19:8189/
     > 状态:预计耗时3分钟,影响查询"
    }
}'

3.执行推送脚本

执行脚本

sh testpush.sh

执行结果

[root@Temp APM]# sh testpush.sh
{"errcode":0,"errmsg":"ok. Warning: wrong json format. "}

企业微信通知效果
在这里插入图片描述


二、Linux发送通知到钉钉

钉钉相较于企业微信会麻烦一点,多了一个【加签】,我们需要使用加签来完善Webhook
(一开始给的webhook是不能直接使用的,会报错"errcode":310000,“errmsg”:“sign not match”)

1.使用钉钉创建一个群通知机器人

创建机器人路径:先打开一个群,然后按照以下路径完成添加:
群设置—>智能群助手—>添加机器人—>自定义机器人—>添加
在这里插入图片描述
在这里插入图片描述
至此完成了通知机器人的创建

2.拼装可用的推送链接

首先,明确可用链接是什么样子的,官网给出答案如下:
点击查看官网文档
在这里插入图片描述
可见,可用链接分为: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)

【加签】获取方法(创建通知机器人的时候就已经生成了,可以随时打开机器人详情查看)
在这里插入图片描述

脚本生成结果

H:\APM_UI\venv\Scripts\python.exe H:/APM_日常脚本/Scripts/草稿纸.py
1649753175860
%2BU%2FTtbooGdKn1rHLW84c7ey7wGRJHpCx0Y1%2FuI5IDqc%3D

Process finished with exit code 0

组合地址】(这是我的举例,大家按照自己获取的timestamp、sign参数设置)

webhook地址&timestamp=1649753175860&sign=%2BU%2FTtbooGdKn1rHLW84c7ey7wGRJHpCx0Y1%2FuI5IDqc%3D

3.Linux中添加推送脚本

创建脚本,并赋权限

mkdir testpush.sh
chmod +x testpush.sh
vim testpush.sh

这是我的脚本,使用的时候需要注意两件事:
①上面获取的【webhook+timestamp+sign】组合地址写到curl后面
②text内容需要你自己自定义编辑

	curl '【webhook+timestamp+sign】组合地址'\  
	#组合地址填写格式 https://oapi.dingtalk.com/robot/send?access_token=XXXXXX&timestamp=XXX&sign=XXX
    -H 'Content-Type: application/json' \
    -d '
    {
        "msgtype": "text",
        "text": {
            "content": "测测测测测测测测测ttttttttttttttttttttttt。\n
         > 影响范围:http://http://10.241.199.99:9999/
         > 状态:已恢复"
        }
    }'

4.执行推送脚本

执行脚本

sh testpush.sh

执行结果

[root@Temp APM]# sh testpush.sh
{"errcode":0,"errmsg":"ok"}

钉钉通知效果
在这里插入图片描述


评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值