现在很多的日志,在搭建的时候,都喜欢用Kafka+ELK来做,但是搭建起来就比较麻烦,就算不做高可用,做起来起码有4个组件需要,那做高可用的话,那就更多了,像zookeeper一般我们做集群,最低是3个节点。
1、基于Java的一个分布式日志系统,支持百亿级别
2、支持调用链的记录写入,方便进行链路追踪,如果接触过skywalking、zipkin、pinpoint等,应该就知道服务调用链追踪是很好的东西。
3、无侵入式操作,只需要引入包,更改一下日志配置文件即可。
1、安装kafka或者redis,按照官方建议,一般体量不大的公司,建议用redis的队列即可。
2、安装ES,官方推荐是6.8版本的,小编目前就安装官方推荐,下载的6.8版本
目前Plumelog有4个发行版,最新的发行版是plumelog2.2,我们下载最新的即可。
下载完之后,只需要更改配置文件plumelog-server/application.properties
由于小编原先已经安装了redis,又只需要做演示测试,这里就直接采用redis来作为消息传输中间件,以下就是我使用redis的基本配置,可以直接拿过去,更改一下IP地址,端口号
`#定制服务器模式为redis plumelog.server.model=redis #配置redis的IP地址及端口号 plumelog.server.redis.redisHost=127.0.0.1:6380 #配置redis的密码 plumelog.server.redis.redisPassWord=123456 #elasticsearch相关配置 plumelog.server.es.esHosts=127.0.0.1:9201 #由于小编采用的事ES6.8,小于ES7版本,所以需要配置索引字段,如果安装的是ES7及以上,这个可以去掉 plumelog.server.es.indexType=plumelog #ES设置密码,启用下面配置 #plumelog.server.es.userName=elastic#plumelog.server.es.passWord=plumelog123456 #单次拉取日志条数 plumelog.server.maxSendSize=5000 #拉取时间间隔,kafka不生效 plumelog.server.interval=1000`
Plumelog ui与Plumelog server一样,区别就在于一个是服务器,一个是前端的,但是同样的简单,只需要改一下配置文件即可,这个ui其实就是个springboot项目,目前的界面不是很好看,可以自行进行拓展
`# 应用名称 spring.application.name=plumelog-ui # 应用端口 server.port=8182 # 配置thymeleaf spring.thymeleaf.mode=LEGACYHTML5 # 配置页面的地址 spring.mvc.view.prefix=classpath:/templates/ # 配置页面的后缀名 spring.mvc.view.suffix=.html # 配置静态文件的路径 spring.mvc.static-path-pattern=/plumelog/** #配置elasticsearch地址 es.esHosts=172.16.251.196:9200 #配置elasticsearch的账号 es.userName=elasticsearch #配置elasticsearch的密码 es.passWord=123456 #配置UI的删除密码 admin.password=123456`
` com.plumelog plumelog-log4j 2.2 `
`#设置日志等级 log4j.rootLogger = INFO,stdout,L #设置日志输出类 log4j.appender.stdout = org.apache.log4j.ConsoleAppender #设置日志目标地 log4j.appender.stdout.Target = System.out #设置日志的输出样式 log4j.appender.stdout.layout = org.apache.log4j.PatternLayout # 设置日志时间样式 log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} [%c.%t]%n%m%n # 设置日志发送到redis log4j.appender.L=com.plumelog.log4j.appender.RedisAppender # 设置日志所属的应用名称 log4j.appender.L.appName=plumelog # 设置redis的IP地址 log4j.appender.L.redisHost=127.0.0.1 # 设置redis的端口号 log4j.appender.L.redisPort=6380 # 设置redis的密码 log4j.appender.L.redisAuth=123456 # 设置redis在本地磁盘保留的时间 admin.log.keepDays=15天`
` com.plumelog plumelog-logback 2.2 `
` plumelog 127.0.0.1 123456 6380 `
` com.plumelog plumelog-log4j2 2.2 `
` `
这里不累述,可以自行参考
https://gitee.com/frankchenlong/plumelog/blob/master/plumelog-trace/README.md
来源:PlumeLog官方截图
来源:PlumeLog官方截图