配置zabbix通過微信報警企業微信報警
如今勢態:
報警的方式可謂是八仙過海各顯神通,如電話報警,短信報警,郵件報警,QQ報警,微信報警等等。
電話報警:一般都是使用別的平臺的工具,平臺給你提供一個接口供你使用,大多數為限量收費款
短信報警:一般是服務器安裝串口GSM短信貓(也有其他平臺提供這種接口),zabbix可以使用他來發送短信通知給管理員
郵件報警:一般是在server端安裝郵件的客戶端如sendEmail等,寫腳本給zabbix進行調用,觸發後發郵件給管理員
Q Q 報警:一般使用Mojo-Webqq的perl模板和cpanm包管理工具,然後登錄webQQ.給zabbix進行調用
微信報警:一般就是使用微信企業號進行操作的,也有的是直接用python調用微信接口進行報警
經過辯論決定使用郵件和微信報警兩種方式,
電話報警太吵,半夜打電話只為網絡抖動,很是頭疼呢
短信報警的方式不太在意(一般我的短信裏都是會員了,打折了。。根本不看)
工作中最長使用的就是微信了,普及,開源,而且免費!!!
QQ和郵件報警如果有需要的在文章末尾評論下,我再給寫,今天先出微信報警
如果你現在沒有企業微信的話,可以申請一個微信企業號
微信企業號可能是團隊式的不是公司式的,操作可能不太一樣,但大體一致
企業號的申請和配置方法可參考:http://blog.51cto.com/wuhf2015/1688614
本文配置步驟:
https://work.weixin.qq.com/api/doc#10013
第一個要記錄的值:部門ID:35
選擇企業應用
選擇創建應用
自定義填
創建應用後退出,點擊剛才創建的應用進入
記錄下這兩個值:AgentId、Secret
然後選擇企業
記錄值:CorpId
可以使用企業微信的API接口測試一下
http://work.weixin.qq.com/api/devtools/devtool.php
返回值如下即為OK,可以寫腳本引用
若返回錯誤代碼請參考
https://work.weixin.qq.com/api/doc
https://work.weixin.qq.com/api/doc#10649
寫腳本:
[root@check1 alertscripts]# pwd /usr/local/zabbix/share/zabbix/alertscripts [root@check1 alertscripts]# vim wechat.sh #!/bin/bash #set -x #運維工程師 王初一 CorpID="********" #我的企業下面的CorpID Secret="***************" #創建的應用那有Secret GURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CorpID&corpsecret=$Secret" Token=$(/usr/bin/curl -s -G $GURL |awk -F\": ‘{print $4}‘|awk -F\" ‘{print $2}‘) #echo $Token PURL="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$Token" function body(){ local int agentid=1000066 #改為AgentId 在創建的應用那裏看 local UserID=$1 #發送的用戶位於$1的字符串 local PartyID=35 #第一步看的通訊錄中的部門ID 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": "‘"$agentid"\"",\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@check1 alertscripts]# grep alertscripts /etc/zabbix/zabbix_server.conf AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts
告警測試:
[root@check1 alertscripts]# bash wechat.sh WangJinLong 告警測試 註意這是一條告警測試信息 {"errcode":0,"errmsg":"ok","invaliduser":""}
測試沒有問題,開始配置zabbix
選擇創建用戶
添加報警媒介
權限可以看情況分配,我這自己用可以給大一點
選擇報警媒介類型
創建媒體類型 別忘點“更新”
選擇配置-動作
創建動作
默認接收人:
故障:{TRIGGER.STATUS},服務器:{HOSTNAME1}發生:{TRIGGER.NAME}故障!
默認信息:
告警時間:{EVENT.DATE} {EVENT.TIME} 告警等級:{TRIGGER.SEVERITY} 告警信息:{TRIGGER.NAME} 告警項目:{TRIGGER.KEY1} 問題詳情:{ITEM.NAME}:{ITEM.VALUE} 當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1} 事件標識:{EVENT.ID}
Recovery operations
默認接收人:
恢復:{TRIGGER.STATUS}, 服務器:{HOSTNAME1}:{TRIGGER.NAME}已恢復!
默認信息:
告警主機:{HOSTNAME1} 告警時間:{EVENT.DATE} {EVENT.TIME} 告警等級:{TRIGGER.SEVERITY} 告警信息:{TRIGGER.NAME} 告警項目:{TRIGGER.KEY1} 問題詳情:{ITEM.NAME}:{ITEM.VALUE} 當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1} 事件ID:{EVENT.ID}
將zabbix_server的agent關閉看是否報警,然後再啟動看是否有恢復通知
配置zabbix通過微信報警企業微信報警