Zabbix实战-简易教程--通过公众平台企业号发送短信
一、注册企业号【体验号】
打开页面 http://qydev.weixin.qq.com/try?t=experience (2016年注册的时候的连接)现在可能变了。进行注册操作,默认有90天的期限。

填写相关资料后你会收到一封邮件,进行体验账号激活,如下图:

注意,这里激活需要绑定在你的微信号上进行激活,激活后会有如下显示:


扫描完成后,进入登陆界面,这里的登陆信息就是你刚刚注册用的邮箱和密码,登入:

二、配置企业号
进入企业号后,需要进行相关配置:
A、导入用户
选择通讯录,进入我的企业,添加子部门,我这里添加运维平台部。

添加部门后,进行成员添加,也就是后续会受到微信的成员了。

新增成员信息填写:

这里关机是身份验证信息部分,一定要准确。
B、邀请关注
填写成员后,需要进行要求关注,微信受到邀请链接后,即进行关注。





D、设定管理员
指定应用的管理员。点击设置-> 权限管理 -> 管理 -> 新建管理组 --> 添加管理员和权限。


三、API测试
有了前面的corpID和Sectet后,可以根据官方文档进行API测试。
A.文档阅读链接
http://qydev.weixin.qq.com/wiki/index.php?title=%E9%A6%96%E9%A1%B5
我只读了建立连接、管理通讯录、发送消息。
B、建立连接获取access_token。
这个token是一个有有效时间的密钥用于后续操作认证。
Https请求方式: GET
https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=id&corpsecret=secrect
正常情况下就会反馈一个json并得到access_token
C、API测试

可以进行很多测试,不过这里需要用到上面提到的corpID和Secret。
我这里只要发送报警短信,而且是文本格式的,所以就只需要进行发送消息测试就OK了。

然后就坐等微信受到消息吧。

四、编写脚本结合API进行告警测试
编写报警脚本,和之前通过短信网关类似,
#!/usr/local/bin/python
#fileencoding:utf-8
import sys
import urllib2
import time
import json
import requests reload(sys)
sys.setdefaultencoding('utf-8') title = sys.argv[2] # 位置参数获取title 适用于zabbix
content = sys.argv[3] # 位置参数获取content 适用于zabbix class Token(object):
# 获取token
def __init__(self, corpid, corpsecret):
self.baseurl = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={0}&corpsecret={1}'.format(
corpid, corpsecret)
self.expire_time = sys.maxint def get_token(self):
if self.expire_time > time.time():
request = urllib2.Request(self.baseurl)
response = urllib2.urlopen(request)
ret = response.read().strip()
ret = json.loads(ret)
if 'errcode' in ret.keys():
print >> ret['errmsg'], sys.stderr
sys.exit(1)
self.expire_time = time.time() + ret['expires_in']
self.access_token = ret['access_token']
return self.access_token def send_msg(title, content):
# 发送消息
corpid = "88888888888888" # 填写自己应用的
corpsecret = "88888888888888888888888" # 填写自己应用的
qs_token = Token(corpid=corpid, corpsecret=corpsecret).get_token()
url = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token={0}".format(
qs_token)
payload = {
"touser": "@all",
"msgtype": "text",
"agentid": "",
"text": {
"content": "{0}\n {1}".format(title, content) },
"safe": ""
}
ret = requests.post(url, data=json.dumps(payload, ensure_ascii=False))
print ret.json() if __name__ == '__main__':
# print title, content
send_msg(title, content)
脚本命名为wexin_sendms.py,存放位置为zabbix报警目录,我这里为
/usr/lib/zabbix/alertscripts,具体设置在zabbix_server里进行设置。然后在zabbix的web界面进行配置。



测试微信报警接收,我这里停掉了线上一台puppetmaster的agnet服务,会报出一个5分钟不可达报警。


