plugin_name: go.d.plugin modules: - meta: id: collector-go.d.plugin-cassandra module_name: cassandra plugin_name: go.d.plugin monitored_instance: categories: - data-collection.database-servers icon_filename: cassandra.svg name: Cassandra link: https://cassandra.apache.org/_/index.html alternative_monitored_instances: [] keywords: - nosql - dbms - db - database related_resources: integrations: list: [] info_provided_to_referring_integrations: description: "" most_popular: false overview: data_collection: metrics_description: | This collector gathers metrics about client requests, cache hits, and many more, while also providing metrics per each thread pool. method_description: | The [JMX Exporter](https://github.com/prometheus/jmx_exporter) is used to fetch metrics from a Cassandra instance and make them available at an endpoint like `http://127.0.0.1:7072/metrics`. supported_platforms: include: [] exclude: [] multi_instance: true additional_permissions: description: "" default_behavior: auto_detection: description: | This collector discovers instances running on the local host that provide metrics on port 7072. On startup, it tries to collect metrics from: - http://127.0.0.1:7072/metrics limits: description: "" performance_impact: description: "" setup: prerequisites: list: - title: Configure Cassandra with Prometheus JMX Exporter description: | To configure Cassandra with the [JMX Exporter](https://github.com/prometheus/jmx_exporter): > **Note**: paths can differ depends on your setup. - Download latest [jmx_exporter](https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/) jar file and install it in a directory where Cassandra can access it. - Add the [jmx_exporter.yaml](https://raw.githubusercontent.com/netdata/go.d.plugin/master/modules/cassandra/jmx_exporter.yaml) file to `/etc/cassandra`. - Add the following line to `/etc/cassandra/cassandra-env.sh` ``` JVM_OPTS="$JVM_OPTS $JVM_EXTRA_OPTS -javaagent:/opt/jmx_exporter/jmx_exporter.jar=7072:/etc/cassandra/jmx_exporter.yaml ``` - Restart cassandra service. configuration: file: name: go.d/cassandra.conf options: description: | The following options can be defined globally: update_every, autodetection_retry. folding: title: Config options enabled: true list: - name: update_every description: Data collection frequency. default_value: 5 required: false - name: autodetection_retry description: Recheck interval in seconds. Zero means no recheck will be scheduled. default_value: 0 required: false - name: url description: Server URL. default_value: http://127.0.0.1:7072/metrics required: true - name: username description: Username for basic HTTP authentication. default_value: "" required: false - name: password description: Password for basic HTTP authentication. default_value: "" required: false - name: proxy_url description: Proxy URL. default_value: "" required: false - name: proxy_username description: Username for proxy basic HTTP authentication. default_value: "" required: false - name: proxy_password description: Password for proxy basic HTTP authentication. default_value: "" required: false - name: timeout description: HTTP request timeout. default_value: 2 required: false - name: not_follow_redirects description: Redirect handling policy. Controls whether the client follows redirects. default_value: false required: false - name: tls_skip_verify description: Server certificate chain and hostname validation policy. Controls whether the client performs this check. default_value: false required: false - name: tls_ca description: Certification authority that the client uses when verifying the server's certificates. default_value: "" required: false - name: tls_cert description: Client TLS certificate. default_value: "" required: false - name: tls_key description: Client TLS key. default_value: "" required: false examples: folding: title: Config enabled: true list: - name: Basic folding: enabled: false description: A basic example configuration. config: | jobs: - name: local url: http://127.0.0.1:7072/metrics - name: HTTP authentication description: Local server with basic HTTP authentication. config: | jobs: - name: local url: http://127.0.0.1:7072/metrics username: foo password: bar - name: HTTPS with self-signed certificate description: Local server with enabled HTTPS and self-signed certificate. config: | jobs: - name: local url: https://127.0.0.1:7072/metrics tls_skip_verify: yes - name: Multi-instance description: | > **Note**: When you define multiple jobs, their names must be unique. Collecting metrics from local and remote instances. config: | jobs: - name: local url: http://127.0.0.1:7072/metrics - name: remote url: http://192.0.2.1:7072/metrics troubleshooting: problems: list: [] alerts: [] metrics: folding: title: Metrics enabled: false description: "" availability: [] scopes: - name: global description: These metrics refer to the entire monitored application. labels: [] metrics: - name: cassandra.client_requests_rate availability: [] description: Client requests rate unit: requests/s chart_type: line dimensions: - name: read - name: write - name: cassandra.client_request_read_latency_histogram availability: [] description: Client request read latency histogram unit: seconds chart_type: line dimensions: - name: p50 - name: p75 - name: p95 - name: p98 - name: p99 - name: p999 - name: cassandra.client_request_write_latency_histogram availability: [] description: Client request write latency histogram unit: seconds chart_type: line dimensions: - name: p50 - name: p75 - name: p95 - name: p98 - name: p99 - name: p999 - name: cassandra.client_requests_latency availability: [] description: Client requests total latency unit: seconds chart_type: line dimensions: - name: read - name: write - name: cassandra.row_cache_hit_ratio availability: [] description: Key cache hit ratio unit: percentage chart_type: line dimensions: - name: hit_ratio - name: cassandra.row_cache_hit_rate availability: [] description: Key cache hit rate unit: events/s chart_type: stacked dimensions: - name: hits - name: misses - name: cassandra.row_cache_utilization availability: [] description: Key cache utilization unit: percentage chart_type: line dimensions: - name: used - name: cassandra.row_cache_size availability: [] description: Key cache size unit: bytes chart_type: line dimensions: - name: size - name: cassandra.key_cache_hit_ratio availability: [] description: Row cache hit ratio unit: percentage chart_type: line dimensions: - name: hit_ratio - name: cassandra.key_cache_hit_rate availability: [] description: Row cache hit rate unit: events/s chart_type: stacked dimensions: - name: hits - name: misses - name: cassandra.key_cache_utilization availability: [] description: Row cache utilization unit: percentage chart_type: line dimensions: - name: used - name: cassandra.key_cache_size availability: [] description: Row cache size unit: bytes chart_type: line dimensions: - name: size - name: cassandra.storage_live_disk_space_used availability: [] description: Disk space used by live data unit: bytes chart_type: line dimensions: - name: used - name: cassandra.compaction_completed_tasks_rate availability: [] description: Completed compactions rate unit: tasks/s chart_type: line dimensions: - name: completed - name: cassandra.compaction_pending_tasks_count availability: [] description: Pending compactions unit: tasks chart_type: line dimensions: - name: pending - name: cassandra.compaction_compacted_rate availability: [] description: Compaction data rate unit: bytes/s chart_type: line dimensions: - name: compacted - name: cassandra.jvm_memory_used availability: [] description: Memory used unit: bytes chart_type: stacked dimensions: - name: heap - name: nonheap - name: cassandra.jvm_gc_rate availability: [] description: Garbage collections rate unit: gc/s chart_type: line dimensions: - name: parnew - name: cms - name: cassandra.jvm_gc_time availability: [] description: Garbage collection time unit: seconds chart_type: line dimensions: - name: parnew - name: cms - name: cassandra.dropped_messages_rate availability: [] description: Dropped messages rate unit: messages/s chart_type: line dimensions: - name: dropped - name: cassandra.client_requests_timeouts_rate availability: [] description: Client requests timeouts rate unit: timeout/s chart_type: line dimensions: - name: read - name: write - name: cassandra.client_requests_unavailables_rate availability: [] description: Client requests unavailable exceptions rate unit: exceptions/s chart_type: line dimensions: - name: read - name: write - name: cassandra.client_requests_failures_rate availability: [] description: Client requests failures rate unit: failures/s chart_type: line dimensions: - name: read - name: write - name: cassandra.storage_exceptions_rate availability: [] description: Storage exceptions rate unit: exceptions/s chart_type: line dimensions: - name: storage - name: thread pool description: Metrics related to Cassandra's thread pools. Each thread pool provides its own set of the following metrics. labels: - name: thread_pool description: thread pool name metrics: - name: cassandra.thread_pool_active_tasks_count availability: [] description: Active tasks unit: tasks chart_type: line dimensions: - name: active - name: cassandra.thread_pool_pending_tasks_count availability: [] description: Pending tasks unit: tasks chart_type: line dimensions: - name: pending - name: cassandra.thread_pool_blocked_tasks_count availability: [] description: Blocked tasks unit: tasks chart_type: line dimensions: - name: blocked - name: cassandra.thread_pool_blocked_tasks_rate availability: [] description: Blocked tasks rate unit: tasks/s chart_type: line dimensions: - name: blocked