Logging is here!

Riak

Agent Check Agent Check

Supported OS: Linux Mac OS Windows

Riak Graph

Overview

This check lets you track node, vnode and ring performance metrics from RiakKV or RiakTS.

Setup

Installation

The Riak check is included in the Datadog Agent package, so you don’t need to install anything else on your Riak servers.

Configuration

  1. Edit the riak.d/conf.yaml file, in the conf.d/ folder at the root of your Agent’s configuration directory. See the sample riak.yaml for all available configuration options:

        init_config:
    
        instances:
            - url: http://127.0.0.1:8098/stats # or whatever your stats endpoint is
  2. Restart the Agent to start sending Riak metrics to Datadog.

Validation

Run the Agent’s status subcommand and look for riak under the Checks section.

Data Collected

Metrics

riak.memory_atom
(gauge)
Total amount of memory currently allocated for atom storage
shown as byte
riak.memory_atom_used
(gauge)
Total amount of memory currently used for atom storage
shown as byte
riak.memory_binary
(gauge)
Total amount of memory used for binaries
shown as byte
riak.memory_code
(gauge)
Total amount of memory allocated for Erlang code
shown as byte
riak.memory_ets
(gauge)
Total memory allocated for Erlang Term Storage
shown as byte
riak.memory_processes
(gauge)
Total amount of memory allocated for Erlang processes
shown as byte
riak.memory_processes_used
(gauge)
Total amount of memory used by Erlang processes
shown as byte
riak.memory_total
(gauge)
Total allocated memory (sum of processes and system)
shown as byte
riak.node_get_fsm_active_60s
(gauge)
Number of active GET FSMs
riak.node_get_fsm_in_rate
(gauge)
Average number of GET FSMs enqueued by Sidejob
riak.node_get_fsm_out_rate
(gauge)
Average number of GET FSMs dequeued by Sidejob
riak.node_get_fsm_rejected_60s
(gauge)
Number of GET FSMs actively being rejected by Sidejob's overload protection
riak.node_gets
(count)
Number of GETs coordinated by this node
shown as operation
riak.node_put_fsm_active_60s
(gauge)
Number of active PUT FSMs
riak.node_put_fsm_in_rate
(gauge)
Average number of PUT FSMs enqueued by Sidejob
riak.node_put_fsm_out_rate
(gauge)
Average number of PUT FSMs dequeued by Sidejob
riak.node_put_fsm_rejected_60s
(gauge)
Number of PUT FSMs actively being rejected by Sidejob's overload protection
riak.node_puts
(gauge)
Number of PUTs coordinated by this node
shown as operation
riak.pbc_active
(gauge)
Number of active protocol buffers connections
shown as connection
riak.pbc_connects
(gauge)
Number of protocol buffers connections
shown as connection
riak.read_repairs
(gauge)
Number of read repair operations this this node has coordinated in the last minute
shown as operation
riak.vnode_gets
(gauge)
Number of GET operations coordinated by vnodes on this node
shown as operation
riak.vnode_index_deletes
(gauge)
Number of vnode index delete operations
shown as operation
riak.vnode_index_reads
(gauge)
Number of vnode index read operations
shown as read
riak.vnode_index_writes
(gauge)
Number of vnode index write operations
shown as write
riak.vnode_puts
(count)
Number of PUT operations coordinated by vnodes on this node
shown as operation
riak.node_get_fsm_objsize_mean
(gauge)
Object size encountered by this node
shown as byte
riak.node_get_fsm_siblings_mean
(gauge)
Number of siblings encountered during all GET operations by this node
shown as node
riak.node_get_fsm_time_mean
(gauge)
Time between reception of client GET request and subsequent response to client
shown as microsecond
riak.node_put_fsm_time_mean
(gauge)
Time between reception of client PUT request and subsequent response to client
shown as microsecond
riak.node_get_fsm_objsize_median
(gauge)
Object size encountered by this node
shown as byte
riak.node_get_fsm_siblings_median
(gauge)
Number of siblings encountered during all GET operations by this node
shown as node
riak.node_get_fsm_time_median
(gauge)
Time between reception of client GET request and subsequent response to client
shown as microsecond
riak.node_put_fsm_time_median
(gauge)
Time between reception of client PUT request and subsequent response to client
shown as microsecond
riak.node_get_fsm_objsize_95
(gauge)
Object size encountered by this node
shown as byte
riak.node_get_fsm_siblings_95
(gauge)
Number of siblings encountered during all GET operations by this node
shown as node
riak.node_get_fsm_time_95
(gauge)
Time between reception of client GET request and subsequent response to client
shown as microsecond
riak.node_put_fsm_time_95
(gauge)
Time between reception of client PUT request and subsequent response to client
shown as microsecond
riak.node_get_fsm_objsize_99
(gauge)
Object size encountered by this node
shown as byte
riak.node_get_fsm_siblings_99
(gauge)
Number of siblings encountered during all GET operations by this node
shown as node
riak.node_get_fsm_time_99
(gauge)
Time between reception of client GET request and subsequent response to client
shown as microsecond
riak.node_put_fsm_time_99
(gauge)
Time between reception of client PUT request and subsequent response to client
shown as microsecond
riak.node_get_fsm_objsize_100
(gauge)
Object size encountered by this node
shown as byte
riak.node_get_fsm_siblings_100
(gauge)
Number of siblings encountered during all GET operations by this node
shown as node
riak.node_get_fsm_time_100
(gauge)
Time between reception of client GET request and subsequent response to client
shown as microsecond
riak.node_put_fsm_time_100
(gauge)
Time between reception of client PUT request and subsequent response to client
shown as microsecond
riak.search_index_fail_count
(gauge)
Total number of documents that have failed to index
shown as object
riak.search_index_fail_one
(gauge)
Number of documents that have failed to index in the past one minute
shown as object
riak.search_query_fail_count
(gauge)
Total number of queries that have failed
shown as event
riak.search_query_fail_one
(gauge)
Number of queries that have failed in the last one minute
shown as event
riak.search_index_throughput_count
(gauge)
Total number of documents that have been indexed
shown as operation
riak.search_index_throughput_one
(gauge)
Number of documents that have been indexed in the last one minute
shown as operation
riak.search_query_throughput_count
(gauge)
Total number of queries that have been performed
shown as operation
riak.search_query_throughput_one
(gauge)
Number of searches that have been performed in the last one minute
shown as operation
riak.search_query_latency_95
(gauge)
Time between reception of query and response: 95th percentile
shown as microsecond
riak.search_query_latency_99
(gauge)
Time between reception of query and response: 99th percentile
shown as microsecond
riak.search_query_latency_999
(gauge)
Time between reception of query and response: 99.9th percentile
shown as microsecond
riak.search_query_latency_max
(gauge)
Time between reception of query and response: max
shown as microsecond
riak.search_query_latency_min
(gauge)
Time between reception of query and response: min
shown as microsecond
riak.search_query_latency_mean
(gauge)
Time between reception of query and response: mean
shown as microsecond
riak.search_query_latency_median
(gauge)
Time between reception of query and response: median
shown as microsecond
riak.search_index_latency_95
(gauge)
Time between insertion of document and it being indexed: 95th percentile
shown as microsecond
riak.search_index_latency_99
(gauge)
Time between insertion of document and it being indexed: 99th percentile
shown as microsecond
riak.search_index_latency_999
(gauge)
Time between insertion of document and it being indexed: 99.9th percentile
shown as microsecond
riak.search_index_latency_max
(gauge)
Time between insertion of document and it being indexed: max
shown as microsecond
riak.search_index_latency_min
(gauge)
Time between insertion of document and it being indexed: min
shown as microsecond
riak.search_index_latency_mean
(gauge)
Time between insertion of document and it being indexed: mean
shown as microsecond
riak.search_index_latency_median
(gauge)
Time between insertion of document and it being indexed: median
shown as microsecond

Events

The Riak check does not include any events at this time.

Service Checks

riak.can_connect:

Returns CRITICAL if the Agent cannot connect to the Riak stats endpoint to collect metrics, otherwise OK.

Troubleshooting

Need help? Contact Datadog Support.


Mistake in the docs? Feel free to contribute!