网站首页 > 资源文章 正文
1. 项目背景
朋友在一家日企,运维工具老旧,希望增加一款系统告警工具。我提议通过微信企业号(改版为企业微信)或者短信推送告警信息。提出两点要求:
- 可以群发给企业微信中的多个人
- 监测健康检测服务是否存活(绕嘴。。)
做了第一版demo,定位为通信渠道的http代理。贴出企业微信相关代码,如果有需要的同学可以拿去用,记得点个star就好。
https://github.com/wangyuheng/pharos
1.1 依赖项目
因为定位为http代理,并未使用数据库及持久化工具。
- springboot
- 企业微信接口 https://work.weixin.qq.com/api/doc
- 可能是目前最好最全的微信Java开发工具包(SDK)https://github.com/Wechat-Group/weixin-java-tools
- swagger 工具 https://github.com/wangyuheng/spring-boot-swagger-starter
2. 项目code
代理入口为健康检测工具,出口为企业微信、短信等。同时需要保障和健康检测工具之间的网络通畅。
最近在尝试画图
2.1 微信接口
企业微信相关配置如下
- corpid 企业ID
- agentid 应用ID,在企业微信管理后台创建应用后,可以查看应用ID
- corp.secret 应用的凭证密钥
weixin-java-tools已经对微信接口进行了友好的封装,可以通过标签、部门等分组,查询用户标识。配置bean方法如下
同时也提供了发送消息、已经封装消息的类
2.2 restful接口
对外暴露的接口主要提供两个功能
- 代理企业微信,用于查询部门、标签、userId等
- 发送告警信息
具体实现在service中,restful暴露了http请求接口及swagger接口。并且将首页指向了swagger页面
2.3 验权
两种验权方式
- 参数+secret通过SHA加密签名
- ip白名单
通过interceptor实现
2.3.1 白名单校验
2.3.2 接口参数签名校验
SHA加密工具封装
如果需要对sign有效期进行校验,需要提供获取服务器时钟的方法,避免因为服务器时间不一致导致的时间差, 此方法可以通过@Anonymous去掉验权操作。
2.4 健康检测
定时用http get 请求确认网络通畅,如果网络连接失败次数超过阈值,报警给系统管理员
通过Scheduled编写定时任务
在配置bean中需要注入bean并允许启动调度
3. 其他
项目写的比较仓促,后续根据实际使用场景进行调整优化。都是站在巨人的肩膀上,利用现成的工具进行拼装。 如果有建议或者希望实现哪些功能,可以留言或者给我提issue
猜你喜欢
- 2024-09-21 基于JavaEE——微信网页(一)角色的基本说明
- 2024-09-21 移动开发:SpringBoot整合微信小程序登录
- 2024-09-21 java使用API在微信开发者平台接入一个机器人回复
- 2024-09-21 微信公众平台开发java版之公众平台注册,设置,登录(第一课)
- 2024-09-21 Java基于微信公众号接口实现授权登录源码及原理分析
- 2024-09-21 基于微信小程序的游戏论坛设计与实现-计算机毕业设计源码+LW文档
- 2024-09-21 用Java搭建微信公众号生成access_token
- 2024-09-21 Jeewx-api 1.4.9 版本发布—第三方APP开发SDK,支持微信、钉钉等
- 2024-09-21 SpringBoot实战之—与微信小程序的通信(附源码)
- 2024-09-21 Joolun微信小程序源码功能一览表(Java)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 电脑显示器花屏 (79)
- 403 forbidden (65)
- linux怎么查看系统版本 (54)
- 补码运算 (63)
- 缓存服务器 (61)
- 定时重启 (59)
- plsql developer (73)
- 对话框打开时命令无法执行 (61)
- excel数据透视表 (72)
- oracle认证 (56)
- 网页不能复制 (84)
- photoshop外挂滤镜 (58)
- 网页无法复制粘贴 (55)
- vmware workstation 7 1 3 (78)
- jdk 64位下载 (65)
- phpstudy 2013 (66)
- 卡通形象生成 (55)
- psd模板免费下载 (67)
- shift (58)
- localhost打不开 (58)
- 检测代理服务器设置 (55)
- frequency (66)
- indesign教程 (55)
- 运行命令大全 (61)
- ping exe (64)
本文暂时没有评论,来添加一个吧(●'◡'●)