tomcat,kafka,zookeeperde的LOG日志数据分割方案

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013560667/article/details/86714588
LOG日志数据分割方案
目前运行中的平台日志主要涉及到的组件主要有tomcat,kafka,zookeeper三个。因为系统长期运行及运行情况记录累计记录,导致日志文件越来越大,随着存储空间的占用会导致系统运行缓慢,存储空间不足,无法响应等情况出现,所以为了避免上述问题的产生,需对日志记录进行分割及定时清理,保证日志不占用过多存储空间,降低因日志文件过大导致的存储空间不足问题。
目前tomcat,kafka都是基于Log4j来管理日志,所以我们只需要配置我们自己的Log4j日志记录策略替换系统默认的日志记录方案即可,接下来我们按照tomcat,kafka,zookeeper的顺序逐一说明各自的日志分割方案。
Tomcat日志分割,tomcat目前产生的日志主要存储于tomcat/logs,主要记录日志的文件主要有catalina.out,localhost,manager,host-manager四类,我们现在要替换系统的日志生成策略需要以下几个步骤:
1.删除或重命名tomcat/conf/logging.properties。
2.修改tomcat/conf/context.xml中内容为<Context swallowOutput="true">。
3.Tomcat官网下载tomcat-juli.jar,tomcat-julli-adapters.jar包放入tomcat/lib目录中。
4.将tomcat-juli.jar替换tomcat/bin目录中的同名文件。
5.编写自己的log4j.properties和log4j-1.2.17.jar包放入目录tomcat/lib目录。
通过上面5个步骤就完成了Log4j自定义策略接管系统默认策略的配置,其中第2步中<Context swallowOutput="true">的swallowOutput属性用来指定外部log4j接管系统默认的日志输出方案。
Kafka日志分割,kafka日志主要包含两部分,数据日志(主题,分区日志),操作日志,其中数据日志我们需要配置在server.properties中,而数据日志存储在kafka/logs目录中,我们日常的操作都会记录在logs中,logs主要分为以下几类,分别是:
1.Controller.log
2.Kafka-authorizer.log
3.Kafka-request.log
4.Log-cleaner.log
5.Server.log
6.State-change.log
我们需要做的是修改kafka/config下的log4j.properties文件即可,因为默认记录方式为WARN所以记录的内容会非常多,kafka所有的日志都是按天产生数据,就是上面说到的六种日志每天都会产生一个新的文件,所以我们在使用的时候不需要再启动的时候在写入多余的日志配置了。
Zookeeper日志分割,zookeeper日志主要记录kafka的consumer消费者偏移量,而且zookeeper的日志不能使用log4j接管,只能通过zoo.cfg来配置定期删除,其中呢zoo.cfg中有两个配置选项用来控制日志的定期删除及日志分割留存的数据文件个数。配置了以下两个参数就可以完成日志的配置,配置完成即可。
# The number of snapshots to retain in dataDir
autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
autopurge.purgeInterval=1

猜你喜欢

转载自blog.csdn.net/u013560667/article/details/86714588