zabbix配置短信告警

zabbix版本:3.0.7 短信服务商:云片网

首先在云片网添加相应签名和模板

参照格式

签名:xxx告警

模板: 【xxx告警】故障:#status# 服务器:#host# 发生:#triggername# 状态值:#value# 时间:#time#!    #告警模板

          【xxx告警】恢复:#status# 服务器:#host# 发生:#triggername# 状态值:#value# 时间:#time#!    #恢复模板

在zabbix AlertScriptsPath 路径中添加脚本

duanxin.py

#!/usr/bin/python
#-*- coding:utf-8 -*-
# apikey:成功注册后登录云片官网,进入后台可查看
# text:需要使用已审核通过的模板或者默认模板
# mobile:接收的手机号,仅支持单号码发送
import os,sys,time
import urllib,urllib2,httplib
def send_sms(apikey, text, mobile):
     #服务地址
     sms_host = "sms.yunpian.com"
     #端口号
     port = 443
     #版本号
     version = "v2"
     #智能匹配模板短信接口的URI
     sms_send_uri = "/" + version + "/sms/single_send.json"
     #sms_send_uri = "/" + version + "/sms/batch_send.json"
     params = urllib.urlencode({'apikey': apikey, 'text': text, 'mobile':mobile})
     headers = {"Content-type": "application/x-www-form-urlencoded", "Accept": "text/plain"}
     conn = httplib.HTTPSConnection(sms_host, port=port, timeout=30)
     conn.request("POST", sms_send_uri, params, headers)
     response = conn.getresponse()
     response_str = response.read()
     conn.close()
     return response_str
if __name__=='__main__':
    apikey='xxxxxxx' #修改成自己的apikey
    mobile = sys.argv[1]
    message = sys.argv[2]
    send_sms(apikey,message,mobile)

在zabbix web界面 添加短信告警配置:

报警媒介类型:

 

动作:

 

#告警

【xxx告警】故障:{TRIGGER.STATUS} 服务器:{HOSTNAME1} 发生:{TRIGGER.NAME} 状态值:{ITEM.VALUE1} 时间: {EVENT.DATE} {EVENT.TIME}!

#恢复

【xxx告警】恢复:{TRIGGER.STATUS} 服务器:{HOSTNAME1} 发生:{TRIGGER.NAME} 状态值:{ITEM.VALUE1} 时间: {EVENT.DATE} {EVENT.TIME}!

 

操作中配置相应用户接受短信告警。

 

用户:添加短信报警媒介和手机号

 

测试

短信告警配置完成。

posted @ 2018-09-29 16:03  imcati  阅读(630)  评论(0编辑  收藏  举报