项目简介
本系统是基于Spring Boot和Netty框架的分布式日志收集与分析系统。旨在解决分布式系统中日志收集和分析难题,以高度可定制且不侵入应用代码的方式实现日志数据的采集与分析。借助javassist
和Spring框架集成,能在不干扰应用正常运行时捕获并记录关键日志信息,尤其是Web请求。
项目的主要特性和功能
- 日志自动收集:通过Agent配置自动收集日志,无需修改现有项目代码。
- 手动埋点:支持使用
LoggerReceived
进行自定义埋点,便于开发者按需记录日志。 - 高性能数据传输:数据传输层采用
netty+protobuf
,提升网络大并发性能。 - 日志数据处理与持久化:可将收集的日志数据发送至
data-xplorer-server
进行高级处理和持久化。 - 前端日志收集:提供前端收集接口,支持前端事件收集和统一traceId生成。
- 日志增强:利用
javassist
库动态修改类的字节码,增强日志功能。 - 多数据库支持:支持MySQL、Oracle、PostgreSQL等多种数据库类型。
安装使用步骤
1. 编译项目
bash
mvn clean package install
2. 配置Agent
方式一:通过命令行参数配置
- 将编译好的
jdata-xplorer-agent-1.0-SNAPSHOT.jar
放在指定位置,如\usr\local\agent
。 - 在启动脚本上加入
-javaagent:\usr\local\agent\data-xplorer-agent-1.0-SNAPSHOT.jar
的命令参数。
方式二:通过Maven依赖配置
xml
<dependency>
<groupId>com.javayh.agent</groupId>
<artifactId>data-xplorer-agent-boot-starter</artifactId>
</dependency>
无论采用哪种方式,都需在需要监听的服务内添加如下配置:
yaml
data:
xplorer:
host: 127.0.0.1
port: 9098
show-log: true
inbound-transfer-rate:
data-throughput: 100
period: 45
initial-delay: 30
3. 启动服务
启动DataXplorer
服务,访问http://ip:9090/admin/api/index
,用户名密码均为DataXplorer
。
4. 日志收集与分析
- 自动收集:进行Agent的配置进行自动的日志收集。
- 手动埋点:通过使用
LoggerReceived
进行自定义的埋点。
5. 前端日志收集
- 生成统一的traceId:访问
localhost:9090/admin/api/fr/ev/trace
。 - 通过接口进行收集:访问
localhost:9090/admin/api/fr/ev/collect
,并传入相应的JSON数据。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】