开发者社区> 李世龙ing> 正文

通过微信企业号发送 zabbix 报警

简介: 最近飞信不能用了…zabbix报警无法收到短信 …  其实搭建的方法很简单,微信官网的API文档也非常详细了.只是之前网上没有找到具体的文档..自己饶了不少弯路.. 刚开始用微信公众平台试了下..有一个非官网的sdk..可以模拟登陆..但是需要关注的用户48小时内和公众号有过互动…这个显然是不行的…不然每天早上起床还得记得往自己的公众号上面发个消息 …..才能收到发出来的报警消息。
+关注继续查看

最近飞信不能用了…zabbix报警无法收到短信 … 


其实搭建的方法很简单,微信官网的API文档也非常详细了.只是之前网上没有找到具体的文档..自己饶了不少弯路..

刚开始用微信公众平台试了下..有一个非官网的sdk..可以模拟登陆..但是需要关注的用户48小时内和公众号有过互动…这个显然是不行的…不然每天早上起床还得记得往自己的公众号上面发个消息 …..才能收到发出来的报警消息。

相关链接:http://wechat-python-sdk.readthedocs.org/zh_CN/master/

后来又去官网看了下..点注册的时候发现有企业版的…试试的心态点了下..于是神奇的事情发生了…

刚才发现还是有个限制。。。但是还好..目前有3个账号 每天可发送90条.基本够用 
这里写图片描述

好了 进入正题。。以下主要针对发送信息进行设置,具体后面可以根据自己需要进行调整,功能还是很丰富的。

1. 首先要自己申请一个微信企业号(貌似一个人可以申请好几个,我测试的时候同样的信息申请了2个没问题)。团体模式的 三分钟就ok

微信企业号官网链接: https://qy.weixin.qq.com/

申请账号就不细说了,填下自己的信息然后用绑定了自己银行卡的微信扫一下..注意下面几个地方就ok: 

这里写图片描述

2.申请完毕后登陆进去(每次登陆都会要求微信扫码认证,很恶心,但是很安全) 
注意:主要上传logo..不然发消息的时候会返回报错…(应该算是bug了…) 
这里写图片描述

这时候先把自己配置好 然后加关注. 
这里写图片描述 
这里设置好邮箱..可以发送二维码到邮箱邀请关注.后期可能会比较有用 
这里写图片描述

上面在通讯录里面加好自己以后,直接扫描设置里面的二维码.进行关注. 
这里写图片描述

ok。。。关注完成了..那么下面需要创建一个管理组,生成Corpip和Secret (这里说明下,,,后面通过api进行调用时,会通过corpip和Secret生成认证token.以此作为凭证进行身份确认.默认过期时间为7200秒) 
这里写图片描述

这里写图片描述

然后权限管理里面加上自己,会发送邮件到对应邮箱,进行确认就ok

这里写图片描述

页面配置都ok,然后根据官网文档的API接口进行测试..我这里就不演示了 具体可以去看官方API

http://qydev.weixin.qq.com/wiki/index.php?title=%E4%B8%BB%E5%8A%A8%E8%B0%83%E7%94%A8

这里写图片描述

然后写了一个简单的Python 根据位置变量传入要发送的信息…新手写得比较挫..大神一笑而过吧

#!/usr/bin/env python# -*- coding: utf-8 -*-import urllib2import simplejson as jsonimport sysclass weChat:
    def __init__(self,url,Corpid,Secret): 
        url = '%s/cgi-bin/gettoken?corpid=%s&corpsecret=%s' % (url,Corpid,Secret)
        res = self.url_req(url)
        self.token = res['access_token']    def url_req(self,url,method='get',data={}):
        if method == 'get':
            req = urllib2.Request(url)
            res = json.loads(urllib2.urlopen(req).read())        elif method == 'post':
                        req = urllib2.Request(url,data)
                        res = json.loads(urllib2.urlopen(req).read())        else:            print 'error request method...exit'
            sys.exit()  
        return res    def send_message(self,userlist,content,agentid=0):
        self.userlist = userlist
        self.content = content
        url = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=%s' % self.token
        data = {                      "touser": "",                      "toparty": "",                      "totag": "",                      "msgtype": "text",                      "agentid": "0",                      "text": {                          "content": ""
                      },                      "safe":"0"
                   } 
        data['touser'] = userlist   
        data['agentid'] = agentid
        data['text']['content'] = content
        data = json.dumps(data,ensure_ascii=False)    #   print data
        res = self.url_req(url,method='post',data=data)        if res['errmsg'] == 'ok':            print 'send sucessed!!!'
        else:            print 'send failed!!'
            print resif __name__ == '__main__':  
      userlist = sys.argv[1]
      content = sys.argv[2:]
      content = '\n'.join(content)
          Corpid = 'xxxxxxxxxx'  #此处对应修改
          Secret = 'xxxxxxxxxx'  #此处对应修改
      url = 'https://qyapi.weixin.qq.com'

          wechat = weChat(url,Corpid,Secret)
          wechat.send_message(userlist,content)123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263

3.关联zabbix

  1. 将 sendwechat.py 脚本放到zabbix安装目录下的share/zabbix/alertscripts

  2. 添加报警类型这里写图片描述这里写图片描述这里写图片描述

  3. 添加联系人,这里的联系人,对应之前设置的userid 这里写图片描述

最后进行测试.根据自己的情况进行调整.


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
九爷带你了解 zabbix 飞信以及机器人报警
一、安装飞信 wget http://ebook.elain.org/tools/fetion20101205.tar.gz tar -zxvf fetion20101205.tar.gz -C /usr/local 解压 fetion目录到 /usr/local/下 执行ln -s ...
879 0
微信小程序开发(4) 企业展示
在这篇微信小程序开发教程中,我们将介绍如何使用微信小程序开发企业内部宣传展示等功能。   一、小程序主体部分 一个小程序主体部分由三个文件组成,必须放在项目的根目录,如下:   1. 小程序逻辑 App({ onLaunch: function() { // Do something initial when launch.
1456 0
工业和信息化部印发《关于有序推动工业通信业企业复工复产的指导意见》
近期,工业和信息化部联合印发了《关于有序推动工业通信业企业复工复产的指导意见》
336 0
+关注
李世龙ing
架构师 售前工程师 产品经理 运维开发
232
文章
33
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载