公司的zabbix監控平臺已經搭建完畢,一切都要步入正軌。今天研究的是如何經過微信來實現zabbix的監控報警功能。其實zabbix提供了多種報警方式,最經常使用的郵件報警,短信報警等。通常來講,短信報警的開支相對於其餘報警方式而言,成本會高出不少,因此大多數公司都採用的郵件報警來處理監控異常狀態。可是郵件的侷限性也是很大的,好比反饋不夠及時,好比各類反垃圾郵件設置的攔截等。而現在,微信做爲一種流行的溝通工具,不但快捷方便,也能作到及時收到信息。html
這裏主要參考了這篇博文:web
http://www.cnyunwei.com/thread-29593-1-1.html(這篇博客總體沒問題,可是腳本的代碼有點錯誤,後面我會上傳可用的腳本)api
按照步驟走,腳本以下:bash
CorpID='xxxxxxxx' #你的corpID Secret='xxxxxxxx' #你的secret GURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CorpID&corpsecret=$Secret" Gtoken=$(/usr/bin/curl -s -G $GURL | awk -F\" '{print $4}') PURL="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$Gtoken" function body() { local int AppID=1 local UserID=$1 local PartyID=1 local Msg=$(echo "$@" | cut -d" " -f3-) printf '{\n' printf '\t"touser": "'"$UserID"\"",\n" printf '\t"toparty": "'"$PartyID"\"",\n" printf '\t"msgtype": "text",\n' printf '\t"agentid": "'" $AppID "\"",\n" printf '\t"text": {\n' printf '\t\t"content": "'"$Msg"\""\n" printf '\t},\n' printf '\t"safe":"0"\n' printf '}\n' } /usr/bin/curl --data-ascii "$(body $1 $2 $3)" $PURL
將腳本保存到默認的腳本執行路徑,個人是微信
[root@zabbix alertscripts]# pwd /usr/local/zabbix/share/zabbix/alertscripts
而後給腳本添加執行權限,並設置屬主和屬組curl
[root@zabbix alertscripts]# chmod +x webchat.sh [root@zabbix alertscripts]# chown zabbix.zabbix webchat.sh [root@zabbix alertscripts]# ll webchat.sh -rwxr-xr-x. 1 zabbix zabbix 784 Apr 1 14:55 webchat.sh
記得去zabbix_server.conf中查一下,默認的報警腳本執行路徑是否啓用,若是沒有,則啓用便可ide
而後重啓zabbix服務,接下來配置觸發器和報警媒介便可,一切正常。
工具