MinBox Logging
是一款分布式、零侵入式的链路日志分析框架,支持SpringCloud
微服务架构下配置使用,内部封装了RestTemplate
、OpenFeign
两种方式透传链路信息。
MinBox Logging
无需使用注解配置采集链路日志,只需要添加依赖
后简单配置Minbox Loggin Admin
的相关地址
或服务名称
即可,每次在收到请求时就会把请求对应的链路日志详细信息自动上报到MinBox Logging Admin
进行后续分析、告警通知等。
链路日志
的采集端,也就是具体的业务服务,只需要添加minbox-logging-client
客户端进行简单的配置就可以实现日志的采集以及日志的异步上报。
对外提供安全的日志上报
功能,通过整合Spring Security
来完成Basic Auth
基础认证,管理端接收到采集端上报的日志后会自动将日志存储到数据库,考虑到扩展方便,同样也提供监听日志上报事件(ReportLogEvent)
的方式来自定义存储日志到消息队列
、logstash
、文件
等存储介质。
MinBox Logging Admin
提供了界面管理应用程序,通过VUE
前端框架进行编写界面与管理端的接口通讯,实时展示链路日志
、日志采集服务列表
等信息,可查看每条链路日志的详细信息(包含:请求头、请求参数、响应内容、响应头、状态码、异常堆栈信息等)。
可以直接整合Spring Security
来完成Basic
安全认证。
请求日志的采集服务在第一次上报时,会自动创建一条服务记录,服务的唯一性是根据:服务ID
+ 服务IP
+ 服务端Port
来进行定义。
在每次上报日志成功后会修改服务的最后一次上报时间。
链路日志是我们访问的入口服务生成,比如:bff-user
-> user-service
,链路日志产生的位置则是bff-user
服务,链路日志是接口请求的入口
也是做出响应的结束位置
,因此我们可以在页面上查看接口的请求参数详情
、头信息
以及响应的内容
,至于链路日志内的日志单元
目前界面还未做展示,可以根据traceId
链路日志编号自行去数据库查询。
每一个请求的链路日志都会包含上图中的全部字段,从请求开始 -> 响应结束一条链路闭合记录。
MinBox Logging Admin UI
内部提供了login.html
登录页面,可以整合Spring Security
通过配置loginPageUrl
登录跳转地址来使用内置的登录页面,当然也可以自定义登录页面。
可与MinBox Logging Admin
共同使用Spring Security
的相同配置提升安全性。
当前版本的文档,请访问Wikis
请访问快速开始的wikis
文档来查看并快速接入MinBox Logging
,快速接入文档
MinBox Logging
使用Maven
进行构建项目。
源码拉取需使用Git
,具体使用方式详见安装 Git
源码采用JDK1.8
版本进行编写,请注意修改使用项目的JDK
版本,JDK 1.8下载地址
需本地安装Maven
环境,Maven 下载地址
因logging-admin-ui
所需vue-cli-service
命令支持,本地需要安装vue-cli
。
git clone [email protected]:minbox-projects/minbox-logging.git
mvn install
mvn clean package
MinBox Logging
内的模块都已经上传到Apache Maven Center
中央仓库,添加对应的依赖到pom.xml
会自动下载到本地。
MinBox Logging
欢迎广大开发者创建Pull Request
来贡献代码,代码通过审核后会被合并到master
主分支。
MinBox Logging
采用Apache2
开源许可。