zabbix 3.0微信报警配置(shell)
zabbix 3.0微信报警配置(shell)
注册企业微信
https://work.weixin.qq.com/
注册企业微信,不用认证就可以直接使用。
记录企业id--(CropID)
自定义应用
应用与小程序–创建应用。设置logo 名称等···
如上图, 有一个报警的 自建应用。
下图所示,记录 agentid secret
还有可见范围的分组id
配置微工作台
我的企业–微工作台. 配置logo 等信息
这样就个人就可以扫码关注了, 就不用非要下载使用企业微信app了。
微信关注后
钉钉报警脚本(shell)
脚本目录
脚本存放目录 /usr/local/zabbix/share/zabbix/alertscripts/
添加执行权限 chmod + weixin.sh
修改所属用户所属组 chown zabbix:zabbix weixin.sh
脚本参数修改
#!/bin/bash
###SCRIPT_NAME:weixin.sh###
###send message from weixin for zabbix monitor###
###wuhf###
###V1-2017-09-12###
CropID='XXXXXXXXXXXXXX'
Secret='XXXXXXXXXXXXXXXXXXXXXXXXX'
GURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CropID&corpsecret=$Secret"
Gtoken=$(/usr/bin/curl -s -G $GURL | awk -F\" '{print $10}')
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=1 #部门id,定义了范围,组内成员都可接收到消息
local Msg=$(echo "[email protected]" | cut -d" " -f3-) #过滤出zabbix中传递的第三个参数
printf '{\n'
printf '\t"touser": "'"$User"\"",\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
保存后, 记得加执行权限
chmod +x weixin.sh
测试脚本问题
sh weixin.sh 2 234 234234
Zabbix web端配置监控
管理–报警媒介类型–创建媒介类型
#脚本名称必须与服务器上脚本名称一致!!
脚本参数:
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
配置–动作–创建动作
默认信息
服务器:{HOST.NAME}出现故障!\n
告警主机:{HOSTNAME1}
主机地址:{HOST.IP}
告警时间:{EVENT.DATE} {EVENT.TIME}
监控项目:{ITEM.NAME}
监控取值:{ITEM.LASTVALUE}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
恢复信息
服务器:{HOST.NAME}已恢复!\n
恢复主机:{HOSTNAME1}
主机地址:{HOST.IP}
恢复时间:{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}
持续时间:{EVENT.AGE}
故障信息:{TRIGGER.NAME}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
在配置 条件, 配置 操作
保存更新配置。
切记在用户配置中, 配置报警媒介。
配置时 收件人为 部门id 本次测试中为 2。则, 收件人处写2
完成。
报警时, 关注了本企业微信应用公众号的 就可以收到报警消息。
参考;https://jingyan.baidu.com/article/5225f26b4ad810e6fb090858.html