根据微信官方的规则,企业可以主动发消息给成员,每天可发的数量为:帐号上限数*30人次/天。默认账号上线是200人,也就是一天最多只能发200*30=6000条信息。

nagios通过微信告警(无限制告警条数)_第1张图片

nagios通过微信告警(无限制告警条数)_第2张图片

随着使用微信告警的项目越来越多,有时候遇到网络问题6000根本不够用,其实微信还提供了另外一种告警方式:会话服务,其实这个会话就是一个群聊的功能,我们通过会话服务就可以无限制的告警了,但是会话告警没有应用告警方便,要是有很多不同监控项目、不同人群接受的话就需要创建不同的会话,像我们做运维的,大部分项目监控都需要参与,就会造成满屏都是会话了,而应用告警就不同,他可以通过标签来告警,同一个应用不同的人收到的告警信息就不同。


nagios通过微信企业

号告警可以参考之前发布的文章:Nagios调用Python程序控制微信公众平台发布报警信息


1、创建虚拟用户,用以发送告警信息

既然是群聊就需要创建一个用户来发送信息,后面只需要将该虚拟用户加入到每个群聊里。

nagios通过微信告警(无限制告警条数)_第3张图片

2、开启企业会话

要使用企业会话需要在企业号里开启该功能,这个会话就相当于我们前面的应用,也有一个

SecretID,后面发送告警信息也是需要它

nagios通过微信告警(无限制告警条数)_第4张图片

nagios通过微信告警(无限制告警条数)_第5张图片

3、获取Access Token

发送消息我们需要先获取会话的Token,通过上图的corpid、secret通过官方的接口调试工具来获取Token

nagios通过微信告警(无限制告警条数)_第6张图片

4、创建群聊

创建群聊最好是用官方的接口调试工具来创建,通过手机客户端创建的会话ID是临时的。

nagios通过微信告警(无限制告警条数)_第7张图片

nagios通过微信告警(无限制告警条数)_第8张图片

注意:userlist里一定要把owner加入里面,否则无法创建群聊

nagios通过微信告警(无限制告警条数)_第9张图片

这时可以在手机端看到创建的会话了


5、配置告警发送消息

消息支持文本、图片、文件,

text消息请求(群聊):

nagios通过微信告警(无限制告警条数)_第10张图片

nagios通过微信告警(无限制告警条数)_第11张图片

nagios通过微信告警(无限制告警条数)_第12张图片


link消息请求(群聊):

nagios通过微信告警(无限制告警条数)_第13张图片

nagios通过微信告警(无限制告警条数)_第14张图片

nagios通过微信告警(无限制告警条数)_第15张图片


下面就是需要在我们的告警系统里调用这些接口了,nagios通过微信企业号告警可以参考之前发布的文章:Nagios调用Python程序控制微信公众平台发布报警信息

需要修改corpid、corpsecret、send_url、send_values。

脚本里的send_url就是Https的POST请求方式地址: https://qyapi.weixin.qq.com/cgi-bin/chat/send?access_token=ACCESS_TOKEN


脚本里send_values就是发送消息的请求包结构体:

{

   "receiver":

   {

       "type": "single",

       "id": "lisi"

   },

   "sender": "zhangsan",

   "msgtype": "text",

   "text":

   {

       "content": "Holiday Request For Pony(http://xxxxx)"

   }

}

至此,就可以通过微信无限制发送告警信息了。