您好,登錄后才能下訂單哦!
通常,在zabbix的web界面配置好之后為了能夠及時收到zabbix的報警信息,我們需要配置“報警媒介”來通知我們。其中常用的兩種報警媒介分別是:Email和SMS,即:發(fā)郵件通知和發(fā)短信通知
關(guān)于郵件通知的配置很簡單,只需要設(shè)置SMTP即可,因此這里不多說。但是zabbix默認(rèn)的短信通知可就有點坑了,“SMS”這種報警媒介要想發(fā)送短信是需要硬件支持的。與此同時,現(xiàn)在開發(fā)中為了方便一般都是將短信發(fā)送的操作封裝成接口的形式的,當(dāng)需要發(fā)短信時只需要調(diào)用該接口同時傳入收件人、短信詳情等信息就可以完成一條短信的發(fā)送了
因此,為了簡化zabbix短信通知的成本,我們可以考慮讓zabbix調(diào)用外部的腳本請求短信接口來實現(xiàn)短信發(fā)送的功能
使用一個短信接口寫一個發(fā)短信的腳本
在web界面中創(chuàng)建一個觸發(fā)器,當(dāng)問題嚴(yán)重性在“一般嚴(yán)重”及以上時執(zhí)行上面的腳本,從而觸發(fā)短信報警
(1)添加兩個腳本(PS:發(fā)送短信腳本,并且是在zabbix_server上添加):
[root@nmp01 scripts]# cd /usr/local/zabbix [root@nmp01 scripts]# cd mkdir scripts [root@nmp01 scripts]# vim /usr/local/zabbix/scripts/sendsms.py
其內(nèi)容是:
#! /usr/bin/python #coding:utf-8 URL = 'http://192.168.150.2:8075/xxxx/wmgw.asmx' import sys import urllib import urllib2 import time def sendsms(mobile,content): content = '[%s] %s' % (time.strftime('%Y%m%d %H:%M:%S'),content) data = '<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:tem="http://tempuri.org/">......<tem:pszMobis>' + mobile + '</tem:pszMobis><tem:pszMsg>' + content + '</tem:pszMsg>.......</soap:Envelope>' #body = urllib.urlencode(data) request = urllib2.Request(URL,data) urldata = urllib2.urlopen(request) #print urldata.read() if __name__ == '__main__': sendsms(sys.argv[1],sys.argv[2])
注:這個Python腳本是一個實際的短信發(fā)送接口,為了去敏感話因此在data里省略了大量的內(nèi)容。同時這個腳本需要從外部接收的參數(shù)是手機(jī)號和短信內(nèi)容
[root@nmp01 scripts]# vim /usr/local/zabbix/scripts/send.sh
其內(nèi)容是:
#!/bin/sh mobiles=(15812341204 13876541234) messages="" for i in $@; do messages=$messages$i" " done for m in ${mobiles[@]}; do ./sendsms.py $m "$messages" done
注:這個腳本主要是通過循環(huán)遍歷的形式控制到底給哪些用戶發(fā)送短信,手機(jī)號放在“mobiles”數(shù)組中。腳本通過遍歷參數(shù)當(dāng)做短信內(nèi)容,然后通過上面的sendsms.py發(fā)送短信
給腳本添加可執(zhí)行權(quán)限:
[root@nmp01 scripts]# chmod a+x /usr/local/zabbix/scripts/*
(2)配置zabbix_server的Web站點:
注:在“動作”里選擇右上角的“事件源”時需要選擇“觸發(fā)器”
在這里不選擇“發(fā)送消息”而是“執(zhí)行命令”,其命令就是執(zhí)行上面的腳本,也就是:
cd /usr/local/zabbix/scripts ./send.sh "{TRIGGER.STATUS},服務(wù)器:{HOSTNAME1}發(fā)生: {TRIGGER.NAME} 故障 "
到此zabbix短信報警的配置就全部結(jié)束了,親測可以正常收到短信,這里就不截圖了
注:此種方式下,不需要再配置“報警媒介配置”以及用戶的“報警媒介”
PS:上面圖片中的水印是我個人博客的域名,因此還請管理員手下留情不要給我標(biāo)為“轉(zhuǎn)載文章”,謝謝?。?!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。