日常都是短信和邮件的报警,虽然已经可以满足需求,但是对于现在微信这么流行的情况下能用微信报警自然更方便,更加迅速和实时,毕竟现在微信基本上天天都会使用,而且流量现在也比较便宜
一、微信设置
1.1 微信号介绍
看 微信·公众平台 首页介绍也看到微信·公众平台 有三种类型
- 服务号
- 公众平台服务号,是公众平台的一种帐号类型,旨在为用户提供服务。
- 1个月(自然月)内仅可以发送4条群发消息。
- 发给订阅用户(粉丝)的消息,会显示在对方的聊天列表中。相对应微信的首页。
- 服务号会在订阅用户(粉丝)的通讯录中。通讯录中有一个服务号的文件夹,点开可以查看所有服务号。
- 服务号可申请自定义菜单。
- 订阅号
- 公众平台订阅号,是公众平台的一种帐号类型,旨在为用户提供信息。
- 每天(24小时内)可以发送1条群发消息。
- 发给订阅用户(粉丝)的消息,将会显示在对方的“订阅号”文件夹中。点击两次才可以打开。
- 在订阅用户(粉丝)的通讯录中,订阅号将被放入订阅号文件夹中。
- 企业号
- 企业号适用于企业与员工或上下游供应链之间的沟通。
- 企业可以主动发消息给员工,消息量不受限制。
- 企业号出现在微信会话列表首层,在通讯录中有单独的分类。
- 可以自定义菜单。
- 拥有多个子号。
5、更加关注与安全,需要双方认证。
关于三种类型账号的区别,可自行查看相关仔细说明,就监控而言,订阅号和企业号都能满足需求,但是企业号限制更少,发送消息更加方便,限制更少,外加上个人可以申请一个关注者 50 人限制的企业体验号,免费的哟,对于监控人员而言,这已经是足够了,所以后续都以 微信企业号来进行讲述 zabbix + 微信企业号 报警的步骤。
1.2 开通企业微信号
根据提示进行注册,注意有些选项已经提示很清楚了,一旦设置就不能修改,所以填写这些选项之前想清楚,其他按照提示即可
二、设置报警
2.1 设置企业微信号
配置 zabbix 完成微信报警之前得先对企业号进行一点设置
1、申请完成
这里唯独要注意的选择 【团队】
2、邮箱激活
3、扫描二维码登录
4、新建一个组织架构
这里我新建了一个【运维组】,新增一名成员,作为报警成员。设置完成之后用户本身即可通过二维码进行扫码关注,双方验证通过,即可
这里有几个参数后面是需要的,应用的 id、corpid、sceret,下面开始操刀动手
2.2 发送微信消息
通过文档和提供的调试工具,可以看到玩法,首先得获取 token ,然后才能进行下一步,目前的功能只需要实现发送微信消息即可,那么先获取 token,再对特定的人发送微信消息即可完成
1、获取 token,网友 安安 已经给出了怎么去获取 token 的步骤和方法和脚本,token 是一个有有效时间的密钥用于后续操作认证。
参数 | 必须 | 说明 |
access_token | 是 | 调用接口凭证 |
安安给出的获取 access_token 如下,后期脚本也是在这个基础上进行扩充
#!/usr/bin/env python
#coding:utf-8
#blog: www.anbooks.cn
import sys
import urllib
import urllib2
import time
import json
from optparse import OptionParser
reload(sys)
sys.setdefaultencoding('utf-8')
class Token(object):
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
2、发送 text
微信·企业号还支持发送其他类型的信息等,对于监控而言,发送 text 已经足够
post 数据根据文档的例子
{
"touser": "UserID1|UserID2|UserID3",
"toparty": " PartyID1 | PartyID2 ",
"totag": " TagID1 | TagID2 ",
"msgtype": "text",
"agentid": "1",
"text": {
"content": "Holiday Request For Pony(http://xxxxx)"
},
"safe":"0"
}
三、微信企业号功能
3.1 企业号消息服务
在系统公告中看到企业号的一些帮助信息,觉得企业微信号功能还是很强大的,比如这个企业号消息服务,官方已经有详细的说明,这里不在赘述,开通请看这里 开通微信企业号消息服务 可以非常方便不是好友的情况下实现发送非常定制化的消息,并且可以自己定制发送的人的级别等等,非常多的定制规则 不加好友进行聊天
3.2 企业号第三方应用
企业微信一开始就开放了 第三方应用平台 ,其中官方的 详细介绍 也写的比较清楚,这里用到的最明显的就是和 RTX 进行双向同步,可以利用微信直接回复 RTX 消息,需要安装一个插件 RTX微信企业号插件下载
目前更多的功能我也没用到,更多的功能请自行查看系统公告,里面官方的说明写的也很详细
参考阅读