zabbix配置企業微信報警

前提:安裝配置好zabbix-server 安裝php 、 pip
實現zabbix通過微信報警的方式也是通過腳本來實現,與郵件報警不同的是,腳本調用的微信的相關接口的獲取相對複雜一點
1、申請一個微信公衆號(企業號),爲了獲得三個數據(corpid、appsecret、agentid)用於寫腳本參數。
在這裏插入圖片描述
在這裏插入圖片描述
接口調用測試
點擊:API文檔——>開發者工具——>接口調試工具,找不到就直接點這個地址
http://work.weixin.qq.com/api/devtools/devtool.php
corpid爲創建的企業號生成的corpid在這裏插入圖片描述2.寫腳本 位置/usr/lib/zabbix/alertscripts
cat weixin.py

#!/usr/bin/env python
#-*- coding: utf-8 -*-
import requests
import sys
import os
import json
import logging

 

logging.basicConfig(level = logging.DEBUG, format = '%(asctime)s, %(filename)s, %(levelname)s, %(message)s',

datefmt = '%a, %d %b %Y %H:%M:%S',

filename = os.path.join('/tmp','weixin.log'),

filemode = 'a')


corpid='微信企業號corpid'

appsecret='應用的Secret'

agentid=應用的id

#獲取accesstoken

token_url='https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=' + corpid + '&corpsecret=' + appsecret
req=requests.get(token_url)
accesstoken=req.json()['access_token']
#發送消息
msgsend_url='https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=' + accesstoken 
touser=sys.argv[1]
subject=sys.argv[2]
#toparty='3|4|5|6'
message=sys.argv[2] + "\n\n" +sys.argv[3]
params={
"touser": touser,
#"toparty": toparty,
"msgtype": "text",
"agentid": agentid,
"text": {
"content": message
},
"safe":0

}
req=requests.post(msgsend_url, data=json.dumps(params))
logging.info('sendto:' + touser + ';;subject:' + subject + ';;message:' + message)

3.腳本編寫完成之後需要爲腳本添加執行權限
[root@zabbix alertscripts]# chmod +x weixin.py
4.web界面新增報警媒介類型
在這裏插入圖片描述
名稱自定義即可,類型選擇腳本,腳本名稱爲所寫的腳本的名稱weixin.py,腳本的三個參數都是zabbix內置變量,分別爲:報警收件人:{ALERT.SENDTO},報警標題:{ALERT.SUBJECT},報警內容:{ALERT.MESSAGE},添加完報警媒介類型後勾選啓用.
5.6、配置用戶報警媒介信息
配置需要收到微信報警的用戶的信息,添加報警媒介,選擇上面創建的微信報警,收件人填寫上面所說的部門成員的賬號,由於是通過微信公衆號發送的微信提醒,如果需要爲多個用戶例如微信企業號中所有用戶發送報警,這裏收件人的信息就填寫爲@all
在這裏插入圖片描述
6.測試
命令行測試腳本能否成功執行
[root@zabbix alertscripts]# ./weixin.py 用戶id “測試” ‘test’

測試的時候如果出現錯誤提示缺少requests,解決方法爲使用pip進行安裝:pip install smtplib
同時在zabbix服務器的後臺也生成了微信報警的日誌文件/tmp/weixin.log,如果測試不成功可以通過日誌來進行查錯
命令行測試完成後,如果想要通過zabbix進行觸發報警,還需要做的就是將上面生成的日誌文件的所屬修改爲zabbix用戶且具有寫權限
 chown -R   777 /tmp/weixin.log
  [root@zabbix alertscripts]# ll /tmp/weixin.log    
-rwxr-xr-x 1 zabbix zabbix 35329 6月 13 07:47 /tmp/weixin.log 
到這裏微信報警就算大功告成了,接下來就可以愉快的通過zabbix進行觸發微信報警了,報警成功觸發後可以通過zabbix面板的報表——>動作日誌查看

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章