type
status
date
summary
slug
tags
category
password
icon

背景说明

银行项目的服务器都是处于行方的内网环境中,运维的监控告警手段只有邮件和电话;每次收到邮件又没有很好的提醒效果,而电话告警方式播报告警内容的时候不够明确,且接听麻烦。因此可以增加微信告警方式(告警内容清晰明确且收到微信也能及时提醒)。虽然内网环境的服务器不能直接通过zabbix调用微信接口发送告警,但可以利用邮件与外网联通。具体做法就是把告警邮件发送给自己的邮箱,然后利用自己服务器通过python扫描邮件,一旦发现有新的告警邮件就通过企业微信接口发送消息到微信

准备工作

1、去企业微信官网注册用户,点此进入官方链接(注册个人的就行,不需要企业),注册完之后并登录在应用管理里面创建应用,该应用就是用于发送告警消息的,创建好应用点击进入就可以看到有API发送消息的能力。然后就可以通过企业微信API里面的发送消息接口给创建好的应用发送消息,具体调用方法请移步企业微信开放平台
notion image
2、一个专门用于接收告警邮件的邮箱,我这里需要用的是IMAP服务,所以使用QQ邮箱。邮箱设置里面的账户需要开启POP,开启后会提供一个授权码(python脚本里面登陆邮箱的时候需要用到这个授权码),并设置收件规则把告警邮件都转移到master文件夹内
notion image
3、准备一台能通公网的服务器,通过这个服务器登陆邮箱并发送告警消息

脚本参考

1、调用发送应用消息接口需要接口调用凭证(access_token),access_token有时间限制,有效期为两小时(有效期内无限制使用),过期后需要重新获取,所以把获取凭证脚本(get_token.py)添加到定时任务,每小时获取一次就可以了。
其中企业corpid在企业微信后台企业信息里面可以看到,企业应用secret在企业微信创建的应用里面也可以看到
2、登陆邮箱扫描并解析邮件和发送消息脚本(master.py)
3、脚本测试ok,然后后台运行就可以了

接收告警

企业微信后台:
我的企业->微信插件->允许成员在微信插件中接收和回复聊天消息
notion image
notion image
腾讯云docker镜像仓库Python
zoehuawang
zoehuawang
一个普通的干饭人🍚
公告
type
status
date
summary
slug
tags
category
password
icon
🎉zoehuawnag , 欢迎关注🎉