njsuntop 发表于 2018-1-1 06:28:13

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,
  'c':sys.argv,
  '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}
  

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

  填写完毕后,更新。
  此时,就可以删库、关机测试了。。。
页: [1]
查看完整版本: Zabbix应用七:Zabbix发送短信报警