Skip to content

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

Configuration

The configuration virtual tables provide CQL access to runtime settings, JVM system properties, and system logs without requiring shell access.


These tables expose Cassandra's configuration state:

TablePurpose
settingsCurrent cassandra.yaml settings (runtime values)
system_propertiesJVM system properties
system_logsRecent Cassandra log entries

Exposes current Cassandra configuration settings as key-value pairs. This reflects the active runtime configuration, which may differ from cassandra.yaml if settings were changed dynamically.

VIRTUAL TABLE system_views.settings (
name text PRIMARY KEY,
value text
) WITH comment = 'current settings';
ColumnTypeDescription
nametextConfiguration parameter name
valuetextCurrent value (as string)

Equivalent nodetool command: nodetool getconfig (Cassandra 5.0+)

-- All settings
SELECT name, value FROM system_views.settings;

Filter in application by name pattern (e.g., names containing 'compaction', 'timeout', 'heap').

-- Cluster identification
SELECT name, value FROM system_views.settings
WHERE name IN ('cluster_name', 'num_tokens', 'partitioner');
-- Network configuration
SELECT name, value FROM system_views.settings
WHERE name IN ('listen_address', 'rpc_address', 'broadcast_address',
'native_transport_port', 'storage_port');
-- Compaction settings (setting name varies by version - see table below)
SELECT name, value FROM system_views.settings
WHERE name IN ('compaction_throughput', 'concurrent_compactors',
'compaction_large_partition_warning_threshold');
-- Read/write settings
SELECT name, value FROM system_views.settings
WHERE name IN ('read_request_timeout', 'write_request_timeout',
'range_request_timeout', 'counter_write_request_timeout');
-- Hinted handoff (setting name varies by version - see table below)
SELECT name, value FROM system_views.settings
WHERE name IN ('hinted_handoff_enabled', 'max_hint_window',
'hinted_handoff_throttle', 'max_hints_delivery_threads');
-- Commit log
SELECT name, value FROM system_views.settings
WHERE name IN ('commitlog_sync', 'commitlog_sync_period',
'commitlog_segment_size', 'commitlog_total_space');
-- Memtable configuration (setting name varies by version - see table below)
SELECT name, value FROM system_views.settings
WHERE name IN ('memtable_heap_space', 'memtable_offheap_space',
'memtable_allocation_type', 'memtable_flush_writers');

Configuration setting names changed between Cassandra versions. Use the appropriate name for the target version:

SettingPre-4.14.1+
Compaction throughputcompaction_throughput_mb_per_seccompaction_throughput
Stream throughputstream_throughput_outbound_megabits_per_secstream_throughput_outbound
Inter-DC stream throughputinter_dc_stream_throughput_outbound_megabits_per_secinter_dc_stream_throughput_outbound
Hinted handoff throttlehinted_handoff_throttle_in_kbhinted_handoff_throttle
Memtable heap spacememtable_heap_space_in_mbmemtable_heap_space
Memtable offheap spacememtable_offheap_space_in_mbmemtable_offheap_space

Duration and Size Literals

In Cassandra 4.1+, settings support duration literals (3h, 200ms) and size/rate units (64MiB, 16MiB/s). The old _in_ms, _in_mb, and _in_kb suffixed names are deprecated but still functional as aliases.

-- Check authentication/authorization settings
SELECT name, value FROM system_views.settings
WHERE name IN ('authenticator', 'authorizer', 'role_manager',
'server_encryption_options', 'client_encryption_options');

Security check: Verify authenticator is not AllowAllAuthenticator and authorizer is not AllowAllAuthorizer in production.


Exposes JVM system properties relevant to Cassandra. Useful for verifying JVM configuration without shell access.

VIRTUAL TABLE system_views.system_properties (
name text PRIMARY KEY,
value text
) WITH comment = 'Cassandra relevant system properties';
ColumnTypeDescription
nametextSystem property name
valuetextProperty value
-- All system properties
SELECT name, value FROM system_views.system_properties;

Filter in application by name prefix (e.g., 'java.', 'cassandra.', 'os.').

