PlumeLog日志搭建-redis+es

PlumeLog日志搭建

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

搭建步骤:

1: 安装redis or kafka

这里使用的是redis 

​ redis 官网:https://redis.io

​ kafka:http://kafka.apache.org

​ 推荐使用docker安装redis:

# 拉取镜像
sudo docker pull redis

# 下载redis.conf
wget -P  /usr/local/redis http://download.redis.io/redis-stable/redis.conf

# 修改redis配置文件
vim redis/redis.conf
	# 在bind 127.0.0.1前方加上zhushi 注释掉这部分,使redis可以外部访问

# 启动redis
	# -d 后台运行
	# --name 给redis起一个名称 
	# -p docker映射给系统的端口
	# -v 挂载  本地目录:容器目录
docker run -d --name redis -p 6379:6379 -v /usr/local/redis/redis.conf:/etc/redis/redis.conf redis redis-server /etc/redis/redis.conf --appendonly yes --requirepass 'test'

2:安装 elasticsearch

​ 官网下载地址:https://www.elastic.co/cn/downloads/past-releases

​ 推荐使用docker安装:

# 拉去elasticsearch
docker pull elasticsearch:7.7.0

# 运行
docker run --name elasticsearch -d -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -e "discovery.type=single-node" -p 9200:9200 -p 9300:9300 elasticsearch:7.7.0

3:下载PlumeLog项目

​ plumelog-server 下载地址:https://gitee.com/frankchenlong/plumelog/releases

4:配置plumelog-server

4.1:application.properties

spring.application.name=plumelog_server
server.port=8891
spring.thymeleaf.mode=LEGACYHTML5
spring.mvc.view.prefix=classpath:/templates/
spring.mvc.view.suffix=.html
spring.mvc.static-path-pattern=/plumelog/**

#值为4种 redis,kafka,rest,restServer
#redis 表示用redis当队列
#kafka 表示用kafka当队列
#rest 表示从rest接口取日志
#restServer 表示作为rest接口服务器启动
#ui 表示单独作为ui启动
plumelog.model=redis

#如果使用kafka,启用下面配置
#plumelog.kafka.kafkaHosts=172.16.247.143:9092,172.16.247.60:9092,172.16.247.64:9092
#plumelog.kafka.kafkaGroupName=logConsumer


plumelog.queue.redis.redisHost=xxxxxx:xxxx
#如果使用redis有密码,启用下面配置
plumelog.queue.redis.redisPassWord=xxxx
plumelog.queue.redis.redisDb=0


#elasticsearch相关配置
plumelog.es.esHosts=xxxxx:xxxx
#ES7.*已经去除了索引type字段,所以如果是es7不用配置这个,7.*以下不配置这个会报错
#plumelog.es.indexType=plumelog
plumelog.es.shards=5
plumelog.es.replicas=1
plumelog.es.refresh.interval=30s
#日志索引建立方式day表示按天、hour表示按照小时
plumelog.es.indexType.model=day
#ES设置密码,启用下面配置
#plumelog.es.userName=elastic
#plumelog.es.passWord=9rOAVcuhBPIO2Bq9eMvk

#单次拉取日志条数
plumelog.maxSendSize=100
#拉取时间间隔,kafka不生效
plumelog.interval=1000

#plumelog-ui的地址 如果不配置,报警信息里不可以点连接
plumelog.ui.url=https://log.xc-inc.cn

#管理密码,手动删除日志的时候需要输入的密码
admin.password=123456
#日志保留天数,配置0或者不配置默认永久保留
admin.log.keepDays=30

#链路保留天数,配置0或者不配置默认永久保留
admin.log.trace.keepDays=30

#login.username=
#login.password=

spring.redis.maxTotal=800
spring.redis.maxIdle=8
spring.redis.minIdle=1
spring.redis.testOnBorrow=true
spring.redis.testOnReturn=true

5:bed项目配置日志信息

​ log4j.properties:

log4j.rootLogger=DEBUG, 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=%d{yyyy-MM-dd HH:mm s,SSS}:%5p [%t] (%F:%L)  - %m%n 


#redis做为中间件
#字段说明
#<!-- appName:应用名称 -->
#<!-- redisHost:redis地址 -->
#<!-- redisPort:redis端口号 不配置,默认使用6379-->
#<!-- runModel:runModel 1,2  1表示最高性能模式,2表示低性能模式 但是2可以获取更多信息 不配置默认为1- -->
log4j.appender.L=com.plumelog.log4j.appender.RedisAppender
log4j.appender.L.appName=bed_log
log4j.appender.L.redisHost=xxxxx
log4j.appender.L.redisPort=xxxxx
#redis没有密码这一项为空或者不需要![在这里插入图片描述](https://www.icode9.com/i/ll/?i=20210308101618905.png?,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2x1b2RvbmcxNTAx,size_16,color_FFFFFF,t_70)

log4j.appender.L.redisAuth=xxxx

运行效果图:

PlumeLog日志搭建-redis+es

上一篇:prmopt 提示框接收字符串,输入后按确定弹出警告框,警告内容为逆序的字符串


下一篇:Visual Studio 2019 C++使用log4cplus