至此,微信告警测试完毕。
五、参考文献和文件索引
a、微信告警脚本位于github:
https://github.com/loveqx/zabbix-doc/blob/master/zabbix-scripts/zabbix-install/weixin_sendms.py
b、参考文章
Zabbix实战-简易教程--通过公众平台企业号发送短信的更多相关文章
- Zabbix实战-简易教程系列
一.基础篇(安装和接入) Zabbix实战-简易教程--总流程 Zabbix实战-简易教程--整体架构图 Zabbix实战-简易教程--DB安装和表分区 Zabbix实战-简易教程--Server端 ...
- Zabbix实战-简易教程(6)--Server端高可用
3.4 server前端高可用 至此,单台Zabbix server环境已经搭建完成,为了达到高可用效果,我们需要通过2台服务器之间通过HA软件进行探测,一旦检测到主的server挂掉后,从的s ...
- JAVA 调用第三方短信平台接口发送短信
做了几个调用三方短信平台发送短信的例子,大部分需要 携带参数,向指定URL发送请求 回顾对接第一个平台时痛苦的乱码经历,这里放一份代码,算是个模版,再用到的时候过来copy一下就OK. 在进入主题之前 ...
- Zabbix实战-简易教程--订阅类
一.需求提出 最近数据中心有一个新的需求,有一批后台任务需要在每天固定时间点运行(凌晨8:00),现在希望能够把这个任务执行的结果定时上报给他. 说明:执行的任务为一个sql查询,查询出来的是每个任务 ...
- Zabbix实战-简易教程--动作(Actions)--自动发现
一.概述 Zabbix提供了有效和非常灵活的网络自动发现功能. 设置网络发现后你可以: 加快Zabbix部署(自动添加主机.添加模板) 简化管理(自动删除主机.删除模板.禁用主机) 无需过多管理就能在 ...
- Zabbix实战-简易教程--低层次发现(LLD)
一.概述 自动发现(LLD)提供了一种在为不同实体自动创建监控项,触发器和图形的方法.例如,Zabbix可以在你的机器上自动监控磁盘或网卡,而无需为每个磁盘或网卡手动创建监控项.(LLD) 此外,可以 ...
- Zabbix实战-简易教程--聚合(Aggreate)
使用场景 当你需要将一组主机的某个指标进行统计时,zabbix聚合就派上用场了.例如:你要将Mysql组的所有/data分区的已用空间进行统计,你就可以使用zabbix聚合的grpsum函数进行统计. ...
- Zabbix实战-简易教程(1)--总流程
序 玩zabbix已经几年了,一直想分享一些相关的使用经验和心得,但是总以各种借口而拖延,最近准备重新整理,记录一些实际工作环境中的示例,一方面希望能够帮助正在学习或者正在寻找这方面资料的朋友,另一方 ...
- Zabbix实战-简易教程(3)--DB安装和表分区
一.DB安装环境 主机角色 主机IP VIP 操作系统版本 软件版本 DB Master A 192.168.1.97 (主从) CentOS 6.5 64bit mysql-5.6.21 DB Sl ...
随机推荐
- 配置nginx以获取真实的客户端ip地址
当我们使用了nginx来转发客户端的请求以后,tomcat是无法正确获取到客户端的ip地址的,而是获取到配置了nginx的那台服务器的ip地址.因为tomcat所接收到的请求是通过nginx发出来的( ...
- time模块整理
time模块中包含的方法 time() -- 返回当前系统的时间戳clock() -- 在UNIX系统上,它返回的是"进程时间",它是用秒表示的浮点数(时间戳). 而在WINDOW ...
- 项目实战12.2—企业级监控工具应用实战-zabbix操作进阶
无监控,不运维.好了,废话不多说,下面都是干货. 流量党勿入,图片太多!!! 项目实战系列,总架构图 http://www.cnblogs.com/along21/p/8000812.html 一.U ...
- IDEA配置jdk
提前安装jdk,配置环境变量 一.配置jdk 1.依次点开File -->Project Structure,点击左侧标签页,点击SDKs 2.点击+号,选SDK 3.按照这个顺序,可以配置多个 ...
- iKcamp团队制作|基于Koa2搭建Node.js实战项目教学(含视频)☞ 环境准备
安装搭建项目的开发环境 视频地址:https://www.cctalk.com/v/15114357764004 文章 Koa 起手 - 环境准备 由于 koa2 已经开始使用 async/await ...
- TCP/IP----基本知识
就以这篇文章为起点,开始自己的学习计算机网络之路.这些仅是我个人之言,如有差错,希望读者能够逐一指出,在下不胜感激. 首先,我们需要知道一些关于网络的基本知识. 网络中的关系大多为拓扑结构.那么,何为 ...
- Oracle索引详解
Oracle索引详解(二) --索引分类 Oracle 提供了大量索引选项.知道在给定条件下使用哪个选项对于一个程序的性能来说非常重要.一个错误的选择可能会引发死锁,并导致数据库性能急剧下降或进程 ...
- P、NP、NP完全问题
如果一个算法的最差时间效率属于O(p(n)),则该算法可以在多项式的时间内对问题进行求解,其中p(n)是输入规模n的一个多项式函数. 可以在多项式时间内求解的问题是易解的.不能在多项式时间内求解的问题 ...
- MySQL Group Replication 动态添加成员节点
前提: MySQL GR 3节点(node1.node2.node3)部署成功,模式定为多主模式,单主模式也是一样的处理. 在线修改已有GR节点配置 分别登陆node1.node2.node3,执行以 ...
- bzoj 3143: [Hnoi2013]游走
Description 一个无向连通图,顶点从1编号到N,边从1编号到M. 小Z在该图上进行随机游走,初始时小Z在1号顶点,每一步小Z以相等的概率随机选 择当前顶点的某条边,沿着这条边走到下一个顶点, ...