1、註冊企業郵箱php
1.1、企業微信告警優點:讓咱們實時接收到信息,加快問題的處理,比傳統郵件更便捷;python
若是沒有企業微信,那麼咱們首先到企業微信官網: https://work.weixin.qq.com進行註冊。linux
2、企業微信配置json
2.1、在通信錄中建立部門vim
建立部門,相似於組,把相關的人員放到這個部門裏,建立部門後,會用到部門ID,報警消息會根據部門ID發到部門的相關人員。c#
2.2、增長部門人員api
添加成員--填寫資料。微信
2.3、添加應用app
消息發送的接口,這裏須要記住應用的AgentId以及Secret,用於發送token的獲取,按照設定,只有運維部的人員能夠看到此應用,便可以經過此應用獲取到報警信息。運維
獲得這樣的界面( 再次提醒記住Agentid和Secret):
2.4、獲取企業ID(須要有成員加入後才能顯示CorpID):
3、測試微信消息發送接口
微信接口的調用須要一個憑證:access_token,經過CorpID 、Secret才能獲取到access_token,可是獲取到的token有效期爲7200秒。
能夠經過下面的接口調試工具以及接口說明文檔來進行測試(返回200表示成功)。
接口調試工具:http://work.weixin.qq.com/api/devtools/devtool.php
接口說明文檔:https://work.weixin.qq.com/api/doc#10167
測試成功顯示以下:
4、報警腳本
4.1、編寫python腳本
[root@zabbix-server ~]# cd /usr/lib/zabbix/alertscripts/
[root@zabbix-server alertscripts]# vim wechat.py
#!/usr/bin/python
# -*- coding: utf-8 -*-
# zabbix notification confirmation script
# python2.7 or above
import requests
import json
import os
import sys
Toparty = "2" #部門id
AgentID = 1000002 #應用id
#修改成企業CropID和Secret
CropID = 'wwac7665d19735ca22'
Secret = 'Z6W81GSJe7JwRu6Khbz2V9kUPtBQf31ArnhMiNuFMjU'
#獲取Token
Gtoken ="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid="+ CropID + "&corpsecret=" + Secret
headers = {'Content-Type': 'application/json'}
json_data = json.loads(requests.get(Gtoken).content.decode())
token = json_data["access_token"]
#消息發送接口
Purl = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=" + token
#消息發送函數
def msg(title,message):
weixin_msg = {
"toparty" : Toparty,
"msgtype" : "textcard",
"agentid" : AgentID,
"textcard" : {
"title" : title,
"description" : message,
"url" : "www.wzlinux.com",
"btntxt":"更多"
}
}
print requests.post(Purl,json.dumps(weixin_msg),headers=headers)
if __name__ == '__main__':
title = sys.argv[1] #獲取第一個參數
message = sys.argv[2] #獲取第二個參數
msg(title,message)
[root@zabbix-server alertscripts]# chmod+x wechat.py
[root@zabbix-server alertscripts]# chown zabbix:zabbix wechat.py
[root@zabbix-server alertscripts]# ll
total 4
-rwxr-xr-x 1 zabbix zabbix 2080 May 21 13:28 wechat.py
[root@zabbix-server alertscripts]# ./wechat.py 1 2
Traceback (most recent call last):
File "./wechat.py", line 5, in <module>
import requests,sys,json
ImportError: No module named requests
[root@zabbix-server alertscripts]# yum -y install python-setuptools
[root@zabbix-server alertscripts]# easy_install pip
[root@zabbix-server alertscripts]# pip install requests
[root@zabbix-server alertscripts]# ./wechat.py 1 2
<Response [200]>
5、Zabbix配置
5.1、添加Media types
首先須要在zabbix server的配置文件開啓上面腳本的目錄,而後纔可使用,咱們添加兩個參數,一個是報警的標題,一個是報警信息的內容,用於傳給腳本的兩個參數。
Step1:管理--報警媒介類型--建立媒體類型
Step2:添加動做(配置--動做--建立動做):
注:無論可否解決你遇到的問題,歡迎相互交流,共同提升!