设为首页 收藏本站
查看: 1794|回复: 0

[经验分享] 通过微信企业号发送zabbix报警..

[复制链接]

尚未签到

发表于 2015-11-23 12:23:04 | 显示全部楼层 |阅读模式
  最近飞信不能用了…zabbix报警无法收到短信 …

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

  后来又去官网看了下..点注册的时候发现有企业版的…试试的心态点了下..于是神奇的事情发生了…
  刚才发现还是有个限制。。。但是还好..目前有3个账号 每天可发送90条.基本够用

DSC0000.jpg
  好了 进入正题。。以下主要针对发送信息进行设置,具体后面可以根据自己需要进行调整,功能还是很丰富的。
  1. 首先要自己申请一个微信企业号(貌似一个人可以申请好几个,我测试的时候同样的信息申请了2个没问题)。团体模式的  三分钟就ok
  微信企业号官网链接: https://qy.weixin.qq.com/

  申请账号就不细说了,填下自己的信息然后用绑定了自己银行卡的微信扫一下..注意下面几个地方就ok:
DSC0001.jpg
DSC0002.jpg
  2.申请完毕后登陆进去(每次登陆都会要求微信扫码认证,很恶心,但是很安全)

注意:主要上传logo..不然发消息的时候会返回报错…(应该算是bug了…)

DSC0003.jpg
  这时候先把自己配置好 然后加关注.

DSC0004.jpg

这里设置好邮箱..可以发送二维码到邮箱邀请关注.后期可能会比较有用

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

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

DSC0007.jpg
DSC0008.jpg
  然后权限管理里面加上自己,会发送邮件到对应邮箱,进行确认就ok
DSC0009.jpg
  页面配置都ok,然后根据官网文档的API接口进行测试..我这里就不演示了 具体可以去看官方API
  http://qydev.weixin.qq.com/wiki/index.php?title=%E4%B8%BB%E5%8A%A8%E8%B0%83%E7%94%A8

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

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import urllib2
import simplejson as json
import sys
class 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 res


if __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)

  3.关联zabbix

  • 将 sendwechat.py 脚本放到zabbix安装目录下的share/zabbix/alertscripts
  • 添加报警类型 DSC00011.jpg DSC00012.jpg DSC00013.jpg
  • 添加联系人,这里的联系人,对应之前设置的userid DSC00014.jpg
  最后进行测试.根据自己的情况进行调整.

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-142613-1-1.html 上篇帖子: 原来zabbix监控进程与端口是如此的简单! 下篇帖子: zabbix-客户端windows 安装
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表