Riak is a distributed NoSQL key-value data store that offers high availability, fault tolerance, operational simplicity, and scalability. Riak implements the principles from Amazon’s Dynamo paper with heavy influence from the CAP Theorem. Written in Erlang, Riak has fault tolerant data replication and automatic data distribution across the cluster for performance and resilience.

Prerequisite

For Virtual machines, install the Linux agent.

Configuring the credentials

Configure the credentials in the directory /opt/opsramp/agent/conf/app.d/creds.yaml

riak:
- name: riak
  user: <username>
  pwd: <Password>
  encoding-type: plain
  labels:
    key1: val1
    key2: val2
  

Configuring the application

Virtual machine

Configure the application in the directory /opt/opsramp/agent/conf/app/discovery/auto-detection.yaml

- name: riak
  instance-checks:
    service-check:
      - riak
    process-check:
      - riak
    port-check:
      - 8098
  

Docker environment

Configure the application in the directory /opt/opsramp/agent/conf/app/discovery/auto-container-detection.yaml

- name: riak
  container-checks:
    image-check:
      - riak
    port-check:
      - 8098
  

Kubernetes environment

Configure the application in config.yaml

- name: riak
  container-checks:
    image-check:
      - riak
    port-check:
      - 8098
  

Validate

Go to Resources under the Infrastructure tab to check if your resources are onboarded and the metrics are collected.

Metrics

OpsRamp MetricMetric Display NameUnit
riak_memory_atom

Total amount of memory currently allocated for atom storage
Memory Atombytes
riak_memory_atom_used

Total amount of memory currently used for atom storage
Memory Atom Usedbytes
riak_memory_binary

Total amount of memory used for binaries
Memory Binarybytes
riak_memory_code

Total amount of memory allocated for Erlang code
Memory Codebytes
riak_memory_ets

Total memory allocated for Erlang Term Storage
Memory Etsbytes
riak_memory_processes

Total amount of memory allocated for Erlang processes
Memory Processesbytes
riak_memory_processes_used

Total amount of memory used by Erlang processes
Memory Processes Usedbytes
riak_memory_total

Total allocated memory (sum of processes and system)
Memory Totalbytes
riak_node_get_fsm_active_60s

Number of active GET FSMs
Node Get Fsm Active 60S
riak_node_get_fsm_in_rate

Average number of GET FSMs enqueued by Sidejob
Node Get Fsm In Rate
riak_node_get_fsm_out_rate

Average number of GET FSMs dequeued by Sidejob
Node Get Fsm Out Rate
riak_node_get_fsm_rejected_60s

Number of GET FSMs actively being rejected by Sidejob's overload protection
Node Get Fsm Rejected 60S
riak_node_gets

Number of GETs coordinated by this node
Node GetsOperations
riak_node_put_fsm_active_60s

Number of active PUT FSMs
Node Put Fsm Active 60S
riak_node_put_fsm_in_rate

Average number of PUT FSMs enqueued by Sidejob
Node Put Fsm In Rate
riak_node_put_fsm_out_rate

Average number of PUT FSMs dequeued by Sidejob
Node Put Fsm Out Rate
riak_node_put_fsm_rejected_60s

Number of PUT FSMs actively being rejected by Sidejob's overload protection
Node Put Fsm Rejected 60S
riak_node_puts

Number of PUTs coordinated by this node
Node PutsOperations
riak_pbc_active

Number of active protocol buffers connections
Pbc ActiveConnections
riak_pbc_connects

Number of protocol buffers connections
Pbc ConnectsConnections
riak_read_repairs

Number of read repair operations this this node has coordinated in the last minute
Read RepairsOperations
riak_vnode_gets

Number of GET operations coordinated by vnodes on this node
Vnode GetsOperations
riak_vnode_index_deletes

Number of vnode index delete operations
Vnode Index DeletesOperations
riak_vnode_index_reads

Number of vnode index read operations
Vnode Index ReadsReads
riak_vnode_index_writes

Number of vnode index write operations
Vnode Index WritesWrites
riak_vnode_puts

Number of PUT operations coordinated by vnodes on this node
Vnode PutsOperations
riak_node_get_fsm_objsize_mean

Object size encountered by this node
Node Get Fsm Objsize Meanbytes
riak_node_get_fsm_siblings_mean

Number of siblings encountered during all GET operations by this node
Node Get Fsm Siblings MeanNodes
riak_node_get_fsm_time_mean

Time between reception of client GET request and subsequent response to client
Node Get Fsm Time Meanmicroseconds
riak_node_put_fsm_time_mean

Time between reception of client PUT request and subsequent response to client
Node Put Fsm Time Meanmicroseconds
riak_node_get_fsm_objsize_median

Object size encountered by this node
Node Get Fsm Objsize Medianbytes
riak_node_get_fsm_siblings_median

Number of siblings encountered during all GET operations by this node
Node Get Fsm Siblings MedianNodes
riak_node_get_fsm_time_median

Time between reception of client GET request and subsequent response to client
Node Get Fsm Time Medianmicroseconds
riak_node_put_fsm_time_median

Time between reception of client PUT request and subsequent response to client
Node Put Fsm Time Medianmicroseconds
riak_node_get_fsm_objsize_95

Object size encountered by this node
Node Get Fsm Objsize 95bytes
riak_node_get_fsm_siblings_95

Number of siblings encountered during all GET operations by this node
Node Get Fsm Siblings 95Nodes
riak_node_get_fsm_time_95

