您好,登錄后才能下訂單哦!
通常,在zabbix的web界面配置好之后為了能夠及時收到zabbix的報警信息,我們需要配置“報警媒介”來通知我們。其中常用的兩種報警媒介分別是:Email和SMS,即:發郵件通知和發短信通知
關于郵件通知的配置很簡單,只需要設置SMTP即可,因此這里不多說。但是zabbix默認的短信通知可就有點坑了,“SMS”這種報警媒介要想發送短信是需要硬件支持的。與此同時,現在開發中為了方便一般都是將短信發送的操作封裝成接口的形式的,當需要發短信時只需要調用該接口同時傳入收件人、短信詳情等信息就可以完成一條短信的發送了
因此,為了簡化zabbix短信通知的成本,我們可以考慮讓zabbix調用外部的腳本請求短信接口來實現短信發送的功能
使用一個短信接口寫一個發短信的腳本
在web界面中創建一個觸發器,當問題嚴重性在“一般嚴重”及以上時執行上面的腳本,從而觸發短信報警
(1)添加兩個腳本(PS:發送短信腳本,并且是在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
其內容是:
#! /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腳本是一個實際的短信發送接口,為了去敏感話因此在data里省略了大量的內容。同時這個腳本需要從外部接收的參數是手機號和短信內容
[root@nmp01 scripts]# vim /usr/local/zabbix/scripts/send.sh
其內容是:
#!/bin/sh mobiles=(15812341204 13876541234) messages="" for i in $@; do messages=$messages$i" " done for m in ${mobiles[@]}; do ./sendsms.py $m "$messages" done
注:這個腳本主要是通過循環遍歷的形式控制到底給哪些用戶發送短信,手機號放在“mobiles”數組中。腳本通過遍歷參數當做短信內容,然后通過上面的sendsms.py發送短信
給腳本添加可執行權限:
[root@nmp01 scripts]# chmod a+x /usr/local/zabbix/scripts/*
(2)配置zabbix_server的Web站點:
注:在“動作”里選擇右上角的“事件源”時需要選擇“觸發器”
在這里不選擇“發送消息”而是“執行命令”,其命令就是執行上面的腳本,也就是:
cd /usr/local/zabbix/scripts ./send.sh "{TRIGGER.STATUS},服務器:{HOSTNAME1}發生: {TRIGGER.NAME} 故障 "
到此zabbix短信報警的配置就全部結束了,親測可以正常收到短信,這里就不截圖了
注:此種方式下,不需要再配置“報警媒介配置”以及用戶的“報警媒介”
PS:上面圖片中的水印是我個人博客的域名,因此還請管理員手下留情不要給我標為“轉載文章”,謝謝!!!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。