Zabbix应用七:Zabbix发送短信报警

Zabbix利用Python脚本调用短信API发送报警信息

 

一、先贴出python脚本:

#!/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分别是通道组编号和签名编号。脚本中需要传入两个参数,分别是接收人手机号和短信内容。

脚本测试没问题后,放在zabbix安装目录的'zabbix/share/zabbix/alertscripts'目录下。

 

二、Zabbix监控页面设置

1、'管理'-'报警媒介类型'-'创建媒体类型',如下图:

写好脚本名称。

2、'管理'-'用户',点击管理员用户-'报警媒介'-'添加',填入接收信息的手机号,如图:

配置完后,更新。

3、创建触发器:

配置-动作-创建动作(事件源选触发器)-创建动作,定义短信内容如下图:

默认信息:

告警主机:{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}

然后点击'动作',配置如下:

填写完毕后,更新。

此时,就可以删库、关机测试了。。。

posted @ 2017-07-07 14:01  ahaii  阅读(2467)  评论(0编辑  收藏  举报