Apicat - 实现阿里云的负载均衡的日志分析和自动拦截


基于OpenAPI定义进行增强HTTP日志分析的开源工具APIcat(项目主页)本周更新了阿里云相关功能,构建了从日志分析到实时拦截规则创建的整体流程。

APIcat通过阿里云Logstore功能读取日志,并通过SLB拦截规则创建接口实现拦截规则的自动创建。

为阿里云负载均衡打开自动拦截功能

配置日志存储

负载均衡CLB(SLB)默认不启动日志存储功能,需要手工创建并启动。

在负载均衡管理面板中选择日志管理-访问日志中对应负载均衡最后的操作栏中,点击设置,按指引配置SLS日志存储

 

 配置好后,显示的存储日志即可传入APIcat作为日志来源

 配置拦截规则


拦截规则依托于负载均衡的访问控制功能,首先需要在访问控制中创建一个策略组,策略组名称即可传入APIcat作为拦截规则的目标设置组

 设置AccessKey
正常运行APIcat除以上准备工作外,还需要为APIcat的运行申请一个Accesskey

在阿里云创建AccessKeyId和AccessKeySecret(点击头像,选择AccessKey管理),创建AccessKey或者子账户AccessKey都可以。

建议创建子账户AccessKey,子账户可以控制权限。可以选择AliyunSLBFullAccess或者自创建规则,包含slb的以下操作权限:

  • slb:AddAccessControlListEntry (写操作)
  • slb:DescribeAccessControlListAttribute (读操作)
  • slb:RemoveAccessControlListEntry (写操作)

以及日志权限

AliyunLogReadOnlyAccess

准备服务的OpenAPI定义

服务的OpenAPI定义可由开发生成,或者在线编辑

参数选择

完成以上设置之后,我们就可以运行APIcat(安装参考项目主页的说明)的watch命令实现实时读取日志,并实时配置拦截规则,运行参数如下

.\apicat.exe watch -d .\example\openapi.yaml --source aliyun --dest aliyun --aliyun-accesskey-id xx --aliyun-accesskey-secret xx --aliyun-region-id xx --aliyun-dest acl-xx project/logstore    


参数设置包括

--source aliyun 设置为从阿里云日志读取

--dest aliyun 设置为配置到阿里云

--aliyun-accesskey-id xx --aliyun-accesskey-secret xx --aliyun-region-id xx

阿里云账户的accesskey-id和accesskey-secret,以及负载均衡所在的region的id

--aliyun-dest acl-xxx 阿里云负载均衡的控制规则名称

最后跟上存储日志的SLS地址即可。

后期可调整拦截的具体规则,具体参考这里
 

 


相關推薦

2022-12-03

OpenAPI Log Cat(下简称APIcat)是一款基于OpenAPI定义文档对nginx/阿里云日志进行分析的开源工具,和原有网络日志分析工具多从底层或常见漏洞匹配的扫描逻辑不同,得益于OpenAPI定义文档的加入,对日志分析可以深入到应用逻辑层

2023-05-30

lierFactory添加一个通用的set方法 对于想要传值来构建不同实现类型的小伙伴来说,每个厂商一个set方法用起来不太方便,这里我们整合了一个完整的set方法,可以实现所有厂商的set 添加负载均衡工具 在本次的版本中添加了一

2022-09-30

控制台 支持单机/集群模式 [重大更新] 重写 spring-cache 实现 更人性化的操作 支持注解指定ttl等一些参数 [重大更新] 新增 RuoYi-Cloud-Plus-UI 项目 Vue3 前端分支 [重大更新] 移除maven docker插件 过于老旧功能缺陷大 使用idea自带

2022-11-26

错误内容 500 错误等 可查看请求耗时列表,服务器内部负载情况 可在后台配置负载均衡,添加域名转发,无需重启服务器 可在后台配置 SSL 证书,无需重启服务器 对黑名单的用户,如果频繁访问,则防火墙对 IP 封禁 对 GET

2024-08-10

应度,以满足上层数据应用的性能需求。 SelectDB 通过实现了大规模数据实时导入与实时存储和多种查询负载上的极速分析性能,解决了实时分析的难点。 在数据导入存储方面,SelectDB 完成了以下功能: 秒级的数据实时

2023-05-12

更新说明 ApiCat 迎来了 v2.2.0 版本,在原基础上优化了 AI 生成内容的准确度,并且修复了一些 Bug,增加了用户功能。 仓库地址:apicat: ApiCat是一款基于AI技术的API开发工具,分析识别用户输入的API需求,自动生成相应的API文

2023-06-15

更新说明 ApiCat 迎来了 v2.4.0 版本 本次版本增加了: 团队成员以及成员权限,可以方便的管理团队内的所有成员。 项目成员以及成员权限,现在可以添加团队中的成员进入项目中,并为成员分配不同权限操作项目。 同

2023-11-28

出问题 缓存注解 采用 Spring-Cache 注解 对其扩展了实现支持了更多功能 例如 过期时间 最大空闲时间 组最大长度等 只需一个注解即可完成数据自动缓存 需手动编写Redis代码逻辑 ORM框架 采用 Mybatis-Plus 基于对象几乎

2023-02-04

Bolt SOFABolt 是蚂蚁金融服务集团开发的一套基于 Netty 实现的网络通信框架。 为了让 Java 程序员能将更多的精力放在基于网络通信的业务逻辑实现上,而不是过多的纠结于网络底层 NIO 的实现以及处理难以调试的网络问题

2023-08-18

合,减少数据冗余和移动,具有简化技术栈架构的能力;实现业务与技术解耦,支持自助式分析和敏捷分析;无论是数据湖中的非结构化或半结构化数据,还是数据库中的结构化数据,都可使用 StoneData 构建企业的数据分析平台

2023-11-16

ocket接收消息(感谢 三个三) add 增加 rpc消息推送接口与实现 add 新增 CacheController Redis 缓存监控接口(感谢 Michelle.Chung) 问题修复 fix 修复 因扩展服务不支持boot3导致无法引入common-web包 日志写出不生效问题 fix 修复 se

2023-01-14

化 BaseMapperPlus 使用 MP V3.5.3 新工具类 Db 简化批处理操作实现 update 优化 demo服务 过滤健康检查 sql 打印 update 优化 代码生成与框架主体使用相同的主键生成器 全局统一避免问题 update 优化 系统登录 使用单表查询校验用

2024-07-10

重大更新 [重大更新] 使用 caffeine 重构 PlusSaTokenDao 层实现 减少将近90%的redis查询提高性能 [重大更新] 新增 PlusCacheWrapper 装饰器 为 SpringCache 增加本地缓存减少redis查询提高性能 [重大更新] 升级 awsS3 到2.X版本 支持异步

2023-09-07

sp; SOFABolt 是蚂蚁金融服务集团开发的一套基于 Netty 实现的网络通信框架。 为了让 Java 程序员能将更多的精力放在基于网络通信的业务逻辑实现上,而不是过多的纠结于网络底层 NIO 的实现以及处理难以调试的网络问题