Riak KV collector
Collects database stats from /stats
endpoint.
Requirements
- An accessible
/stats
endpoint. See the Riak KV configuration reference documentation for how to enable this.
The following charts are included, which are mostly derived from the metrics listed here.
- Throughput in operations/s
KV operations
- gets
- puts
Data type updates
- counters
- sets
- maps
Search queries
- queries
Search documents
- indexed
Strong consistency operations
- gets
- puts
- Latency in milliseconds
KV latency of the past minute
- get (mean, median, 95th / 99th / 100th percentile)
- put (mean, median, 95th / 99th / 100th percentile)
Data type latency of the past minute
- counter_merge (mean, median, 95th / 99th / 100th percentile)
- set_merge (mean, median, 95th / 99th / 100th percentile)
- map_merge (mean, median, 95th / 99th / 100th percentile)
Search latency of the past minute
- query (median, min, max, 95th / 99th percentile)
- index (median, min, max, 95th / 99th percentile)
Strong consistency latency of the past minute
- get (mean, median, 95th / 99th / 100th percentile)
- put (mean, median, 95th / 99th / 100th percentile)
- Erlang VM metrics
System counters
- processes
Memory allocation in MB
- processes.allocated
- processes.used
- General load / health metrics
Siblings encountered in KV operations during the past minute
- get (mean, median, 95th / 99th / 100th percentile)
Object size in KV operations during the past minute in KB
- get (mean, median, 95th / 99th / 100th percentile)
Message queue length in unprocessed messages
- vnodeq_size (mean, median, 95th / 99th / 100th percentile)
Index operations encountered by Search
- errors
Protocol buffer connections
- active
Repair operations coordinated by this node
- read
Active finite state machines by kind
- get
- put
- secondary_index
- list_keys
Rejected finite state machines
- get
- put
Number of writes to Search failed due to bad data format by reason
- bad_entry
- extract_fail
Configuration
Edit the python.d/riakkv.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, if different
sudo ./edit-config python.d/riakkv.conf
The module needs to be passed the full URL to Riak's stats endpoint. For example:
myriak:
url: http://myriak.example.com:8098/stats
With no explicit configuration given, the module will attempt to connect to
http://localhost:8098/stats
.
The default update frequency for the plugin is set to 2 seconds as Riak internally updates the metrics every second. If we were to update the metrics every second, the resulting graph would contain odd jitter.
Troubleshooting
To troubleshoot issues with the riakkv
module, run the python.d.plugin
with the debug option enabled. The
output will give you the output of the data collection job or error messages on why the collector isn't working.
First, navigate to your plugins directory, usually they are located under /usr/libexec/netdata/plugins.d/
. If that's
not the case on your system, open netdata.conf
and look for the setting plugins directory
. Once you're in the
plugin's directory, switch to the netdata
user.
cd /usr/libexec/netdata/plugins.d/
sudo su -s /bin/bash netdata
Now you can manually run the riakkv
module in debug mode:
./python.d.plugin riakkv debug trace
Do you have any feedback for this page? If so, you can open a new issue on our netdata/learn repository.