# riakkv Monitors one or more Riak KV servers. **Requirements:** * An accessible `/stats` endpoint. See [the Riak KV configuration reference] documentation](https://docs.riak.com/riak/kv/2.2.3/configuring/reference/#client-interfaces) for how to enable this. The following charts are included, which are mostly derived from the metrics listed [here](https://docs.riak.com/riak/kv/latest/using/reference/statistics-monitoring/index.html#riak-metrics-to-graph). 1. **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 2. **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) 3. **Erlang VM metrics** * **System counters** * processes * **Memory allocation** in MB * processes.allocated * processes.used 4. **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 The module needs to be passed the full URL to Riak's stats endpoint. For example: ```yaml 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.