zabbix 企业微信公众号实现微信报警


主要流程如下:

  • 创建微信用户成员。
  • 创建应用,这是关键,如果是刚申请的公众号,创建的第一个应用ID 为1 (现在升级后的企业微信创建的应用ID为1000002)
  • 创建应用管理组,添加组成员(也就是设置哪些用户可以接收到报警的通知信息)
  • 创建成功后需要获取到以下信息:CropID  和Secret 当然还包括创建的用户信息。  

 

 

申请企业微信,创建对应的组成员这些就不介绍了,按照注册向导创建即可,主要写下创建应用获取应用Secret 和CorpID

 

Zabbix 脚本创建

root@evescn:~# cat /etc/zabbix/alertscripts/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 "$@" | 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

 

 

设置监控动作和接收用户信息

 

配置动作 默认信息配置

服务器:{HOST.NAME}出现故障!

服务器:{HOST.NAME}出现故障!\n
告警主机:{HOSTNAME1}
主机地址:{HOST.IP}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警信息:{TRIGGER.NAME}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}

 

服务器:{HOST.NAME}已恢复!

服务器:{HOST.NAME}已恢复!\n
恢复主机:{HOSTNAME1}
主机地址:{HOST.IP}
恢复时间:{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}
故障信息:{TRIGGER.NAME}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}

 

参考链接 https://www.cnblogs.com/python-gm/p/7510163.html          https://jingyan.baidu.com/article/5225f26b4ad810e6fb090858.html


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM