zabbix利用微信企业号实现报警功能
注册微信企业账号比较简单,不进行讲解1,通讯录添加企业成员我们要提前把成员信息添加进组织部门,必填项+手机号或者微信号,这样别人扫描二维码的时候才能成功关注企业号。注意:这里要记住一个值,部门ID2,应用中心创建应用我们要在这里创建应用,因为要通过应用发送消息给部门成员.注意:这里要记住一个值,应用ID
3,给部门设置管理员设置--->功能设置---->权限管理---->新建管理组
管理员必须事先已经关注了企业号注意:管理组权限设置很重要,不设置后面会出问题!
4,微信企业号信息统计我们要准备这些东西:
[*]一个微信企业号
[*]企业号已经被部门成员关注
[*]企业号里有一个可以发消息的应用
[*]一个授权管理员,可以使用该应用给成员发消息
我们要取到这些信息:
[*]成员账号
[*]组织部门ID
[*]应用ID
[*]CropID
[*]Secret
5,shell脚本
#!/bin/bash
CropID='XXXXXXXX'
Secret='XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
GURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CropID&corpsecret=$Secret"
Gtoken=$(/usr/bin/curl -s -G $GURL | awk -F\" '{print $4}')
PURL="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$Gtoken"
function body() {
local int AppID=1 企业号中的应用id
local UserID=$1 部门成员id,zabbix中定义的微信接收者
local PartyID=2 部门id,定义了范围,组内成员都可接收到消息
local Msg=$(echo "$@" | cut -d" " -f3-) 过滤出zabbix中传递的第三个参数
printf '{\n'
printf '\t"touser": "'"$UserID"\"",\n"
printf '\t"toparty": "'"$PartyID"\"",\n"
printf '\t"msgtype": "text",\n'
printf '\t"agentid": "'" $AppID "\"",\n"
printf '\t"text": {\n'
printf '\t\t"content": "'"$Msg"\""\n"
printf '\t},\n'
printf '\t"safe":"0"\n'
printf '}\n'
}
/usr/bin/curl --data-ascii "$(body $1 $2 $3)" $PURL
6,shell脚本放到位置将脚本放入zabbix默认Alert Script执行路径下chown zabbix.zabbix /usr/local/zabbix/share/zabbix/alertscripts/sendwechant.sh
chmod +x /usr/local/zabbix/share/zabbix/alertscripts/sendwechant.sh测试脚本是否正确
7,Zabbix服务器设置创建媒介
8,创建用户并关联媒介
9,创建触发器动作发送内容
10,测试微信及邮件是否可以收到报警
页:
[1]