极客的港湾▲druid 使用 log4j2 防止日志爆炸,apache


极客的港湾▲druid 使用 log4j2 防止日志爆炸,apache
文章图片
Apachedruid
Druid是一个分布式的、支持实时多维OLAP分析的数据处理系统 。 它既支持高速的数据实时摄入处理 , 也支持实时且灵活的多维数据分析查询 。 因此Druid最常用的场景就是大数据背景下、灵活快速的多维OLAP分析 。 另外 , Druid还有一个关键的特点:它支持根据时间戳对数据进行预聚合摄入和聚合分析 , 因此也有用户经常在有时序数据处理分析的场景中用到它
极客的港湾▲druid 使用 log4j2 防止日志爆炸,apache
文章图片
druid日志爆炸
【极客的港湾▲druid 使用 log4j2 防止日志爆炸,apache】环境默认的输出日志经常出现一个文件几十G的情况 , 需要通过提供的日志配置自行调整 , 防止这种日志文件爆炸情况 。
日志正常分隔一般根据大小或是时间两个维度 。
druid提供log4j2的日志配置 。
日志配置目标
apachedruid包含多个节点coordinator,overlord,MiddleManager,Broker,Historical.
集群本身共用一个日志配置文件(_common).
目标:不同的节点输出至自身的配置文件中 。
极客的港湾▲druid 使用 log4j2 防止日志爆炸,apache
文章图片
配置实例
本次以broker节点为例
在broker中包含运行配置文件 。
jvm.config
runtime.properties
在jvm.config加入参数-Dlogfile.name=broker
-server-Xms64g-Xmx64g-XX:MaxDirectMemorySize=15360m-Duser.timezone=UTC+0800-Dfile.encoding=UTF-8-Djava.io.tmpdir=var/tmp-Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager-Dlogfile.name=broker
log4j2配置文件
滚动策略每100M一个文件 。
%d{yyyy-MM-ddHH:mm:ss}%processId[%t]%-5p%c{1}:%L-%msg%n%msg%n%d%-8r%m%nlogsfileName="${logPath}/${sys:logfile.name}.log"filePattern="${logPath}/${sys:logfile.name}-%d{yyyy-MM-dd}.log.%i">${pattern}fileName="${logPath}/${sys:logfile.name}.metrics"filePattern="${logPath}/${sys:logfile.name}-%d{yyyy-MM-dd}.metrics.%i.gz">${patternMetrics}
总结
本文件虽然可以按照预期生成日志 , 避免短时间内的日志爆炸 , 但删除过期日志一直未能正常生效 。
这个策略在本地程序中测试时可以生效 。