Logging 卡桑德拉:如何归档日志文件
我已经在Ubuntu机器上安装了Cassandra2.0.11 日志记录配置是默认的。日志文件的位置在中Logging 卡桑德拉:如何归档日志文件,logging,cassandra,archive,Logging,Cassandra,Archive,我已经在Ubuntu机器上安装了Cassandra2.0.11 日志记录配置是默认的。日志文件的位置在中 /var/log/cassandra/ 此外,日志文件已处于旋转模式 如何配置要压缩的日志文件? 因此,它不会消耗大量磁盘存储。对于Cassandra 2.0和更早版本 如果从这里开始执行,可能会看到compress命令。默认情况下,logrotate将使用gzip压缩旋转后的文件。说明您还可以设置compresscmd和compressext以使用自己的压缩应用程序(即zip)。您可能需
/var/log/cassandra/
此外,日志文件已处于旋转模式
如何配置要压缩的日志文件?
因此,它不会消耗大量磁盘存储。对于Cassandra 2.0和更早版本 如果从这里开始执行,可能会看到compress命令。默认情况下,logrotate将使用gzip压缩旋转后的文件。说明您还可以设置
compresscmd
和compressext
以使用自己的压缩应用程序(即zip)。您可能需要编写自己的压缩脚本
例如:
/var/log/cassandra/output.log {
size 1k
copytruncate
create
compress
compresscmd /bin/bzip2
compressext .bz2
rotate 4
}
适用于卡桑德拉2.1及更高版本
根据,您应该使用zip
或gz
结束rollingPolicy
中的fileNamePattern
。就像在这里一样
第二个链接上的Cassandra文档还说:
默认策略在大小超过后滚动system.log文件
20MB。存档文件以zip格式压缩。Logback为日志命名
文件system.log.1.zip、system.log.2.zip等。更多
有关详细信息,请参阅logback文档
答案仅适用于Cassandra 2.0及以上版本。 Cassandra 2.0和更早版本使用log4j作为日志API。 它满足了以下需要:
sudo vi /etc/logrotate.d/cassandra
sudo vi /etc/cassandra/log4j-server.properties
在此文件中更改以下内容:
# Add the new Appender to the rootLogger
log4j.rootLogger=INFO,stdout,F,R
# Mark the following configuration (all the RollingFileAppender)
# rolling log file
#log4j.appender.R=org.apache.log4j.RollingFileAppender
#log4j.appender.R.maxFileSize=1MB
#log4j.appender.R.maxBackupIndex=3
#log4j.appender.R.layout=org.apache.log4j.PatternLayout
#log4j.appender.R.layout.ConversionPattern=%5p [%t] %d{ISO8601} %F (line %L) %m%n
#log4j.appender.R.RollingPolicy=org.apache.log4j.rolling.TimeBasedRollingPolicy
#log4j.appender.R.RollingPolicy.FileNamePattern=cassandra.%d{yyyy-MM-dd-HH}.gz
#log4j.appender.R.RollingPolicy.ActiveFileName =cassandra.log
# Edit the next line to point to your logs directory
#log4j.appender.R.File=/var/log/cassandra/cassandra.log
########################################################
# Add the new File Appender
# file appender
# Define the file appender
log4j.appender.F=org.apache.log4j.FileAppender
# Set the name of the file
log4j.appender.F.File=/var/log/cassandra/cassandra.log
# Define the layout for file appender
log4j.appender.F.layout=org.apache.log4j.PatternLayout
log4j.appender.F.layout.conversionPattern=%5p [%t] %d{ISO8601} %F (line %L) %m%n
现在Cassandra只记录一个文件,不旋转它。接下来
配置logrotate守护程序以处理日志文件
如果您真的想知道什么是logrotate:
请执行以下操作:
sudo vi /etc/logrotate.d/cassandra
将以下数据添加到文件中:
/var/log/cassandra/cassandra.log {
daily
rotate 50
size 100M
copytruncate
compress
delaycompress
missingok
notifempty
create 644 cassandra cassandra
}
就这样。从现在起,logrotate将负责您的日志文件,并将总存储容量保持在5GB以下
如果要更改存储大小,请根据需要配置旋转和大小。Logback是在Cassandra 2.1中引入的,在Cassandra 2.0中是Log4J,但没有注意到。。。我最近开始了一个新项目,从2.1开始,所以我机械地回答如下。。。