首先你得有個企業號!!!具體操做步驟能夠參考http://itnihao.blog.51cto.com/1741976/1733245,裏面寫的很詳細就不重複了。php
微信公衆號註冊並配置完成後,還須要讓zabbix經過腳本實現微信告警,如下爲本人使用的微信告警腳本api
1 [root@alertscripts]# cat weixin.sh 2 #!/bin/bash 3 #可在微信公衆號的設置菜單 => 權限管理 => 選擇發送告警信息的管理組便可看到CropID和Secret信息 4 CropID="XXXXX" 5 Secret="XXXXX" 6 GURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CropID&corpsecret=$Secret" #微信公衆號接口 7 Gtoken=$(/usr/bin/curl -s -G $GURL | /bin/awk -F\" '{print $4}') #根據填寫的CropID和Secret獲取發送信息的管理組的token 8 PURL="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$Gtoken" #接收告警信息的微信接口 9 UserID1="@all" #接收人ID,在微信公衆號添加成員時本身填寫的帳號,建議以公司工號+姓名首字母組成 10 Msg=$3 #zabbix傳過來的告警信息正文 11 12 function body(){ 13 local int AppID=1 #應用ID,即你建立的用來發送信息的應用,在應用中心 => 個人應用裏能夠找到 14 local UserID=$UserID1 #接收人ID,填寫@all表示發給全部關注該公衆號的用戶 15 local PartyID=1 #部門ID 16 local Totag="@all" #標籤ID 17 printf '{\n' 18 printf '\t"touser": "'"$UserID"\"",\n" 19 printf '\t"toparty": "'"$PartyID"\"",\n" 20 printf '\t"totag": "'"Totag"\"",\n" 21 printf '\t"msgtype": "text",\n' 22 printf '\t"agentid": "'" $AppID "\"",\n" 23 printf '\t"text": {\n' 24 printf '\t\t"content": "'"$Msg"\""\n" 25 printf '\t},\n' 26 printf '\t"safe":"0"\n' 27 printf '}\n' 28 } 29 30 /usr/bin/curl --data-ascii "$(body)" $PURL #發送告警信息
把該腳本放到放在zabbix服務端相關目錄下,筆者這裏是/usr/local/share/zabbix/alertscriptsbash
1 [root@alertscripts]# chmod +x weixin.sh #賦予執行權限 2 [root@alertscripts]# sh weixin.sh d d 測試 #若是微信接收到「測試」消息就算是成功了 3 {"errcode":0,"errmsg":"ok","invalidtag":"all tag invalid"}
而後是配置zabbix服務器
一、建立告警內容微信
如下是筆者定製的告警內容,可供參考運維
警告:服務器 {HOSTNAME1} 出現異常 {TRIGGER.NAME} 告警時間:{EVENT.DATE} {EVENT.TIME} 告警等級:{TRIGGER.SEVERITY} 告警信息:{TRIGGER.NAME} 告警項目:{TRIGGER.KEY1} 問題詳情:監控到{ITEM.NAME}爲 :{ITEM.VALUE} 當前狀態:異常 事件ID:{EVENT.ID} 請及時登陸運維平臺http://192.168.1.8:8888/dashboard.php進行處理! 特別聲明:本郵件爲系統告警程序自動發送,請勿回覆!若有問題,請及時聯繫運維人員
二、添加微信到告警媒介curl
三、關聯用戶,這裏接收人隨便填,由於接收人已經在微信裏配置好了,腳本也不接收該參數但這是必填項,因此這裏填什麼均可以測試
以後能夠改一下觸發器的閥值,測試微信的告警功能url