继添加微信告警之后,极大的方便运维人员查看告警信息。要知道,微信是可以发送图片的,如果某个监控项目发生故障,告警时顺便把近一小时的图发出来岂不是更好。
文档不再详细描述配置只对关键步骤进行说明。有些概念和内容是建立在了解zabbix和了解微信接口之上。
此次图文告警是基于微信告警之后,所以企业号的申请等配置查看http://www.jianshu.com/p/55455c43a346
服务器配置
- 1.将告警脚本weixinnew.py放入默认告警/usr/local/zabbix/share/zabbix/alertscripts/目录下。
- 2.添加执行权限 chmod +x weixinnew.py
zabbix web端配置
- 1.添加Media types
- 2.添加告警动作
Default message 使用html的编写方法(微信要求)
主机名:{HOSTNAME1}<br>
主机IP:{IPADDRESS}<br>
主机组:{TRIGGER.HOSTGROUP.NAME}<br>
告警时间:{EVENT.DATE} {EVENT.TIME}<br>
告警信息: {TRIGGER.NAME}<br>
告警项目:{TRIGGER.KEY1}<br>
问题详情:{ITEM.NAME}:{ITEM.VALUE}<br>
告警值:{TRIGGER.STATUS}:{ITEM.VALUE1}<br>
事件ID:{EVENT.ID}
脚本部分说明
1.需要填写变量
######################################
#可以访问到zabbix页面的URL
URL = 'http://**.**.**.**/zabbix/api_jsonrpc.php'
ZABBIX_URL='http://**.**.**.**/zabbix/index.php'
CHART_URL='http://**.**.**.**/zabbix/chart.php'
#登录zabbix的账号密码
USERNAME='*****'
PASSWORD='*****'
#放cookie的路径
COOKIEURL='*****/cookie'
#方式图片的路径
PIC_PATH ='/*****/image/'
#微信企业号
corpsecret ="*****"
corpid = "*****"
#配置应用id
appid='*'
######################################
2.ip 和key 是从zabbix 传来的截取的,用来获取图片
user = 'jipeng' #微信企业号账号标识
title = str(sys.argv[1]) #zabbix传过来的第一个参数-标题
content = str(sys.argv[2]) #zabbix传过来的第二个参数-内容
ip=re.findall(r"主机IP:(.+?)<br>",content)[0]#截取ip地址
key=re.findall(r"告警项目:(.+?)<br>",content)[0]#截取zabbix key