|
这2天实现zabbix短信报警,费了很大功夫,先总结下部署过程,做个记录,希望能帮到一些朋友。
当然如果大家感觉配置麻烦可以试试OneAlert一键集成zabbix,轻松实现微信、电话、邮件、短信、APP的告警通知。地址是:http://www.onealert.com/activity/zabbix.html
1.新建Media types
2.填上发短信脚本的名称
3.注意zabbix_server.conf里面的配置,指定脚本放的位置及赋予脚本执行和属主zabbix权限。附件有脚本。
4.关联zabbix系统用户,我做的是新建用户test01,并定义告警的发送方式,通知的手机号码,定义通知的时间及事件类型等。
4.1新建用户
4.2设置用户信息
4.3设置告警通知方式,通知手机号,通知时间
4.4 定义改用户的权限
5.配置actions,当监控项的值达到设定的阀值,激活触发器,然后根据定义的action来做出告警通知。
5.1创建actions
5.2action内容
5.3action条件
5.4执行操作,定义发送方式,发给哪个用户,报警升级等等。
6.触发事件,测试能否收到告警短信。
6.1调试的时候,可修改zabbix_server.conf的debuglevel=4,重启zabbix_server使配置生效。
6.2抓取日志信息,对排错很关键。默认日志位置:/tmp/zabbix_server.log
sendsms.py
#!/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)
|
|