Zabbix-3.2.3實現微信(WeChat)告警
Zabbix-3.2.3實現微信(WeChat)告警
zabbix
Zabbix可以通過多種方式把告警信息發送到指定人,常用的有郵件,短信報警方式,但是越來越多的企業開始使用zabbix結合微信作爲主要的告警方式,這樣可以及時有效的把告警信息推送到接收人,方便告警的及時處理。
關於郵件報警可以參考:Zabbix Web 郵件報警
一、微信企業號申請
第一步註冊
提示:這裏簡單的說一下,微信企業號和微信公衆號是不一樣的!
到郵件查看郵件,繼續下一步
提示一下:註冊以後就不可以修改微信號類型
我們選擇註冊團隊
由於我已經註冊了,下一步就不繼續操作了
二、配置微信企業號
當我們設置完微信號的信息之後,請繼續跟我操作
我們點擊通訊錄-->創建子部門-->運維組
提示: 我們需要記錄運維組的ID,用於腳本接收報警
我們點擊運維-->添加成員
關於認證可以參考官方說明:
我們可以使用掃描二維碼認證或者邀請認證
我們點擊創建應用
選擇消息型
設置組合用戶,將運維整個組添加進去
設置完成之後如下圖所示!
提示:我們需要記錄應用ID,在接收郵件時會使用
設置權限,讓運維組有查看的選項。管理員可以不進行設置
需要確定管理員有權限使用應用發送消息,需要管理員的CorpID和Sercrt。(重要)
準備事項:
微信企業號
企業號已經被部門成員關注
企業號有一個可以發送消息的應用,一個授權管理員,可以使用應用給成員發送消息
需要得到的信息
成員賬號組織部門ID應用IDCorpID和Secret
三、修改Zabbix.conf
[root@abcdocker ~]# grep alertscripts /etc/zabbix/zabbix_server.conf AlertScriptsPath=/usr/lib/zabbix/alertscripts我們設置zabbix默認腳本路徑,這樣在web端就可以獲取到腳本
四、設置python腳本
#安裝simplejson
wget https://pypi.python.org/packages/f0/07/26b519e6ebb03c2a74989f7571e6ae6b82e9d7d81b8de6fcdbfc643c7b58/simplejson-3.8.2.tar.gztar zxvf simplejson-3.8.2.tar.gz && cd simplejson-3.8.2python setup.py buildpython setup.py install
下載wechat.py腳本
git clone https://github.com/X-Mars/Zabbix-Alert-WeChat.gitcp Zabbix-Alert-WeChat/wechat.py /usr/lib/zabbix/alertscripts/cd /usr/lib/zabbix/alertscripts/chmod +x wechat.py && chown zabbix:zabbix wechat.py
提示:這裏需要修改py腳本
執行py腳本,進行測試
[root@abcdocker alertscripts]# ./wechat.py www www 123https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=wx6dadb9cc293b793e&corpsecret=JjesoeixbFt6dDur7_eXtamVBx2SjPBuXMQ0Jte3YLkz8l-VBnr0JvU12P0kvpGJ{u'invaliduser': u'all user invalid', u'errcode': 0, u'errmsg': u'ok'}
五、zabbix web 界面配置
創建報警媒介
創建報警用戶
這裏填寫運維組ID
設置報警動作
報警消息設置如下:
hostname: ({HOST.NAME}Time:{EVENT.DATE} {EVENT.TIME}level:{TRIGGER.SEVERITY}message:{TRIGGER.NAME}event:{ITEM.NAME}:{ITEM.VALUE}url:www.abcdocker.com
恢復報警如下:
hostname: ({HOST.NAME}Time:{EVENT.DATE} {EVENT.TIME}level:{TRIGGER.SEVERITY}message:{TRIGGER.NAME}event:{ITEM.NAME}:{ITEM.VALUE}url:www.abcdocker.com
報警配置如下
恢復配置如下
提示: 不要忘記先點小的add-->小的update-->Update
六、測試
爲了驗證效果我們停掉zabbix-agent,進行查看報警
[root@abcdocker ~]# systemctl stop zabbix-agent
報警如下