# Copyright 2024-2025 T. Repasi . # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. cql-metrics-collector { # Cassandra node metrics should be collected from. This can be set by IP # address and port, or by hostname and port. However, if you want to connect # to Cassandra encrypted, the hostname might be set matching to the subject # or one of the SANs of the certificate the Cassandra node is using. // node = "127.0.0.1:9042" # Query executor is a thread pool executing the CQL queries against Cassandra. # Set this to the maximum concurrent queries allowed to be executed on the # local Cassandra node. queryExecutor.corePoolSize = 5 # Configuration change doesn't need a restart of the service, configuration # is reloaded on the interval set here. Setting the interval to 0 (zero) will # disable the configuration reload. config-reload-interval = 5 minutes # Whether to collect table bound metrics of system tables. If disabled, only # metrics of user defined tables will be collected and exported. includeSystemTables = true # Default interval the collectors are updating the list of acquired metrics. collector-update-interval = 5 minutes # Default update interval of acquired metrics. metrics-update-interval = 60 seconds # Initial deley to start update task. metrics-update-initial-delay = 10 seconds # Configuration of DiskUsageCollector io.github.rtib.cmc.collectors.DiskUsageCollector { # Enable or disable this collector. enabled = true # Include system tables into export. includeSystemTables = ${cql-metrics-collector.includeSystemTables} # Time interval of updating the list of tables. updateInterval = ${cql-metrics-collector.collector-update-interval} # Initial deley to start update task. updateInitialDelay = ${cql-metrics-collector.metrics-update-initial-delay} # Time interval of querying and refreshing the exported metric instances. metricsCollectionInterval = ${cql-metrics-collector.metrics-update-interval} } # Configuration of CoordinatorReadLatencyCollector io.github.rtib.cmc.collectors.CoordinatorReadLatencyCollector { # Enable or disable this collector. enabled = true # Include system tables into export. includeSystemTables = ${cql-metrics-collector.includeSystemTables} # Time interval of updating the list of tables. updateInterval = ${cql-metrics-collector.collector-update-interval} # Initial deley to start update task. updateInitialDelay = ${cql-metrics-collector.metrics-update-initial-delay} # Time interval of querying and refreshing the exported metric instances. metricsCollectionInterval = ${cql-metrics-collector.metrics-update-interval} } # Configuration of CoordinatorScanLatencyCollector io.github.rtib.cmc.collectors.CoordinatorScanLatencyCollector { # Enable or disable this collector. enabled = true # Include system tables into export. includeSystemTables = ${cql-metrics-collector.includeSystemTables} # Time interval of updating the list of tables. updateInterval = ${cql-metrics-collector.collector-update-interval} # Initial deley to start update task. updateInitialDelay = ${cql-metrics-collector.metrics-update-initial-delay} # Time interval of querying and refreshing the exported metric instances. metricsCollectionInterval = ${cql-metrics-collector.metrics-update-interval} } # Configuration of CoordinatorWriteLatencyCollector io.github.rtib.cmc.collectors.CoordinatorWriteLatencyCollector { # Enable or disable this collector. enabled = true # Include system tables into export. includeSystemTables = ${cql-metrics-collector.includeSystemTables} # Time interval of updating the list of tables. updateInterval = ${cql-metrics-collector.collector-update-interval} # Initial deley to start update task. updateInitialDelay = ${cql-metrics-collector.metrics-update-initial-delay} # Time interval of querying and refreshing the exported metric instances. metricsCollectionInterval = ${cql-metrics-collector.metrics-update-interval} } # Configuration of LocalReadLatencyCollector io.github.rtib.cmc.collectors.LocalReadLatencyCollector { # Enable or disable this collector. enabled = true # Include system tables into export. includeSystemTables = ${cql-metrics-collector.includeSystemTables} # Time interval of updating the list of tables. updateInterval = ${cql-metrics-collector.collector-update-interval} # Initial deley to start update task. updateInitialDelay = ${cql-metrics-collector.metrics-update-initial-delay} # Time interval of querying and refreshing the exported metric instances. metricsCollectionInterval = ${cql-metrics-collector.metrics-update-interval} } # Configuration of LocalScanLatencyCollector io.github.rtib.cmc.collectors.LocalScanLatencyCollector { # Enable or disable this collector. enabled = true # Include system tables into export. includeSystemTables = ${cql-metrics-collector.includeSystemTables} # Time interval of updating the list of tables. updateInterval = ${cql-metrics-collector.collector-update-interval} # Initial deley to start update task. updateInitialDelay = ${cql-metrics-collector.metrics-update-initial-delay} # Time interval of querying and refreshing the exported metric instances. metricsCollectionInterval = ${cql-metrics-collector.metrics-update-interval} } # Configuration of LocalWriteLatencyCollector io.github.rtib.cmc.collectors.LocalWriteLatencyCollector { # Enable or disable this collector. enabled = true # Include system tables into export. includeSystemTables = ${cql-metrics-collector.includeSystemTables} # Time interval of updating the list of tables. updateInterval = ${cql-metrics-collector.collector-update-interval} # Initial deley to start update task. updateInitialDelay = ${cql-metrics-collector.metrics-update-initial-delay} # Time interval of querying and refreshing the exported metric instances. metricsCollectionInterval = ${cql-metrics-collector.metrics-update-interval} } # Configuration of ThreadPoolsCollector io.github.rtib.cmc.collectors.ThreadPoolsCollector { # Enable or disable this collector. enabled = true # Time interval of updating the list of threadpools. updateInterval = ${cql-metrics-collector.collector-update-interval} # Initial deley to start update task. updateInitialDelay = ${cql-metrics-collector.metrics-update-initial-delay} # Time interval of querying and refreshing the exported metric instances. metricsCollectionInterval = ${cql-metrics-collector.metrics-update-interval} } # Configuration of CachesCollector io.github.rtib.cmc.collectors.CachesCollector { # Enable or disable this collector. enabled = true # Time interval of updating the list of caches. updateInterval = ${cql-metrics-collector.collector-update-interval} # Initial deley to start update task. updateInitialDelay = ${cql-metrics-collector.metrics-update-initial-delay} # Time interval of querying and refreshing the exported metric instances. metricsCollectionInterval = ${cql-metrics-collector.metrics-update-interval} } # Configuration of TombstonesPerReadCollector io.github.rtib.cmc.collectors.TombstonesPerReadCollector { # Enable or disable this collector. enabled = true # Include system tables into export. includeSystemTables = ${cql-metrics-collector.includeSystemTables} # Time interval of updating the list of tables. updateInterval = ${cql-metrics-collector.collector-update-interval} # Initial deley to start update task. updateInitialDelay = ${cql-metrics-collector.metrics-update-initial-delay} # Time interval of querying and refreshing the exported metric instances. metricsCollectionInterval = ${cql-metrics-collector.metrics-update-interval} } # Configuration of RowsPerReadCollector io.github.rtib.cmc.collectors.RowsPerReadCollector { # Enable or disable this collector. enabled = true # Include system tables into export. includeSystemTables = ${cql-metrics-collector.includeSystemTables} # Time interval of updating the list of tables. updateInterval = ${cql-metrics-collector.collector-update-interval} # Initial deley to start update task. updateInitialDelay = ${cql-metrics-collector.metrics-update-initial-delay} # Time interval of querying and refreshing the exported metric instances. metricsCollectionInterval = ${cql-metrics-collector.metrics-update-interval} } # Configuration of BatchMetricsCollector io.github.rtib.cmc.collectors.BatchMetricsCollector { # Enable or disable this collector. enabled = true # Time interval of updating the list of tables. updateInterval = ${cql-metrics-collector.collector-update-interval} # Initial deley to start update task. updateInitialDelay = ${cql-metrics-collector.metrics-update-initial-delay} # Time interval of querying and refreshing the exported metric instances. metricsCollectionInterval = ${cql-metrics-collector.metrics-update-interval} } # Configuration of MaxPartitionSizeCollector io.github.rtib.cmc.collectors.MaxPartitionSizeCollector { # Enable or disable this collector. enabled = true # Include system tables into export. includeSystemTables = ${cql-metrics-collector.includeSystemTables} # Time interval of updating the list of tables. updateInterval = ${cql-metrics-collector.collector-update-interval} # Initial deley to start update task. updateInitialDelay = ${cql-metrics-collector.metrics-update-initial-delay} # Time interval of querying and refreshing the exported metric instances. metricsCollectionInterval = ${cql-metrics-collector.metrics-update-interval} } # Configuration of MaxSstableSizeCollector io.github.rtib.cmc.collectors.MaxSstableSizeCollector { # Enable or disable this collector. enabled = true # Include system tables into export. includeSystemTables = ${cql-metrics-collector.includeSystemTables} # Time interval of updating the list of tables. updateInterval = ${cql-metrics-collector.collector-update-interval} # Initial deley to start update task. updateInitialDelay = ${cql-metrics-collector.metrics-update-initial-delay} # Time interval of querying and refreshing the exported metric instances. metricsCollectionInterval = ${cql-metrics-collector.metrics-update-interval} } # Configuration of CqlMetricsCollector io.github.rtib.cmc.collectors.CqlMetricsCollector { # Enable or disable this collector. enabled = true # Time interval of updating the list of caches. updateInterval = ${cql-metrics-collector.collector-update-interval} # Initial deley to start update task. updateInitialDelay = ${cql-metrics-collector.metrics-update-initial-delay} # Time interval of querying and refreshing the exported metric instances. metricsCollectionInterval = ${cql-metrics-collector.metrics-update-interval} } # Configuration of the webserver providing metrics for Prometheus. io.github.rtib.cmc.exporter.HTTPServer { # Port on which the webserver is listening. # Default: 9500 // port = 9500 # Minimum number of threads hold available for webserver in threadpool. # Default: 1 // minThreads = 1 # Maximum number of threads allowed for webserver threadpool. # Default: 10 // maxThreads = 10 # Keepalive duration of idle threads. # Default: PT2M // keepalive = 2 minutes # Request transmission timeout. # Default: PT1M // maxReqTime = 1 minute # Response transmission timeout. # Default: PT10M // maxRspTime = 10 minutes } }