如何发送微信告警通知?怎样利用微信实现自动发送监控告警

知梧 1114 2023-07-02

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

想实现微信告警其实方法很多,但大部分方式都有自己的局限性。比如Zabbix 3.0版本后可以使用微信公众号配置 Zabbix 报警了,但需要申请一个微信服务号,接入复杂,要认证,周期较长!

简单高效的方式有没有呢?有,最简单的方式就是接入第三方工具,比如我们睿象云智能告警平台,不仅可以简单高效的实现微信等社交软件告警,还有多种实用告警功能,比如汇集多个监控告警,对通知告警压缩降噪,如果要通知的人比较多,还可以设置通知规则,甚至还可以排班!

微信告警的实现在我们这里特别简单,只需要关注我们的公众号,绑定一下账号就可以了!既不需要复杂的配置,也不需要微信服务号的注册认证,简单方便到极点。

第三方平台工具的一个优势是,匹配了多种监控和多种社交工具。告警整个流程通常是监控工具把告警信息发送给社交软件,现在的监控工具很多,社交软件也很多,这就要求监控工具和接收端的匹配。如果一个一个的匹配其实是非常麻烦的,而且一个公司也不需要所有的监控和接收。最好的解决方案就是第三方平台,汇集多种监控工具,打通多种社交工具,让其他公司有丰富的选择权,简单高效,省下了很多匹配工作。

监控工具方面,我们接入了包括Zabbix在内的100多种监控工具:Promethues、Nagios、Open-Falcon、Grafana、Cacti、Solarwinds、Site24x7、VMWare、AWS、阿里云监、监控同时还支持API集成、邮箱集成。

社交软件端,我们支持丰富的渠道通知,包括:电话、短信、微信、邮件、钉钉、原生App 等多种通知方式,还支持钉钉、企业微信、简聊、Webhook、飞书 等第三方协作工具,实现告警团队协作处理,帮助团队更快找到故障根因。除了微信,钉钉、企业微信的设置也很简单,还有告警降噪,通知规则等功能,都是很实用的。感兴趣可以试用一下,只用微信的话免费版就可以,价格很便宜。


个人号发送告警

顾名思义,虽然也是调用微信的API实现发送信息,但是这种方式需要使用个人账号扫描登录以后脚本才能运行,另外从接受告警的形式上看起来也就像是跟一个人在聊天。当前已经有很多热心的大神将微信的接口封装成了更加易于调用的接口SDK,如wxpy和wechat sender可以大大简化接口调用的复杂度

公众号发送告警

使用公众号发送告警,从形式上看起来更加正式,并且不需要扫码登录,更适合部署在服务器上长期运行。因为近期微信的企业号和公众号做了合并,因此申请的流程有了一些变化,但是总体来说更加简单了,即使没有真正的公司注册信息也同样可以申请到,只是未验证主体信息的账号只能有200个成员,发送次数的限制为:帐号上限数*30人次/天

注册公众号(企业号)

现在申请的过程非常简单,申请入口:https://work.weixin.qq.com/

查看公众号

注册完成后可以进入到后台管理页面,点击微信插件,可以看到我们企业号的二维码,并可以进行添加成员等操作


使用微信告警

一、 使用企业微信告警

地址如下:

https://work.weixin.qq.com/wework_admin/frame没有企业微信需要注册:https://work.weixin.qq.com/

二、主要是用获取的token去发送微信消息

利用企业id和企业secret去获取tocken,利用获取到的tocken来发送微信消息

三、具体的python脚本实现如下


#!/usr/bin/python
# -*- coding: utf-8 -*-import json
import sys
import urllib,urllib2

#需要三个变量corpid、corpsecret、agentid
agentid = 'xxx'corpid = 'xxxxx'corpsecret = 'xxxx'#获取tocken,存在my_token里面
gettoken_url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=' + corpid + '&corpsecret=' + corpsecret
token_file = urllib2.urlopen(gettoken_url)
token_data = token_file.read().decode('utf-8')
token_json = json.loads(token_data)
my_token = token_json['access_token']

#利用获取到的tocken发送微信信息
touser=sys.argv[1] #发送给谁,多个用分号分享,例如'zhangsan|wangwu'content=sys.argv[2] #发送的内容
post_content = {        "touser":touser,        "agentid":agentid,        "msgtype": "text",        "text":{                "content":content,
        }
}
json_content = json.dumps(post_content)

url = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=' + my_token
response = urllib2.urlopen(url,json_content)

#查看返回结果
print response.read().decode('utf-8')

四、调用

python /usr/local/src/script 'zhangsan' '所剩余内存不足100M'

五、zabbix设置(到alertscripts目录下)

vim zabbix_wx.py
把上述脚本拷贝进去

六、报警媒介添加微信告警

{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}

七、设置企业微信用户名

就是企业微信的账号

八、添加触发微信告警的动作

九、进行测试

以上就是小编为大家整理的关于微信告警的相关内容。

上一篇:事件分派(怎样解决java中的分派事件)
下一篇:运维监控中告警收敛有哪些问题?告警收敛算法有啥优缺点
相关文章

 发表评论

暂时没有评论,来抢沙发吧~