采用微信报警时,管理员账户中必须要设置"示警媒体"一项,"收件人"一项可随便填写一下。其它成员则可以不用添加设置。

-------------------------------------------------------------------------------------------------------------------------------------

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- -*-
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=):
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": "",
"text": {
"content": ""
},
"safe":""
}
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[]
content = sys.argv[:]
content = '\n'.join(content)
Corpid = 'wx647eb76cd7038c3d'
Secret = 'DTmfHEEQw1bwLG5T1MMtABzrJe1Dhon54s4XvIS8H0rHpZ09L7E0bJg0nL8HFwMt'
url = 'https://qyapi.weixin.qq.com' wechat = weChat(url,Corpid,Secret)
wechat.send_message(userlist,content)

3.关联zabbix

  1. 将 sendwechat.py 脚本放到zabbix安装目录下的share/zabbix/alertscripts
  1. 添加警类型
  2. 添加联系人,这里的联系人,对应之前设置的userid 

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

参考资料:http://blog.csdn.net/u011744758/article/details/45363125

通过微信企业号发送zabbix报警的更多相关文章

  1. python与shell通过微信企业号发送消息

    python与shell通过微信企业号发送信息,脚本来源于网络,做好搬运工,哈哈,相应的参考链接放在末位 shell版本: #!/bin/bash # CropID="xxxx" ...

  2. 微信企业号 发送信息 shell

    微信企业号发送信息shell #可作为shell函数模块调用,用于微信通知.jenkins发版微信通知等等 # 微信API官方文档 https://work.weixin.qq.com/api/doc ...

  3. 微信企业号发送监控消息【php】

    公司这边有做监控异常并将消息发送到企业公众号的功能.大概如下: 定时任务检测异常消息 将消息存入redis队列 定时处理队列异常消息 发送到微信企业号对应的部门组 这里我们来看一下微信发送过程,其他不 ...

  4. [置顶] 个人微信号发送zabbix告警信息

    之前使用邮件和短信发送zabbix告警信息,但告警信息无法实时查看或者无法发送,故障无法及时通知运维人员. 后来使用第三方微信接口发送信息,愉快地用了一年多,突然收费了. zabbix告警一直是我的痛 ...

  5. zabbix之微信告警(python版):微信个人报警,微信企业号告警脚本

    微信个人告警脚本 微信个人告警:使用个人微信,发送到微信群组,微信好友 两个脚本执行: 1)能连接网络2)先执行server.py,扫描登录微信,登录之后没有报错,打开新终端查看端口是否起来了3)在z ...

  6. 通过脚本发送zabbix微信报警

    实现zabbix通过微信报警的方式也是通过脚本来实现,与邮件报警不同的是,脚本调用的微信的相关接口的获取相对复杂一点 1.申请一个微信公众号(企业号) 申请方法不多说,如果已申请请忽略 2.在微信企业 ...

  7. 毕业设计之zabbix+微信企业号报警

    需要自己申请一个微信企业号 创建应用 AgentId 1000003 Secret SOI8b20G96yUVM29K02-bP5N5o6dovwSF2RrDaXHJNg 企业ID(自己再企业信息里面 ...

  8. zabbix报警媒介------>微信报警

    zabbix报警媒介------>微信报警 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 欢迎加入高级运维工程师之路:598432640 微信在我们的生活中使用的比较频繁,有 ...

  9. Zabbix实战-简易教程--通过公众平台企业号发送短信

    一.注册企业号[体验号] 打开页面 http://qydev.weixin.qq.com/try?t=experience   (2016年注册的时候的连接)现在可能变了.进行注册操作,默认有90天的 ...

随机推荐

  1. 黑马程序员:Java编程_多线程

    =========== ASP.Net+Android+IOS开发..Net培训.期待与您交流!=========== 进程:是一个正在执行中的程序.每一个进程执行都有一个执行顺序.该顺序是一个执行路 ...

  2. C++ 中的形参与返回值

    函数调用时,形参对象和返回对象均采用引用方式进行(临时对象作为中介),当一个对象作为参数(非引用)被函数调用时,该对象会通过复制构造函数获得一个临时对象,该临时对象以引用方式传递给函数,简言之,函数会 ...

  3. Node.js高级编程读书笔记 - 2 文件和进程处理

    Outline 3 文件.进程.流和网络 3.1 查询和读写文件 3.2 创建和控制外部进程 3.3 读写数据流 3 文件.进程.流和网络 3.1 查询和读写文件 path 从Node 0.8起,pa ...

  4. cocos2d项目 打包apk 项目名称相关设置

    修改android项目名称(打包生成的默认apk名称),直接找到proj.android目录下.project文件夹里面比较靠前的xml配置,修改<name>项目名称</name&g ...

  5. cdr创建样式与样式集的方法

    样式是一组定义对象属性的格式化属性,如轮廓或填充.例如,要定义轮廓样式,您可以指定轮廓宽度.颜色和线条类型等属性.要定义字符样式,您可以指定字体类型.字体样式和大小.文本颜色和背景色.字符位置.大写等 ...

  6. spring技术核心概念纪要

    一.背景 springframework 从最初的2.5版本发展至今,期间已经发生了非常多的修正及优化.许多新特性及模块的出现,使得整个框架体系显得越趋庞大,同时也带来了学习及理解上的困难. 本文阐述 ...

  7. php微信接口实例

    <?php /** * wechat php test */ //define your token //定义TOKEN秘钥 define("TOKEN", "we ...

  8. IOS开发-第三方SDWebImage下载网络图片的使用

    从网络上请求图片时,没有使用第三方的话,下载会很慢,而且堵塞线程,还要自己处理多线程问题,效果还非常不明显,使用了SDWebImage这个第三方类库之后,下载图片就变的容易多了. SDWebImage ...

  9. 自动装箱(boxing)和自动拆箱(unboxing)

    摘自:http://www.codeceo.com/article/java-boxing-unboxing.html Java的四类八种基本数据类型 基本类型 占用空间(Byte) 表示范围 包装器 ...

  10. 子类实例化和Super

    在子类的构造函数当中,必须调用父类的构造函数,通过super的参数个数和类型来决定调用父类哪一个构造函数. class Student extends Person{ Student(){ super ...