您的位置:首页 > 移动开发 > 微信开发

Zabbix 3.4.3之企业微信报警

2017-11-04 13:24 316 查看

一、企业微信注册

   微信的报警方式可以让我们随时随地接收到信息,加快问题的处理,比传统邮件更加方便,首先我们先打开企业微信的地址 https://work.weixin.qq.com

1、填写申请信息

2、下一步

    根据注册流程步骤进行后面的操作,直到注册成功。

二、企业微信配置

1、创建部门

    首先我们要创建部门,类似于组,把相关的人员放到这个部门里面,创建部门之后,我们会用到部门id,报警消息根据部门id发到部门的相关人员。

    根据自己的需求填写,所属部门也可以是现有部门的子部门,具有层级所属关系。

    查看部门id,我们以后会用到,我这里部门id是2。

2、给部门增加人员

    点击添加成员,然后让用户关注就可以了。

3、添加应用

    用于消息发送的接口,这里我们需要记住应用的id以及secret,用于发送token的获取,按照我们的设定,目前只有运维部的人员可以看到此应用,即可以通过此应用获取到报警信息。

    记住这里的Agentid和Secret。

4、获取企业ID

三、测试微信消息发送接口

    调用微信接口需要一个调用接口的凭证:access_token,通过CropID 、Secret才能获取到access_token,但是获取到的token有效期为7200秒。

    我们可以通过下面的接口调试工具以及接口说明文档进行测试。

接口调试工具http://work.weixin.qq.com/api/devtools/devtool.php

接口说明文档https://work.weixin.qq.com/api/doc#10167

    调试成功页面如下。

四、报警脚本

1、编写python脚本

脚本使用的python版本为3.6,关于python3.6的安装请查看博文https://www.geek-share.com/detail/2722422863.html  。

vim /usr/local/zabbix/alertscripts/wechat.py

#!/usr/bin/python3.6    
# -*- coding: UTF-8 -*-    
# wangzan18@126.com    
# 2018-09-30    
import json    
import requests    
import sys    
# 微信公众号上应用的CropID和Secret    
corpid = 'wx8d46d36104988993'    
corpsecret = 'QCjzy2lH2ZB7MUG6uowChyChPsOQw96EB0X0QjofRRt0JePGezTVR4saIw3Ezznh'    
def getToken(corpid,corpsecret):    
# 获取access_token    
GURL = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=%s&corpsecret=%s" % (corpid, corpsecret)    
# 使用requests.get 函数请求,并把结果转化为json形式,获取token    
token = requests.get(GURL).json()['access_token']    
return token    
def sendMsg(title,message):    
# 获取access_token    
access_token = getToken(corpid,corpsecret)    
# 消息发送接口    
Purl = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=%s"  % access_token    
# 要发送的消息    
weixin_msg = {    
"toparty": '2',      # 部门ID    
"agentid": '4',   # 企业应用的id    
"msgtype" : "textcard",    
"textcard": {    
"title": title,    
"description": message,    
"url": "www.wzlinux.com",    
"btntxt": "更多"    
}    
}    
# 向消息接口发送消息    
print(requests.post(Purl,data = json.dumps(weixin_msg),headers={'Content-Type': 'application/json;charset=utf-8'}).content)    
if __name__ == '__main__':    
# 向脚本传参title和message    
title = sys.argv[1]    
message = sys.argv[2]    
sendMsg(title,message)
[code=bash;toolbar:false">chmod +x /usr/local/zabbix/alertscripts/wechat.py代码地址:https://github.com/wangzan18/learnpython/blob/master/weixin_news.py


2、测试脚本

    微信已经可以接收到消息,那脚本已经没有什么问题了。

[p]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: