企微告警代码
因为server端不能联网,所以需要squid代理
网络要求:
server端能够访问squid代理服务的3128端口,单向即可。
squid代理能够访问外网企微。
在下述代码中涉及curl的位置加上参数 -x? ?ip:port? 指定代理即可。
#!/bin/bash
#
CorpID="ww537eed578cbd61bfb1" #我的企业下面的CorpID
Secret="urGuMdY8lvn9xATfvdZdJ6tmnkxsL7X0FpMDljN2220Gg" #创建的应用那有Secret
GURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CorpID&corpsecret=$Secret"
Token=$(/usr/bin/curl -x 192.168.111.22:3128 -s -G $GURL |awk -F\": '{print $4}'|awk -F\" '{print $2}')
#echo $Token
PURL="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$Token"
function body(){
local int agentid=1000002 #改为AgentId 在创建的应用那里看
local UserID=$XuFeiFei #发送的用户位于$1的字符串
local PartyID=1 #第一步看的通讯录中的部门ID
local Msg=$(echo "$@" | cut -d" " -f3-)
printf '{\n'
printf '\t"touser": "'"$UserID"\"",\n"
printf '\t"toparty": "'"$PartyID"\"",\n"
printf '\t"msgtype": "text",\n'
printf '\t"agentid": "'"$agentid"\"",\n"
printf '\t"text": {\n'
printf '\t\t"content": "'"$Msg"\""\n"
printf '\t},\n'
printf '\t"safe":"0"\n'
printf '}\n'
}
/usr/bin/curl -x 192.168.111.22:3128 --data-ascii "$(body $1 $2 $3)" $PURL
zabbix脚本位置:/usr/lib/zabbix/alertscripts
squid代理服务器,yum直接安装,默认配置即可(默认只代理https),开启服务。
systemctl restart squid
?告警脚本下载地址: (2条消息) zabbix企微告警脚本-IT管理文档类资源-CSDN文库
|