项目简介
本系统是基于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】