zabbix配置短信告警

时间:2023-03-09 06:09:11
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界面 添加短信告警配置:

报警媒介类型:

zabbix配置短信告警

动作:

zabbix配置短信告警

#告警

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

#恢复

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

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

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

测试

zabbix配置短信告警

短信告警配置完成。