支持百亿级别、无代码入侵的一个Java分布式日志系统源码分享

1,275 阅读2分钟

一个java分布式日志系统,支持百亿级别,日志从搜集到查询,不用去文件中翻阅日志方便快捷,支持查询一个调用链的日志,支持链路追踪,查看调用链耗时情况,在分布式系统中也可以查询关联日志,能够帮助快速定位问题,简单易用,没有代码入侵,查询界面友好,高效,方便,只要你是java系统,不要做任何项目改造,接入直接使用,日志不落本地磁盘,无需关心日志占用应用服务器磁盘问题.

Plumelog一个简单易用的java分布式日志组件

一、系统介绍

  1. 无入侵的分布式日志系统,基于log4j、log4j2、logback搜集日志,设置链路ID,方便查询关联日志
  2. 基于elasticsearch作为查询引擎
  3. 高吞吐,查询效率高
  4. 全程不占应用程序本地磁盘空间,免维护;对于项目透明,不影响项目本身运行
  5. 无需修改老项目,引入直接使用,支持dubbo,支持springcloud

二、架构

支持百亿级别、无代码入侵的一个Java分布式日志系统源码分享

  • plumelog-core 核心组件包含日志搜集端,负责搜集日志并推送到kafka,redis等队列
  • plumelog-server 负责把队列中的日志日志异步写入到elasticsearch
  • plumelog-ui 前端展示,日志查询界面
  • plumelog-demo 基于springboot的使用案例

三、使用方法

编译安装如下

前提:kafka或者redis 和 elasticsearch(版本6.8以上最好) 自行安装完毕,版本兼容已经做了,理论不用考虑ES版本

  1. 打包
  • maven deploy -DskipTests 上传包到自己的私服私服地址到plumelog/pom.xml改

       <properties>
          <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
          <distribution.repository.url>http://172.16.249.94:4000</distribution.repository.url>
        </properties>
    

使用文档

四.版本计划

2.X功能:

  • 基于traceId的日志记录,日志查询,日志缓冲队列 redis或者kafka
  • 跨应用支持,dubbo,springCloud
  • 支持简单的链路追踪
  • 支持跨机房部署
  • 简单的日志统计功能

3.0计划版本

  • 增加错误报警
  • 增加慢调用报警
  • 增加非java项目日志搜集功能,例如nginx
  • 更多功能大家可以建议

支持百亿级别、无代码入侵的一个Java分布式日志系统源码分享

看完三件事❤️

如果你觉得这篇内容对你还蛮有帮助,我想邀请你帮我三个小忙:

  1. 点赞,转发,有你们的 『点赞和评论』,才是我创造的动力。

  2. 关注公众号 『 java烂猪皮 』,不定期分享原创知识。

  3. 同时可以期待后续文章ing🚀

  4. .关注后回复【666】扫码即可获取学习资料包