zabbix微信告警實踐

  首先你得有個企業號!!!具體操做步驟能夠參考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

相關文章
相關標籤/搜索