deanproctor/collectd — pull request #1 by deanproctor (2013-06-17 16:54:20+00:00)
Title: Riak plugin

Adds a Riak plugin for monitoring Riak stats, Riak MDC stats, and service health.

Riak and Riak MDC stats are monitored using the Riak HTTP/JSON stats interface. Service health is monitored over Erlang RPC using the EI library.

Below are the metrics that this plugin is configured to monitor:

Riak Stats:
node_gets
node_gets_total
node_puts
node_puts_total
vnode_gets
vnode_gets_total
vnode_puts
vnode_puts_total
read_repairs
read_repairs_total
coord_redirs_total
node_get_fsm_time_mean
node_get_fsm_time_median
node_get_fsm_time_95
node_get_fsm_time_100
node_put_fsm_time_mean
node_put_fsm_time_median
node_put_fsm_time_95
node_put_fsm_time_100
node_get_fsm_objsize_mean
node_get_fsm_objsize_median
node_get_fsm_objsize_95
node_get_fsm_objsize_100
node_get_fsm_siblings_mean
node_get_fsm_siblings_median
node_get_fsm_siblings_95
node_get_fsm_siblings_100
memory_processes_used
sys_process_count
pbc_connects
pbc_active

Riak MDC Stats:
queue_length
queue_byte_size
queue_percentage
dropped_count
local_leader_message_queue_len
local_leader_heap_size

Riak Service Metric (command line equivalents):
`riak-admin ring-ready` is true
`riak-admin ring-status` reports no down nodes
`riak-admin wait-for-service 127.0.0.1 riak_kv` returns true (verifies riak_kv service is loaded)
`riak ping` returns pong (process is running and responds to Erlang RPC pings)