1. 程式人生 > >配置zabbix通過微信報警企業微信報警

配置zabbix通過微信報警企業微信報警

退出 錯誤代碼 都是 告警 引用 CP https too 可謂

如今勢態:

報警的方式可謂是八仙過海各顯神通,如電話報警,短信報警,郵件報警,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通過微信報警企業微信報警