zabbix監控-第三章-第二節 實現微信報警

現在人們都離不開微信,用微信來進行報警的話,時效性會更高一些,不會出現發郵件報警但是沒看到的尷尬情況。故而本節說一下如何實現微信報警:

zabbix監控-第三章-第二節 實現微信報警

需要注意的是我們要實現在微信報警的功能,需要我們先註冊一個企業微信,企業微信是可以個人免費註冊的,然後在企業微信添加相關人員,而後關注你的企業微信,之後就可以在微信中看到報警提示了。

以上即實現該功能的大致思路,此報警和上一小節中的郵件報警操作類似,不同的是使用的報警工具不同,那麼就意味著我們的腳本配置信息也有不同,具體來看實現過程吧:

PS:在企業微信中一共需要獲取三個值:

企業ID、agentid、Secret、成員賬號

我們接下來看看這些信息如何獲取


https://work.weixin.qq.com

在這裡進行申請即可,這裡就不操作了,挺簡單的,註冊完畢之後的界面如下:

zabbix監控-第三章-第二節 實現微信報警

2、創建應用,獲取Secret參數

應用管理 --> 創建應用

zabbix監控-第三章-第二節 實現微信報警

next:

zabbix監控-第三章-第二節 實現微信報警

上圖中的紅色框內的信息都屬於必填項,需要將信息設置好;

將信息設置好之後,點擊“創建應用”,如下圖:

zabbix監控-第三章-第二節 實現微信報警

而後跳轉到如下界面,我們需要在如下界面獲取agentid和secret的值:

zabbix監控-第三章-第二節 實現微信報警

我們將獲取到的參數信息,記錄下來;

3、獲取企業ID

我的企業 --> 企業信息

zabbix監控-第三章-第二節 實現微信報警

在最下面可以看到我們的企業ID,將此信息記錄下來;

zabbix監控-第三章-第二節 實現微信報警

4、獲取欲接受報警提醒成員的賬號名稱

通信錄

zabbix監控-第三章-第二節 實現微信報警

zabbix監控-第三章-第二節 實現微信報警

可以在這裡添加成員,以及查看某一個成員的賬號,點擊對應的名字,進入如下界面:

zabbix監控-第三章-第二節 實現微信報警

zabbix監控-第三章-第二節 實現微信報警

往下面劃,可以看到一個二維碼,用微信掃描這個二維碼即可關注你的企業微信:

zabbix監控-第三章-第二節 實現微信報警

這個時候你的微信賬號就可以接受企業微信的信息了;

6、zabbix_server端新增python腳本

在以下腳本中需要更改三個參數的值:

agentid:你新建應用完畢之後彈出框中顯示的agentid

corpid:你的企業ID

corpsecret:你新建應用完畢之後彈出框中顯示的Secret

<code>[root@bogon ~]# cd /home/zabbix/share/zabbix/alertscripts
[root@bogon alertscripts]# touch weixin.py
[root@bogon alertscripts]# vim weixin.py
#!/usr/bin/python
# -*- coding: utf-8 -*-
import json
import sys
import urllib,urllib2

agentid = 'XXXXXXXX'
corpid = 'XXXXXXXXXXXXXXXXXX'
corpsecret = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'

#get tocken
gettoken_url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=' + corpid + '&corpsecret=' + corpsecret
token_file = urllib2.urlopen(gettoken_url)
token_data = token_file.read().decode('utf-8')
token_json = json.loads(token_data)
my_token = token_json['access_token']

#send wechart
touser=sys.argv[1] #many user: 'zhangsan|wangwu'
content=sys.argv[2] #content
post_content = {
"touser":touser,
"agentid":agentid,
"msgtype": "text",
"text":{
"content":content,
}
}
json_content = json.dumps(post_content)
url = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=' + my_token
response = urllib2.urlopen(url,json_content)
print(response.read().decode('utf-8'))/<code>

保存退出

7、測試一下

需要配置上最上面說的獲取到的企業微信成員的賬號名

<code>[root@bogon alertscripts]# python weixin.py '成員賬戶名' '微信報警測試'/<code>

結果如下:

zabbix監控-第三章-第二節 實現微信報警

zabbix監控-第三章-第二節 實現微信報警

微信報警實現了,接下來就是在zabbix進行註冊了,這些就簡單了,總體流程和上一小節中的郵件報警一樣;

當然了,別忘記最後給這個腳本添加可執行權限:

<code>[root@bogon alertscripts]# chmod +x weixin.py 
[root@bogon alertscripts]# ll
總用量 8
-rwxr-xr-x. 1 root root 656 2月 23 02:01 email_qq.py
-rwxr-xr-x. 1 root root 944 2月 23 03:33 weixin.py
[root@bogon alertscripts]# /<code>

8、zabbix儀表板界面

PS:以下界面我會省略解釋的過程,因為和上一小節的內容類似,沒看明白的同學可以返回看一下上一小節;

點擊 “管理” --> “報警媒介類型”

將我們上一節配置的 “python_send_email_qq” 這個禁用,之後界面如下:

zabbix監控-第三章-第二節 實現微信報警

7、添加報警媒介

zabbix監控-第三章-第二節 實現微信報警

記憶好的同學可以發現,我們在實現郵件報警的過程中添加了三個腳本參數,為什麼這裡只添加了兩個呢?

那是因為發送郵件的時候我們需要配置:收件人,郵件主題,郵件內容;

而我們的微信報警只需要配置兩個參數:收件人,報警內容;

8、給用戶配置報警媒介

管理 --> 用戶

PS:要記得將上一小節中配置的報警媒介類型,也就是發送郵件進行刪除;之後再進行新的報警媒介類型添加

zabbix監控-第三章-第二節 實現微信報警

而後點擊更新按鈕,最後界面如下:

zabbix監控-第三章-第二節 實現微信報警

9、設置觸發器的動作

配置 --> 動作

PS:將上小節中的 “send_email_qq” 進行禁用,而後再次添加:

zabbix監控-第三章-第二節 實現微信報警

next:

zabbix監控-第三章-第二節 實現微信報警

next:

zabbix監控-第三章-第二節 實現微信報警

next:

zabbix監控-第三章-第二節 實現微信報警

next:

zabbix監控-第三章-第二節 實現微信報警

而後點擊 “添加” 按鈕,最後界面如下:

zabbix監控-第三章-第二節 實現微信報警

10、驗證一下準確性

停止我們的測試機 192.168.20.129 的8080端口

而後看一下儀表板:

zabbix監控-第三章-第二節 實現微信報警

由上圖可見,已經監測到了端口被關閉,這個時候我們看下個人微信,是否收到了提示:

zabbix監控-第三章-第二節 實現微信報警

微信已經收到了報警,之後我們將 192.168.20.129 的8080端口再次運行起來:

zabbix監控-第三章-第二節 實現微信報警

由上圖可見,我們微信也進行了恢復提示,如下圖:

zabbix監控-第三章-第二節 實現微信報警

好的,本節內容到此為止,關於報警的內容還有兩小節:

1、報警內容自定義和報警抑制

2、使用釘釘進行報警

繼續加油~~~


分享到:


相關文章: