zabbix 报警之微信报警

         日常都是短信和邮件的报警,虽然已经可以满足需求,但是对于现在微信这么流行的情况下能用微信报警自然更方便,更加迅速和实时,毕竟现在微信基本上天天都会使用,而且流量现在也比较便宜

 

一、微信设置

1.1 微信号介绍

看 微信·公众平台 首页介绍也看到微信·公众平台 有三种类型

  • 服务号

    • 公众平台服务号,是公众平台的一种帐号类型,旨在为用户提供服务。
    • 1个月(自然月)内仅可以发送4条群发消息。
    • 发给订阅用户(粉丝)的消息,会显示在对方的聊天列表中。相对应微信的首页。
    • 服务号会在订阅用户(粉丝)的通讯录中。通讯录中有一个服务号的文件夹,点开可以查看所有服务号。
    • 服务号可申请自定义菜单。
  • 订阅号

    • 公众平台订阅号,是公众平台的一种帐号类型,旨在为用户提供信息。
    • 每天(24小时内)可以发送1条群发消息。
    • 发给订阅用户(粉丝)的消息,将会显示在对方的“订阅号”文件夹中。点击两次才可以打开。
    • 在订阅用户(粉丝)的通讯录中,订阅号将被放入订阅号文件夹中。
  • 企业号

    • 企业号适用于企业与员工或上下游供应链之间的沟通。
    • 企业可以主动发消息给员工,消息量不受限制。
    • 企业号出现在微信会话列表首层,在通讯录中有单独的分类。
    • 可以自定义菜单。
    • 拥有多个子号。

5、更加关注与安全,需要双方认证。

关于三种类型账号的区别,可自行查看相关仔细说明,就监控而言,订阅号和企业号都能满足需求,但是企业号限制更少,发送消息更加方便,限制更少,外加上个人可以申请一个关注者 50 人限制的企业体验号,免费的哟,对于监控人员而言,这已经是足够了,所以后续都以 微信企业号来进行讲述 zabbix + 微信企业号 报警的步骤。

1.2 开通企业微信号

根据提示进行注册,注意有些选项已经提示很清楚了,一旦设置就不能修改,所以填写这些选项之前想清楚,其他按照提示即可

二、设置报警

2.1 设置企业微信号

配置 zabbix 完成微信报警之前得先对企业号进行一点设置

1、申请完成
这里唯独要注意的选择 【团队】

2、邮箱激活
3、扫描二维码登录
4、新建一个组织架构
这里我新建了一个【运维组】,新增一名成员,作为报警成员。设置完成之后用户本身即可通过二维码进行扫码关注,双方验证通过,即可
新增监控成员

5、新建一个应用,用作监控,获取应用 id
新建一个app

6、指定该应用的管理员,获取 corpid、sceret
指定管理员

这里有几个参数后面是需要的,应用的 id、corpid、sceret,下面开始操刀动手

2.2 发送微信消息

通过文档和提供的调试工具,可以看到玩法,首先得获取 token ,然后才能进行下一步,目前的功能只需要实现发送微信消息即可,那么先获取 token,再对特定的人发送微信消息即可完成

1、获取 token,网友 安安 已经给出了怎么去获取 token 的步骤和方法和脚本,token 是一个有有效时间的密钥用于后续操作认证。

参数 必须 说明
access_token 调用接口凭证

安安给出的获取 access_token 如下,后期脚本也是在这个基础上进行扩充

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/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 数据根据文档的例子

1
2
3
4
5
6
7
8
9
10
11
{
   "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微信企业号插件下载

目前更多的功能我也没用到,更多的功能请自行查看系统公告,里面官方的说明写的也很详细

  

参考阅读

猜你喜欢

转载自hugoren.iteye.com/blog/2284477