Zabbix利用Python脚本调用短信API发送报警信息python
1、先贴出python脚本:api
#!/usr/bin/python # _*_ coding:utf8 _*_ import sys import urllib import urllib2 def sendMsg(): url='http://smsapi.c123.cn/OpenPlatform/OpenApi?action=sendOnce' data=urllib.urlencode({ 'ac':'***', 'authkey':'***', 'm':sys.argv[1], 'c':sys.argv[2], 'cgid':'***', 'csid':'***'}) req=urllib2.Request(url,data) res=urllib2.urlopen(req) print res.read() sendMsg()
对,就这么几行,该脚本主要urllib2模块给url传递参数。测试
其中,ac、authkey为调用短信API认证信息,cgid和csid分别是通道组编号和签名编号。脚本中须要传入两个参数,分别是接收人手机号和短信内容。url
脚本测试没问题后,放在zabbix安装目录的'zabbix/share/zabbix/alertscripts'目录下。spa
2、Zabbix监控页面设置code
一、'管理'-'报警媒介类型'-'建立媒体类型',以下图:orm
写好脚本名称。blog
二、'管理'-'用户',点击管理员用户-'报警媒介'-'添加',填入接收信息的手机号,如图:事件
配置完后,更新。ip
三、建立触发器:
配置-动做-建立动做(事件源选触发器)-建立动做,定义短信内容以下图:
默认信息:
告警主机:{HOSTNAME1}<br /> 告警时间:{EVENT.DATE} {EVENT.TIME}<br /> 告警等级:{TRIGGER.SEVERITY}<br /> 告警信息: {TRIGGER.NAME}<br /> 告警项目:{TRIGGER.KEY1}<br /> 问题详情:{ITEM.NAME}:{ITEM.VALUE}<br /> 当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}<br /> 事件ID:{EVENT.ID}<br />
恢复信息:
告警主机:{HOSTNAME1}<br /> 告警时间:{EVENT.DATE} {EVENT.TIME}<br /> 告警等级:{TRIGGER.SEVERITY}<br /> 告警信息: {TRIGGER.NAME}<br /> 告警项目:{TRIGGER.KEY1}<br /> 问题详情:{ITEM.NAME}:{ITEM.VALUE}<br /> 当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}<br /> 事件ID:{EVENT.ID}
而后点击'动做',配置以下:
填写完毕后,更新。
此时,就能够删库、关机测试了。。。