re2121 发表于 2015-1-19 08:51:19

zabbix 实战短信报警之调用短信接口

这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
    subject = sys.argv
    message = sys.argv
   
    sendsms(phone,subject,message)

yaodemeng1 发表于 2015-10-14 17:40:02

ASDFASDFASDF

yaodemeng1 发表于 2015-10-14 21:36:40

您的脚本能分享出来吗

yaodemeng1 发表于 2015-10-14 21:36:45

您的脚本能分享出来吗

hels 发表于 2015-12-10 11:34:48

{:6_439:}

cheng029 发表于 2015-12-10 13:23:14

yaodemeng1 发表于 2015-10-14 21:36
您的脚本能分享出来吗

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
    subject = sys.argv
    message = sys.argv
   
    sendsms(phone,subject,message)

这不是脚本吗?最下面

yyyangpengfei 发表于 2016-1-28 13:23:41

没有看到附件呀!!!

nvchaoren 发表于 2016-2-26 15:44:16

OneAlert集成zabbix,五分钟实现告警集成,无需自建服务器,即可接收短信、微信、电话、邮件、App的告警!
http://www.onealert.com/activity/zabbix.html

crazytroy 发表于 2016-4-5 09:51:09

谢谢楼主的分享

luojing 发表于 2016-4-5 16:28:45

请问post_url = 'http://sdk4report.eucp.b2m.cn:8080/sdkproxy/sendsms.action'里面填的是什么信息呢?

muyunshangyu 发表于 2016-5-27 17:50:21

请问 用的什么短信猫?
页: [1]
查看完整版本: zabbix 实战短信报警之调用短信接口