zabbix之告警雜談(釘釘告警)
之前公司zabbix一直使用的是微信企業號告警,有時候介面不穩定,報錯時而不正常。便在網上查詢釘釘企業號告警的配置內容。
與微信告警機制類似,先註冊一個企業號,企業號提供一個介面,zabbix通過介面將告警資訊傳送至json格式文字訊息到微信或釘釘
釘釘指令碼及方法提供的大神地址:https://www.qiansw.com/golang-zabbix-alter-to-dingding.html
一、.註冊釘釘企業號,並找到傳送資訊最重要的三個引數CorpID、CorpSecret、AgentID
1.註冊釘釘企業號:(目前只在釘釘app上找到新增入口),在釘釘app上——找到“聯絡人”——右上角“新增”——“建立團隊”填寫相應內容,團隊人員不可低於6人
2.檢視CorpID、CorpSecret:在釘釘電腦版上,左下角“管理”登入管理平臺
輸入管理密碼:
在“企業應用”——“工作臺設定”中可以檢視CorpID和CorpSecret
3.新增微應用,成功後可檢視agentid
企業應用——應用管理——自建應用——提交,提交後,進入該應用的設定,可檢視agentid
**************************************************************************************************************************************************
二、在大神的網址中找到的外掛檔案,安裝,並測試外掛功能
(64位linux版)http://file.qiansw.com/usr/uploads/2017/01/golang-zabbix-alter-to-dingding-64
(32位linux版)http://file.qiansw.com/usr/uploads/2017/01/golang-zabbix-alter-to-dingding-32
1.將檔案上傳到zabbix server端的該路徑下,並重命名為dingding.golang(原始檔是go語言),新增執行許可權x
2.測試外掛檔案能否傳送告警資訊到釘釘
檢視UserID,-to傳送的引數為UserID(通訊錄——組織架構——部門人員)
進入到外掛資料夾下,配置傳入引數
cd /usr/local/zabbix/share/zabbix/alterscripts
./dingding.sh -agentid=(釘釘上檢視) -corpid=(釘釘上檢視) -corpsecret=(釘釘上檢視) -to=(釘釘上檢視) -msg=”{ \”from\”: \”Tomcat03\”, \”time\”: \”2016.07.28 14:45:24\”, \”level\”: \”Warning\”, \”name\”: \”Response time is too high on Tomcat03\”, \”key\”: \”icmppingsec\”, \”value\”: \”31ms\”, \”now\”: \”31ms\”, \”id\”: \”1618\”, \”ip\”: \”10.139.105.107\”, \”color\”:\”FF4A934A\”, \”age\”:\”3m\”, \”recoveryTime\”:\”2016.07.28 14:48:24\”, \”status\”:\”OK\” }”
傳送成功,則在釘釘上可檢視告警資訊(檢視詳情頁為新增微應用時填入的首頁地址)
*****************************************************************************************************************************************************************
三、配置zabbix告警,關聯釘釘外掛
zabbix配置告警機制三步驟:新增告警媒介,新增使用者,新增動作
新增告警媒介:管理——報警媒介型別——新增媒介型別
新增使用者:管理——使用者——建立使用者
新增動作:配置——動作——建立動作
(具體配置,大神網站上有,就不貼了)
*******************************************************************************************************************************************************
四、對原始碼的修改
領導要求統一的告警頁面,所以需要對原始碼進行修改
大神原始碼的傳送門:https://github.com/internelp/golang-zabbix-alter-to-dingding
我就簡單添加了所需要的內容,與微信告警不同,釘釘告警的動作定義了所有需要的巨集所對應的字元,在go指令碼中對告警內容進行呼叫。
修改區域:
**********************************************************************************************************************************************************
五、遇到的問題
1.首先是之前,在微信告警時,在配置ping丟包率的監控項的時候,單位為%,但是告警內容卻是顯示 “},”,並且後面內容顯示不正常。後面的解決方式使用%%,但這樣釘釘告警內容的單位也為%%。暫時沒有想到好方法,有懂的,請賜教,謝謝
2.使用下來,感覺釘釘告警不是很穩定,網上有人說,釘釘官方會限制相同欄位內容告警,但是如果是zabbix告警時間不同,應該不會有影響,反正我這個告警,我有時候正常,有時候不正常,一般出現三條告警,後面就沒了,但是檢視zabbix的動作日誌卻是顯示成功送達。有哪位同學有這個經驗,或者使用正常的請賜教,如果一樣的話,可以使用釘釘群機器人來發送告警,這是大神的配置的內容,問題不大,就不贅訴了(以我現在的能力,不能完全原創,我也很絕望啊,只能分享使用經驗了)https://www.qiansw.com/golang-zabbix-dingding-robot.html