cassandra

package
v0.47.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 23, 2022 License: GPL-3.0 Imports: 7 Imported by: 0

README

Cassandra monitoring with Netdata

Cassandra is an open-source NoSQL database management system.

This module will monitor one or more Cassandra servers, depending on your configuration.

Requirements

To configure Cassandra with the JMX Exporter:

Note: paths can differ depends on your setup.

  • Download latest jmx_exporter jar file and install it in a directory where Cassandra can access it.
  • Add the 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.

Metrics

All metrics have "cassandra." prefix.

Labels per scope:

  • global: no labels.
  • thread pool: thread_pool.
Metric Scope Dimensions Units
client_requests_rate global read, write requests/s
client_request_read_latency_histogram global read, write seconds
client_request_write_latency_histogram global read, write seconds
client_requests_latency global read, write seconds
row_cache_hit_ratio global hit_ratio percentage
row_cache_hit_rate global hits, misses events/s
row_cache_utilization global used percentage
row_cache_size global size bytes
key_cache_hit_ratio global hit_ratio percentage
key_cache_hit_rate global hits, misses events/s
key_cache_utilization global used percentage
key_cache_size global size bytes
storage_live_disk_space_used global used bytes
compaction_completed_tasks_rate global completed tasks/s
compaction_pending_tasks_count global pending tasks
compaction_compacted_rate global compacted bytes/s
thread_pool_active_tasks_count thread pool active tasks
thread_pool_pending_tasks_count thread pool pending tasks
thread_pool_blocked_tasks_count thread pool blocked tasks
thread_pool_blocked_tasks_rate thread pool blocked tasks/s
jvm_memory_used global heap, nonheap bytes
jvm_gc_rate global parnew, cms gc/s
jvm_gc_time global parnew, cms seconds
dropped_messages_rate global dropped messages/s
client_requests_timeouts_rate global read, write timeout/s
client_requests_unavailables_rate global read, write exceptions/s
client_requests_failures_rate global read, write failures/s
storage_exceptions_rate global storage exceptions/s

Configuration

Edit the go.d/cassandra.conf configuration file using edit-config from the Netdata config directory, which is typically at /etc/netdata.

cd /etc/netdata # Replace this path with your Netdata config directory
sudo ./edit-config go.d/cassandra.conf

Here is an example for 2 servers:

jobs:
  - name: local
    url: http://127.0.0.1:7072/metrics

  - name: remote
    url: http://203.0.113.10:7072/metrics

For all available options please see module configuration file.

Troubleshooting

To troubleshoot issues with the cassandra collector, run the go.d.plugin with the debug option enabled. The output should give you clues as to why the collector isn't working.

  • Navigate to the plugins.d directory, usually at /usr/libexec/netdata/plugins.d/. If that's not the case on your system, open netdata.conf and look for the plugins setting under [directories].

    cd /usr/libexec/netdata/plugins.d/
    
  • Switch to the netdata user.

    sudo -u netdata -s
    
  • Run the go.d.plugin to debug the collector:

    ./go.d.plugin -d -m cassandra
    

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Cassandra

type Cassandra struct {
	module.Base
	Config `yaml:",inline"`
	// contains filtered or unexported fields
}

func New

func New() *Cassandra

func (*Cassandra) Charts

func (c *Cassandra) Charts() *module.Charts

func (*Cassandra) Check

func (c *Cassandra) Check() bool

func (*Cassandra) Cleanup

func (c *Cassandra) Cleanup()

func (*Cassandra) Collect

func (c *Cassandra) Collect() map[string]int64

func (*Cassandra) Init

func (c *Cassandra) Init() bool

type Config

type Config struct {
	web.HTTP `yaml:",inline"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL