zabbix 监控使用腾讯云短信通知

1,首先搭建好自己的zabbix服务,有自己的腾讯云账号,开通了短信服务

 

zabbix 监控使用腾讯云短信通知

zabbix 监控使用腾讯云短信通知

 

2,查看腾云的短信api文档,在这我使用的python的api接口文档

     https://cloud.tencent.com/document/product/382/11672  

 

3,编写短信模板,请记住,短信的签名跟短信模板名称一致。

zabbix 监控使用腾讯云短信通知

 

zabbix 监控使用腾讯云短信通知

 

zabbix 监控使用腾讯云短信通知

 

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的动作,告警媒介,

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}

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}

zabbix 监控使用腾讯云短信通知

6,短信接受

zabbix 监控使用腾讯云短信通知