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

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 优化 系统登录 使用单表查询校验用

2022-08-31

t(type, writer); } } return new ResponsePlugin(writerMap); } 用户自定实现 :rg.apache.shenyu.plugin.response.strategy.MessageWriter /** * The interface Message writer. */ public interface MessageWriter { /** * Write with exchange and shenyu plugin chain. * * @param exchange exchange

2023-07-05

、高吞吐的交互式分析与高并发的点查询;通过一套架构实现湖和仓的统一、在数据湖和多种异构存储之上提供无缝且极速的分析服务;也可通过对日志/文本等半结构化乃至非结构化的多模数据进行统一管理和分析、来满足更

2023-09-07

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