-- JVM version
SELECT name, value FROM system_views.system_properties
WHERE name IN ('java.version', 'java.vendor', 'java.vm.name', 'java.vm.version');
-- Cassandra paths
SELECT name, value FROM system_views.system_properties
WHERE name IN ('cassandra.config', 'cassandra.storagedir', 'cassandra.logdir');
-- Operating system
SELECT name, value FROM system_views.system_properties
WHERE name IN ('os.name', 'os.version', 'os.arch');
-- User and file encoding
SELECT name, value FROM system_views.system_properties
WHERE name IN ('user.name', 'user.home', 'user.dir', 'file.encoding');

For GC settings and heap configuration, query all properties and filter in application.


Provides access to recent Cassandra log entries via CQL. Available in Cassandra 5.0+.

VIRTUAL TABLE system_views.system_logs (
timestamp timestamp,
order_in_millisecond int,
level text,
logger text,
message text,
PRIMARY KEY (timestamp, order_in_millisecond)
) WITH CLUSTERING ORDER BY (order_in_millisecond ASC)
AND comment = 'Cassandra logs';
ColumnTypeDescription
timestamptimestampLog entry timestamp
order_in_millisecondintOrdering within same millisecond
leveltextLog level (ERROR, WARN, INFO, DEBUG, TRACE)
loggertextLogger name (class/component)
messagetextLog message content
-- All log entries
SELECT timestamp, level, logger, message
FROM system_views.system_logs;
-- Error messages
SELECT timestamp, logger, message
FROM system_views.system_logs
WHERE level = 'ERROR';
-- Warnings and errors
SELECT timestamp, level, logger, message
FROM system_views.system_logs
WHERE level IN ('ERROR', 'WARN');
-- All log entries
SELECT timestamp, level, logger, message
FROM system_views.system_logs;

Filter in application by logger name or message content (e.g., 'Compaction', 'OutOfMemory').


-- Export current settings for comparison
-- Run on each node and compare results
SELECT name, value FROM system_views.settings;

Exclude node-specific values (containing 'address') when comparing across nodes.

-- Authentication configuration
SELECT name, value FROM system_views.settings
WHERE name IN ('authenticator', 'authorizer', 'role_manager',
'permissions_validity', 'credentials_validity');
-- Encryption settings
SELECT name, value FROM system_views.settings
WHERE name IN ('server_encryption_options', 'client_encryption_options');
-- Audit settings (Cassandra 4.0+)
SELECT name, value FROM system_views.settings
WHERE name IN ('audit_logging_options');

Removed Settings

native_transport_port_ssl was deprecated in Cassandra 4.x and removed in 5.0. Use client_encryption_options for SSL/TLS configuration.

-- Thread pool sizing (compare with thread_pools table)
SELECT name, value FROM system_views.settings
WHERE name IN ('concurrent_reads', 'concurrent_writes',
'concurrent_counter_writes', 'concurrent_compactors');
-- Cache settings (compare with caches table)
SELECT name, value FROM system_views.settings
WHERE name IN ('key_cache_size_in_mb', 'row_cache_size_in_mb',
'counter_cache_size_in_mb');
-- Throughput settings (use version-appropriate names)
-- Pre-4.1: compaction_throughput_mb_per_sec, stream_throughput_outbound_megabits_per_sec
-- 4.1+: compaction_throughput, stream_throughput_outbound
SELECT name, value FROM system_views.settings
WHERE name IN ('compaction_throughput', 'stream_throughput_outbound',
'inter_dc_stream_throughput_outbound');

-- Security concerns
SELECT name, value FROM system_views.settings
WHERE (name = 'authenticator' AND value = 'AllowAllAuthenticator')
OR (name = 'authorizer' AND value = 'AllowAllAuthorizer');
-- Recent errors (for alerting integration)
SELECT timestamp, logger, message
FROM system_views.system_logs
WHERE level = 'ERROR';

Filter in application for entries within the last 5 minutes.


Informationnodetool CommandVirtual Table Query
View settingsnodetool getconfigSELECT * FROM system_views.settings
Specific settingnodetool getconfig <name>SELECT value FROM system_views.settings WHERE name = '<name>'
System propertiesN/A (check JVM)SELECT * FROM system_views.system_properties
LogsFilesystem accessSELECT * FROM system_views.system_logs

  1. Settings table

    • Read-only; use nodetool setconfig for runtime changes
    • Values are strings; type conversion may be needed
    • Some settings require restart to change
  2. System properties

    • Reflects JVM startup properties
    • Cannot be modified at runtime
  3. System logs

    • Limited retention (recent entries only)
    • May not include all log levels depending on configuration
    • For full log history, use filesystem access or log aggregation