zabbix 监控使用腾讯云短信通知
1,首先搭建好自己的zabbix服务,有自己的腾讯云账号,开通了短信服务
2,查看腾云的短信api文档,在这我使用的python的api接口文档
https://cloud.tencent.com/document/product/382/11672
3,编写短信模板,请记住,短信的签名跟短信模板名称一致。
4,编写python脚本
脚本放在zabbix server的配置文件的脚本存放的地方 /usr/lib/zabbix/alterscripts下
#!/usr/bin/env python
#coding:utf-8
#告警信息
from qcloudsms_py import SmsSingleSender
from qcloudsms_py.httpclient import HTTPError
import sys
import json
appid = 1400037259 短信的appid
appkey = "f8e72c4b6f334676f53c4d0270f69693" 短信的key
#告警信息模版ID
template_id = 187406
sms_sign = "阿拉丁科技告警" 短信模板的名称
phone_number = ["手机号"]
#phone_number = [sys.argv[2]]
#msender = SmsMultiSender(appid, appkey)
ssender = SmsSingleSender(appid, appkey)
list1=[sys.argv[1]]
#print list1
result = ''
list2=list1.pop()
list4=list2.strip(';').split(';')
params = []
for i in list4:
j=i.strip(':').split(':',1)
new_list=j
params.append(str(j[1]))
try:
for i in phone_number:
result = ssender.send_with_param(86,i,template_id,params,sign=sms_sign,extend="", ext="")
print(result)
except HTTPError as e:
print(e)
except Exception as e:
print(e)
#print(result)
5,zabbix的动作,告警媒介,
故障: {TRIGGER.STATUS};服务器:{HOST.NAME};发生故障:{TIRGGER.NAME}
告警主机:{HOST.NAME};
告警日期:{EVENT.DATE};
告警时间:{EVENT.TIME};
告警等级:{TRIGGER.SEVERITY};
告警信息:{TRIGGER.NAME};
告警项目:{TRIGGER.KEY1};
问题详情:{ITEM.NAME};
item值:{ITEM.VALUE};
当前状态:{TRIGGER.STATUS};
事件ID:{EVENT.ID}
故障: {TRIGGER.STATUS};服务器:{HOST.NAME};发生故障:{TIRGGER.NAME}
告警主机:{HOST.NAME};
告警日期:{EVENT.DATE};
告警时间:{EVENT.TIME};
告警等级:{TRIGGER.SEVERITY};
告警信息:{TRIGGER.NAME};
告警项目:{TRIGGER.KEY1};
问题详情:{ITEM.NAME};
item值:{ITEM.VALUE};
当前状态:{TRIGGER.STATUS};
事件ID:{EVENT.ID}
6,短信接受