Time between reception of client GET request and subsequent response to client
Node Get Fsm Time 95microseconds
riak_node_put_fsm_time_95

Time between reception of client PUT request and subsequent response to client
Node Put Fsm Time 95microseconds
riak_node_get_fsm_objsize_99

Object size encountered by this node
Node Get Fsm Objsize 99bytes
riak_node_get_fsm_siblings_99

Number of siblings encountered during all GET operations by this node
Node Get Fsm Siblings 99Nodes
riak_node_get_fsm_time_99

Time between reception of client GET request and subsequent response to client
Node Get Fsm Time 99microseconds
riak_node_put_fsm_time_99

Time between reception of client PUT request and subsequent response to client
Node Put Fsm Time 99microseconds
riak_node_get_fsm_objsize_100

Object size encountered by this node
Node Get Fsm Objsize 100bytes
riak_node_get_fsm_siblings_100

Number of siblings encountered during all GET operations by this node
Node Get Fsm Siblings 100Nodes
riak_node_get_fsm_time_100

Time between reception of client GET request and subsequent response to client
Node Get Fsm Time 100microseconds
riak_node_put_fsm_time_100

Time between reception of client PUT request and subsequent response to client
Node Put Fsm Time 100microseconds
riak_search_index_fail_count

Total number of documents that have failed to index
Search Index Fail CountObjects
riak_search_index_fail_one

Number of documents that have failed to index in the past one minute
Search Index Fail OneObjects
riak_search_query_fail_count

Total number of queries that have failed
Search Query Fail CountEvents
riak_search_query_fail_one

Number of queries that have failed in the last one minute
Search Query Fail OneEvents
riak_search_index_throughput_count

Total number of documents that have been indexed
Search Index Throughput CountOperations
riak_search_index_throughput_one

Number of documents that have been indexed in the last one minute
Search Index Throughput OneOperations
riak_search_query_throughput_count

Total number of queries that have been performed
Search Query Throughput CountOperations
riak_search_query_throughput_one

Number of searches that have been performed in the last one minute
Search Query Throughput OneOperations
riak_search_query_latency_95

Time between reception of query and response: 95th percentile
Search Query Latency 95microseconds
riak_search_query_latency_99

Time between reception of query and response: 99th percentile
Search Query Latency 99microseconds
riak_search_query_latency_999

Time between reception of query and response: 99.9th percentile
Search Query Latency 999microseconds
riak_search_query_latency_max

Time between reception of query and response: max
Search Query Latency Maxmicroseconds
riak_search_query_latency_min

Time between reception of query and response: min
Search Query Latency Minmicroseconds
riak_search_query_latency_mean

Time between reception of query and response: mean
Search Query Latency Meanmicroseconds
riak_search_query_latency_median

Time between reception of query and response: median
Search Query Latency Medianmicroseconds
riak_search_index_latency_95

Time between insertion of document and it being indexed: 95th percentile
Search Index Latency 95microseconds
riak_search_index_latency_99

Time between insertion of document and it being indexed: 99th percentile
Search Index Latency 99microseconds
riak_search_index_latency_999

Time between insertion of document and it being indexed: 99.9th percentile
Search Index Latency 999microseconds
riak_search_index_latency_max

Time between insertion of document and it being indexed: max
Search Index Latency Maxmicroseconds
riak_search_index_latency_min

Time between insertion of document and it being indexed: min
Search Index Latency Minmicroseconds
riak_search_index_latency_mean

Time between insertion of document and it being indexed: mean
Search Index Latency Meanmicroseconds
riak_search_index_latency_median

Time between insertion of document and it being indexed: median
Search Index Latency Medianmicroseconds
riak_vnode_gets_total

Total number of GETs coordinated by local vnodes
Vnode Gets Totalper second
riak_node_gets_total

Total number of GETs coordinated by this node, including GETs to non-local vnodes
Node Gets Totalper second
riak_node_puts_total

Total number of PUTs coordinated by this node, including PUTs to non-local vnodes
Node Puts Totalper second
riak_riak_kv_vnodes_running

Riak Kv Vnodes Running
riak_ring_num_partitions

The number of partitions in the ring
Ring Num Partitions
riak_precommit_fail

Total number of pre-commit hook failures
Precommit Failper second
riak_vnode_index_deletes_total

Total number of local replicas participating in secondary index deletes
Vnode Index Deletes Totalper second
riak_riak_pipe_vnodes_running

Riak Pipe Vnodes Running
riak_pipeline_create_count

The total number of pipelines created since the node was started
Pipeline Create Countper second
riak_vnode_puts_total

Total number of PUTS coordinated by local vnodes
Vnode Puts Totalper second
riak_read_repairs_total

Total number of Read Repairs this node has coordinated
Read Repairs Totalper second
riak_postcommit_fail

Total number of post-commit hook failures
Postcommit Failper second
riak_pipeline_create_error_count

The total number of pipeline creation errors since the node was started
Pipeline Create Error Countper second
riak_coord_redirs_total

Total number of requests this node has redirected to other nodes for coordination
Coord Redirs Totalper second
riak_sys_process_count

Number of processes currently running in the Erlang VM
Sys Process Count
riak_pipeline_active

Number of pipelines active in the last 60 seconds
Pipeline Active
riak_vnode_index_reads_total

Total number of local replicas participating in secondary index reads
Vnode Index Reads Totalper second
riak_vnode_index_writes_total

Total number of local replicas participating in secondary index writes
Vnode Index Writes Totalper second