zabbix 5.2 配置短信告警
其实吧,zabbix的任何一种告警配置都需要借助第三方平台,无论是微信告警,企业微信告警,企业微信monitor告警,邮件告警,电话告警都需要借助第三方平台,短信告警也不例外,需要短信云服务提供商。以上zabbix告警除了短信告警之外,其余皆配置成功了。
今天,来配置zabbix 5.2-短信告警
短信服务商----云片网,也不一定要云片网,也可以阿里云,腾讯云或者其它什么云,只要能提供短信云服务,并且开放相应的接口就行
然后注册账号,登录进去后需要完成开发者信息认证
开发者类型最好是公司,可以选择的服务比较多
参照格式
签名:xxx告警
模板: 【xxx告警】故障:#status# 服务器:#host# 发生:#triggername# 状态值:#value# 时间:#time#! #告警模板
【xxx告警】恢复:#status# 服务器:#host# 发生:#triggername# 状态值:#value# 时间:#time#! #恢复模板
签名提交后需要通过审核,审核完成后需要在这里查看
接着脚本
这是网上流行的脚本,但是请注意!新版本的centos8默认自带的python是3.6版本
所以原先那些2.0的python脚本,需要把一些系统库和语句重新改,直到测试通过
#!/usr/bin/python
#-*- coding:utf-8 -*-
# apikey:成功注册后登录云片官网,进入后台可查看
# text:需要使用已审核通过的模板或者默认模板
# mobile:接收的手机号,仅支持单号码发送
import os,sys,time
import urllib,urllib2,httplib
defsend_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()
returnresponse_str
if__name__=='__main__':
apikey='xxxxxxx' #修改成自己的apikey
mobile = sys.argv[1]
message = sys.argv[2]
send_sms(apikey,message,mobile)
接着在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}!
在用户哪里添加告警发送方式
创建触发action
接下来就是调试模拟了。自己动手做吧。