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地址即可。

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

 

优秀的个人博客,低调大师

微信关注我们

原文链接:https://www.oschina.net/news/221122

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Apache Tomcat7、8、9(Java Web服务器)

Apache Tomcat7、8、9(Java Web服务器)

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。