Datadog-Riak Integration

Riak Graph

Overview

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

Setup

Installation

The Riak check is packaged with the Agent, so simply install the Agent on your Riak servers. If you need the newest version of the check, install the dd-check-riak package.

Configuration

Create a file riak.yaml in the Agent’s conf.d 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

Restart the Agent to start sending Riak metrics to Datadog.

Validation

Run the Agent’s info subcommand and look for riak under the Checks section:

  Checks
  ======
    [...]

    riak
    -------
      - instance #0 [OK]
      - Collected 26 metrics, 0 events & 1 service check

    [...]

Compatibility

The riak check is compatible with all major platforms.

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
shown as
riak.node_get_fsm_in_rate
(gauge)
Average number of GET FSMs enqueued by Sidejob
shown as
riak.node_get_fsm_out_rate
(gauge)
Average number of GET FSMs dequeued by Sidejob
shown as
riak.node_get_fsm_rejected_60s
(gauge)
Number of GET FSMs actively being rejected by Sidejob's overload protection
shown as
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
shown as
riak.node_put_fsm_in_rate
(gauge)
Average number of PUT FSMs enqueued by Sidejob
shown as
riak.node_put_fsm_out_rate
(gauge)
Average number of PUT FSMs dequeued by Sidejob
shown as
riak.node_put_fsm_rejected_60s
(gauge)
Number of PUT FSMs actively being rejected by Sidejob's overload protection
shown as
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 event 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.

Further Reading

Learn more about infrastructure monitoring and all our integrations on our blog