1、简介

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


2、部署准备

本文消息队列采用Redis,其余支撑组件还有ES,在接下来的部署过程中,请大家将所需环境准备好,如有需要可以从下文快速部署环境:

Redis快速部署

elasticsearch快速部署


3、下载

大家可以去官网下载,下面我也提供了我测试使用的版本:

链接:https://pan.baidu.com/s/13xA55auHSSzV9KVBYJy7dw 
        提取码:9pxv


4、部署PlumeLog-3.5

解压安装包,得到目录结构:

4.1、修改 application.properties

1.1修改redis对应配置plumelog.queue.redis.redisHost=localhost:6379#如果使用redis有密码,启用下面配置plumelog.queue.redis.redisPassWord=876543plumelog.queue.redis.redisDb=0
1.2修改es对应配置plumelog.es.esHosts=localhost:9200plumelog.es.shards=5plumelog.es.replicas=0plumelog.es.refresh.interval=30s#日志索引建立方式day表示按天、hour表示按照小时plumelog.es.indexType.model=dayplumelog.es.maxShards=100000
1.3设置登录账号密码#登录配置,配置后会有登录界面login.username=adminlogin.password=admin

完整配置文件:

spring.application.name=plumelog_server
spring.profiles.active=test-confidential
server.port=8891
spring.thymeleaf.mode=LEGACYHTML5
spring.mvc.view.prefix=classpath:/templates/
spring.mvc.view.suffix=.html
spring.mvc.static-path-pattern=/plumelog/**
spring.boot.admin.context-path=admin#值为4种 redis,kafka,rest,restServer
#redis 表示用redis当队列
#kafka 表示用kafka当队列
#rest 表示从rest接口取日志
#restServer 表示作为rest接口服务器启动
#ui 表示单独作为ui启动
#lite 简易模式启动不需要配置redis等
plumelog.model=redis
#plumelog.lite.log.path=/Users/chenlongfei/lucene
#如果使用kafka,启用下面配置
#plumelog.kafka.kafkaHosts=172.16.247.143:9092,172.16.247.60:9092,172.16.247.64:9092
#plumelog.kafka.kafkaGroupName=logConsumer#队列redis地址,model配置redis集群模式,哨兵模式用逗号隔开,队列redis不支持集群模式
plumelog.queue.redis.redisHost=localhost:6379
#如果使用redis有密码,启用下面配置
plumelog.queue.redis.redisPassWord=876543
plumelog.queue.redis.redisDb=0
#哨兵模式需要配置的
#plumelog.queue.redis.sentinel.masterName=myMaster#管理端redis地址 ,集群用逗号隔开,不配置将和队列公用
#plumelog.redis.redisHost=127.0.0.1:6379
#如果使用redis有密码,启用下面配置
#plumelog.redis.redisPassWord=123456
#plumelog.redis.redisDb=0
#哨兵模式需要配置的
#plumelog.redis.sentinel.masterName=myMaster#如果使用rest,启用下面配置
#plumelog.rest.restUrl=http://127.0.0.1:8891/getlog
#plumelog.rest.restUserName=plumelog
#plumelog.rest.restPassWord=123456#redis解压缩模式,开启后不消费非压缩的队列
#plumelog.redis.compressor=true#elasticsearch相关配置,Hosts支持携带协议,如:http、https
plumelog.es.esHosts=localhost:9200
plumelog.es.shards=5
plumelog.es.replicas=0
plumelog.es.refresh.interval=30s
#日志索引建立方式day表示按天、hour表示按照小时
plumelog.es.indexType.model=day
plumelog.es.maxShards=100000
#ES设置密码,启用下面配置
#plumelog.es.userName=elastic
#plumelog.es.passWord=elastic
#是否信任自签证书
#plumelog.es.trustSelfSigned=true
#是否hostname验证
#plumelog.es.hostnameVerification=false#单次拉取日志条数
plumelog.maxSendSize=100
#拉取时间间隔,kafka不生效
plumelog.interval=100#plumelog-ui的地址 如果不配置,报警信息里不可以点连接
plumelog.ui.url=http://demo.plumelog.com#管理密码,手动删除日志的时候需要输入的密码
admin.password=123456#日志保留天数,配置0或者不配置默认永久保留
admin.log.keepDays=30
#链路保留天数,配置0或者不配置默认永久保留
admin.log.trace.keepDays=30
#登录配置,配置后会有登录界面
login.username=admin
login.password=admin

4.2、关联项目

依赖的maven

        <!--PlumeLog--><dependency><groupId>com.plumelog</groupId><artifactId>plumelog-logback</artifactId><version>2.1.1</version></dependency>

我的项目使用的是LogBack输出日志

我只列出了主要修改的部分,其他的日志输出配置大家可以去网上查询

<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false" scan="false"><appender name="consoleApp" class="ch.qos.logback.core.ConsoleAppender"><layout class="ch.qos.logback.classic.PatternLayout"><pattern>%date{yyyy-MM-dd HH:mm:ss.SSS} %-5level[%thread]%logger{56}.%method:%L -%msg%n</pattern></layout></appender><appender name="fileInfoApp" class="ch.qos.logback.core.rolling.RollingFileAppender"><filter class="ch.qos.logback.classic.filter.LevelFilter"><level>ERROR</level><onMatch>DENY</onMatch><onMismatch>ACCEPT</onMismatch></filter><encoder><pattern>%date{yyyy-MM-dd HH:mm:ss.SSS} %-5level[%thread]%logger{56}.%method:%L -%msg%n</pattern></encoder><!-- 滚动策略 --><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!-- 路径 --><fileNamePattern>log/info.%d.log</fileNamePattern></rollingPolicy></appender><appender name="fileErrorApp" class="ch.qos.logback.core.rolling.RollingFileAppender"><filter class="ch.qos.logback.classic.filter.ThresholdFilter"><level>ERROR</level></filter><encoder><pattern>%date{yyyy-MM-dd HH:mm:ss.SSS} %-5level[%thread]%logger{56}.%method:%L -%msg%n</pattern></encoder><!-- 设置滚动策略 --><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!-- 路径 --><fileNamePattern>log/error.%d.log</fileNamePattern><!-- 控制保留的归档文件的最大数量,超出数量就删除旧文件,假设设置每个月滚动,且<maxHistory> 是1,则只保存最近1个月的文件,删除之前的旧文件 --><MaxHistory>1</MaxHistory></rollingPolicy></appender><appender name="PLUME_LOG" class="com.plumelog.logback.appender.RedisAppender"><appName>rgom_log</appName><redisHost>localhost</redisHost><redisAuth>876543</redisAuth><redisPort>6379</redisPort></appender><!-- root 一定要放在最后,因有加载顺序的问题 --><root level="INFO"><appender-ref ref="consoleApp"/><appender-ref ref="fileInfoApp"/><appender-ref ref="fileErrorApp"/><appender-ref ref="PLUME_LOG"/></root>
</configuration>

4.3、链路跟踪集成

目前尚未集成,后续将会更新

4.4、启动PlumeLog

windows启动使用startup.bat

Linux使用startup.sh

启动后将对接的项目启动,跑起来,这样才会有日志

访问 ip:8891,默认用户名和密码都是admin,部署启动成功效果

PlumeLog分布式日志系统+Spring Boot相关推荐

  1. Spring Cloud 5分钟搭建教程(附上一个分布式日志系统项目作为参考) - 推荐

    http://blog.csdn.net/lc0817/article/details/53266212/ https://github.com/leoChaoGlut/log-sys 上面是我基于S ...

  2. Spring Cloud 5分钟搭建教程(附上一个分布式日志系统项目作为参考)

    Spring Cloud 5分钟搭建教程(附上一个分布式日志系统项目作为参考) 上面是我基于Spring Cloud ,Spring Boot 和 Docker 搭建的一个分布式日志系统. 目前已在我 ...

  3. 让你的spring-boot应用日志随心所欲--spring boot日志深入分析

    1.spring boot日志概述 spring boot使用Commons Logging作为内部的日志系统,并且给Java Util Logging,Log4J2以及Logback都提供了默认的配 ...

  4. SpringCloud 分布式链路追踪、分布式日志系统

    目录 概述 Zipkin的使用 搭建zipkin server zipkin dependencies 在服务中添加zipkin的相关配置 SkyWalking的使用 部署skywalking web ...

  5. 分布式日志系统Graylog、Loki及ELK的分析和对比

    更多内容关注微信公众号:fullstack888 日志系列: 企业级日志平台新秀Graylog,比ELK轻量多了 日志系统新贵Loki,比ELK轻量多了 1. 为什么需要集中的日志系统? 在分布式系统 ...

  6. Elasticsearch,Kibana,Logstash,NLog实现ASP.NET Core 分布式日志系统

    Elasticsearch,Kibana,Logstash,NLog实现ASP.NET Core 分布式日志系统 原文:Elasticsearch,Kibana,Logstash,NLog实现ASP. ...

  7. 鹰眼 | 分布式日志系统上云的架构和实践

    导语 | 930变革后,公司明确了"开源协同.自研上云"的公司技术战略,通过自研业务上云,整合资源使用.推动架构能力互补,促进自研业务与云产品协同发展,同时实现产业互联网发展战略和 ...

  8. 鹰眼海量级分布式日志系统上云的架构和实践

    ​导语 | 鹰眼是由腾讯PCG技术运营部负责的海量级分布式实时监控和日志分析系统,为响应公司战略要求,将原先的业务迁移上云,最终产生了可喜的变化.本文将介绍分布式日志系统(鹰眼)的整体上云方案,希望与 ...

  9. scribe php,分布式日志系统scribe使用手记

    scribe 是facebook 开源的分布式日志系统 .其使用了thrift传输log,由于使用thrift,所以不论是什么语言的项目都可以实现日志收集,可达到远程或者是本地同步远程的分布式日志收集 ...

最新文章

  1. pandas使用pct_change函数计算数据列的百分比变化:计算当前元素和前一个元素之间的百分比变化(包含NaN值的情况以及数据填充方法)
  2. macOS 环境安装Flutter
  3. MySQL优化之查询缓存(mysql8官方已经废弃这个功能)
  4. python类class基础
  5. 第二章 指南(4.3)添加 View
  6. wdcp安装mysql_安装wdCP,无法连接mysql,解决方法
  7. huffman python_Python huffman包_程序模块 - PyPI - Python中文网
  8. jinja2 中的 Template 批量替换json字符串中的内容
  9. Penn Treebank词性标记集
  10. java浮点运算很难_关于Java:浮点运算不能产生精确结果
  11. 暑期实习面试——超对称,算法实习生
  12. 基于tensorflow的RBF神经网络案例
  13. 使用Everything清理垃圾文件
  14. python 中在字符串前面加上b,u,r的含义
  15. Canvas实现3D效果-可旋转的立方体
  16. Win11如何更改字体样式?Win11更改字体样式的方法
  17. matlab Logistic回归模型
  18. 最新postfix 的master.cf配置参考
  19. 推荐一个开源的区块链开发者工具网站
  20. Pandas库常用知识记录

热门文章

  1. o oia ospf 路由优先_OE1、OE2、ON1、ON2路由区别
  2. Qt sprintf_s函数格式化字符串出错
  3. 群晖域名注册_手把手教你在群晖NAS上用自己的域名实现https访问
  4. 印度人才出口:一半美国科技企业CEO是印度裔 | 数据分析中印青年
  5. Excel数据透视表只能求和运算?快来学习求差运算小技巧
  6. 《从0开始学微服务》模块一:入门微服务的学习笔记
  7. 小视频如何消重 视频剪切后md5值变了吗
  8. mysql mmm 虚拟ip不通_mysql-mmm故障解决一例
  9. 【十八掌●基本功篇】第一掌:Java之IO
  10. 使用硬盘从linux服务器上复制文件