1.0 新建Media types
1.1
1.2 注意zabbix_server.conf里面的配置,指定脚本放的位置及赋予脚本执行和属主zabbix权限。附件有脚本。
### Option: AlertScriptsPath # Full path to location of custom alert scripts. # Default depends on compilation options. # # Mandatory: no # Default: # AlertScriptsPath=${datadir}/zabbix/alertscripts AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts
1.3 关联zabbix系统用户,我做的是新建用户test01,并定义告警的发送方式,通知的手机号码,定义通知的时间及事件类型等。
1.4 设置告警通知方式,通知手机号,通知时间
1.5 定义改用户的权限
1.6 创建,配置actions,当监控项的值达到设定的阀值,激活触发器,然后根据定义的action来做出告警通知。
1.7 Action条件
1.8执行操作,定义发送方式,发给哪个用户,报警升级等等。
6.触发事件,测试能否收到告警短信。
6.1调试的时候,可修改zabbix_server.conf的debuglevel=4,重启zabbix_server使配置生效。
6.2抓取日志信息,对排错很关键。默认日志位置:/tmp/zabbix_server.log
脚本内容:
#!/usr/bin/env python # coding: utf-8 import sys import urllib import urllib2 """ 使用八优短信平台进行短信报警 接收参数输入 参数一:接收手机号(zabbix传来的第1个参数,报警接收手机号) 参数二:短信主题(zabbix传来的第2个参数,报警主题) 参数三:短信内容(zabbix传来的第3个参数,报警内容) 手动调试方法 python sendsms.py *********** "报警测试" """ def sendsms(phone,subject,message): """ 发送短信 """ cdkey = '***********' password = '******' values = {'cdkey':cdkey, 'password':password, 'phone':phone, 'message':message} data = urllib.urlencode(values) post_url = 'http://sdk4report.eucp.b2m.cn:8080/sdkproxy/sendsms.action' try: conn = urllib2.urlopen(post_url,data) print conn.read() except Exception , e: print e if __name__ == '__main__': phone = sys.argv[1] subject = sys.argv[2] message = sys.argv[3] sendsms(phone,subject,message)
本文转自:http://hanyun.blog.51cto.com/1060170/1604918
转载于:https://blog.51cto.com/kaibinyuan/1606627