Skip to content

AxonOps — AI-Native Control Plane for Open Source Data Platforms

Cassandra Logging Configuration

Configure and analyze Cassandra logs for monitoring and troubleshooting.

Log FilePurposeLocation
system.logMain application log/var/log/cassandra/
debug.logDetailed debug information/var/log/cassandra/
gc.logGarbage collection/var/log/cassandra/
audit.logSecurity audit (if enabled)/var/log/cassandra/
/etc/cassandra/logback.xml
<configuration scan="true" scanPeriod="60 seconds">
<jmxConfigurator />
<!-- Console appender -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%-5level [%thread] %date{ISO8601} %F:%L - %msg%n</pattern>
</encoder>
</appender>
<!-- System log -->
<appender name="SYSTEMLOG" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${cassandra.logdir}/system.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>${cassandra.logdir}/system.log.%d{yyyy-MM-dd}.%i.zip</fileNamePattern>
<maxFileSize>50MB</maxFileSize>
<maxHistory>7</maxHistory>
<totalSizeCap>500MB</totalSizeCap>
</rollingPolicy>
<encoder>
<pattern>%-5level [%thread] %date{ISO8601} %F:%L - %msg%n</pattern>
</encoder>
</appender>
<!-- Debug log -->
<appender name="DEBUGLOG" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${cassandra.logdir}/debug.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>${cassandra.logdir}/debug.log.%d{yyyy-MM-dd}.%i.zip</fileNamePattern>
<maxFileSize>50MB</maxFileSize>
<maxHistory>7</maxHistory>
<totalSizeCap>500MB</totalSizeCap>
</rollingPolicy>
<encoder>
<pattern>%-5level [%thread] %date{ISO8601} %F:%L - %msg%n</pattern>
</encoder>
</appender>
<!-- Root logger -->
<root level="INFO">
<appender-ref ref="SYSTEMLOG" />
<appender-ref ref="STDOUT" />
</root>
<!-- Debug logger -->
<logger name="org.apache.cassandra" level="DEBUG" additivity="false">
<appender-ref ref="DEBUGLOG" />
</logger>
</configuration>
Terminal window
# Get current levels
nodetool getlogginglevels
# Set log level (temporary)
nodetool setlogginglevel org.apache.cassandra DEBUG
# Set specific class
nodetool setlogginglevel org.apache.cassandra.db.compaction DEBUG
# Reset to INFO
nodetool setlogginglevel org.apache.cassandra INFO
INFO - Cassandra version: 4.1.3
INFO - Starting up...
INFO - Hostname: node1.example.com:7000
INFO - JVM vendor/version: OpenJDK / 11.0.x
INFO - Heap size: 8192/8192 MB
INFO - Node /10.0.0.1 is now part of the cluster
# Tombstone warnings
WARN - Read 5000 tombstones for query SELECT ...
# Large partition warnings
WARN - Compacting large partition keyspace/table:key (150MB)
# GC warnings
WARN - GC pause of 1500ms
# Dropped messages
WARN - MUTATION messages were dropped in last 5000ms
Terminal window
# Find errors
grep -i "error\|exception" /var/log/cassandra/system.log
# Find warnings
grep -i "warn" /var/log/cassandra/system.log | tail -100
# Compaction activity
grep -i "compaction" /var/log/cassandra/system.log
# GC pauses
grep -i "gc pause" /var/log/cassandra/gc.log
# Slow queries
grep -i "slow" /var/log/cassandra/system.log

Centralized Log Management

AxonOps Monitoring provides centralized log collection and analysis across all Cassandra nodes, with built-in pattern detection and alerting.