RethinkDB
Datadog の調査レポート: サーバーレスの状態 レポート: サーバーレスの状態

RethinkDB

Agent Check Agentチェック

Supported OS: Linux Mac OS Windows

このページは日本語には対応しておりません。随時翻訳に取り組んでいます。翻訳に関してご質問やご意見ございましたら、お気軽にご連絡ください。

Overview

RethinkDB is a distributed documented-oriented NoSQL database, with first class support for realtime change feeds.

This check monitors a RethinkDB cluster through the Datadog Agent and collects metrics about performance, data availability, cluster configuration, and more.

Note: this integration is compatible with RethinkDB version 2.3.6 and above.

Setup

Follow the instructions below to install and configure this check for an Agent running on a host. For containerized environments, see the Autodiscovery Integration Templates for guidance on applying these instructions.

Installation

The RethinkDB check is included in the Datadog Agent package. No additional installation is needed on your server.

Configuration

  1. If using RethinkDB 2.4+, add a datadog-agent user with read-only permissions on the rethinkdb database. You can use the following ReQL commands, and refer to Permissions and user accounts for details:

    r.db('rethinkdb').table('users').insert({'id': 'datadog-agent', 'password': '<PASSWORD>'})
    r.db('rethinkdb').grant('datadog-agent', {'read': True})

    Note: on RethinkDB 2.3.x, granting permissions on the rethinkdb database is not supported. Skip this step and use your admin account below instead.

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

    init_config:
    
    instances:
      - host: localhost
        port: 28015
        user: "<USER>"
        password: "<PASSWORD>"
  3. Restart the Agent.

Note: this integration collects metrics from all servers in the cluster, so you only need a single Agent.

Log collection

Available for Agent versions >6.0

  1. Collecting logs is disabled by default in the Datadog Agent, enable it in your datadog.yaml file:

    logs_enabled: true
  2. Add this configuration block to your rethinkdb.d/conf.yaml file to start collecting your RethinkDB logs:

    logs:
      - type: file
        path: "<LOG_FILE_PATH>"
        source: rethinkdb
        service: "<SERVICE_NAME>"

    Change the path and service parameter values based on your environment. See the sample rethinkdb.d/conf.yaml for all available configuration options.

  3. Restart the Agent.

See Datadog’s documentation for additional information on how to configure the Agent for log collection in Kubernetes environments.

Validation

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

Data Collected

Metrics

rethinkdb.config.servers
(gauge)
Number of connected servers in the cluster.
Shown as node
rethinkdb.config.databases
(gauge)
Number of databases in the cluster.
rethinkdb.config.tables_per_database
(gauge)
Number of tables in a given database.
Shown as table
rethinkdb.config.secondary_indexes_per_table
(gauge)
Number of secondary indexes in a given table.
Shown as index
rethinkdb.stats.cluster.query_engine.queries_per_sec
(gauge)
Number of queries executed in a cluster per second.
Shown as query
rethinkdb.stats.cluster.query_engine.read_docs_per_sec
(gauge)
Number of documents read in a cluster per second.
Shown as document
rethinkdb.stats.cluster.query_engine.written_docs_per_sec
(gauge)
Number of documents written in a cluster per second.
Shown as document
rethinkdb.stats.server.query_engine.queries_per_sec
(gauge)
Number of queries executed on a server per second.
Shown as query
rethinkdb.stats.server.query_engine.queries_total
(count)
Total number of queries executed on a server.
Shown as query
rethinkdb.stats.server.query_engine.read_docs_per_sec
(gauge)
Number of documents read from a server per second.
Shown as document
rethinkdb.stats.server.query_engine.read_docs_total
(count)
Total number of documents read from a server.
Shown as document
rethinkdb.stats.server.query_engine.written_docs_per_sec
(gauge)
Number of documents written to a server per second.
Shown as document
rethinkdb.stats.server.query_engine.written_docs_total
(count)
Total number of documents written to a server.
Shown as document
rethinkdb.stats.server.query_engine.client_connections
(gauge)
Current total number of connections to a server.
Shown as connection
rethinkdb.stats.server.query_engine.clients_active
(gauge)
Current number of individual clients connected to a server (a client may hold multiple connections).
Shown as host
rethinkdb.stats.table.query_engine.read_docs_per_sec
(gauge)
Number of documents read from a table per second.
Shown as document
rethinkdb.stats.table.query_engine.written_docs_per_sec
(gauge)
Number of documents written to a table per second.
Shown as document
rethinkdb.stats.table_server.query_engine.read_docs_per_sec
(gauge)
Number of documents read from a replica per second.
Shown as document
rethinkdb.stats.table_server.query_engine.read_docs_total
(count)
Total number of documents read from a replica.
Shown as document
rethinkdb.stats.table_server.query_engine.written_docs_per_sec
(gauge)
Number of documents written to a replica per second.
Shown as document
rethinkdb.stats.table_server.query_engine.written_docs_total
(count)
Total number of documents written to a replica.
Shown as document
rethinkdb.stats.table_server.storage_engine.cache.in_use_bytes
(gauge)
Current amount of memory used by the cache on a replica.
Shown as byte
rethinkdb.stats.table_server.storage_engine.disk.read_bytes_per_sec
(gauge)
Number of bytes read from the disk of a replica per second.
Shown as byte
rethinkdb.stats.table_server.storage_engine.disk.read_bytes_total
(count)
Total number of bytes read from the disk of a replica.
Shown as byte
rethinkdb.stats.table_server.storage_engine.disk.written_bytes_per_sec
(gauge)
Number of bytes written to the disk of a replica per second.
Shown as byte
rethinkdb.stats.table_server.storage_engine.disk.written_bytes_total
(count)
Total number of bytes written to the disk of a replica.
Shown as byte
rethinkdb.stats.table_server.storage_engine.disk.space_usage.metadata_bytes
(gauge)
Current disk space used by metadata on a replica.
Shown as byte
rethinkdb.stats.table_server.storage_engine.disk.space_usage.data_bytes
(gauge)
Current disk space used by data on a replica.
Shown as byte
rethinkdb.stats.table_server.storage_engine.disk.space_usage.garbage_bytes
(gauge)
Current disk space used by the garbage collector on a replica.
Shown as byte
rethinkdb.stats.table_server.storage_engine.disk.space_usage.preallocated_bytes
(gauge)
Current disk space preallocated on a replica.
Shown as byte
rethinkdb.table_status.shards
(gauge)
Total number of shards for a table.
Shown as shard
rethinkdb.table_status.shards.replicas
(gauge)
Total number of replicas for a table shard.
Shown as node
rethinkdb.table_status.shards.primary_replicas
(gauge)
Total number of primary replicas for a table shard.
Shown as node
rethinkdb.server_status.network.time_connected
(gauge)
Current total time a server has been connected to the network.
Shown as second
rethinkdb.server_status.network.connected_to
(gauge)
Number of other RethinkDB servers a server is currently connected to.
Shown as node
rethinkdb.server_status.process.time_started
(gauge)
Time when the RethinkDB server process started.
Shown as second
rethinkdb.system_jobs.jobs
(gauge)
Total number of currently running system jobs, tagged by `job_type`.
Shown as job
rethinkdb.current_issues.issues
(gauge)
Total number of current issues of a given issue_type.
rethinkdb.current_issues.critical_issues
(gauge)
Total number of critical current issues of a given issue_type.

Service Checks

  • rethinkdb.can_connect: Returns CRITICAL if the Agent cannot reach the configured RethinkDB server, OK otherwise.
  • rethinkdb.table_status.status.ready_for_outdated_reads: Returns OK if all shards of a table are ready to accept outdated read queries, WARNING otherwise.
  • rethinkdb.table_status.status.ready_for_reads: Returns OK if all shards of a table are ready to accept read queries, WARNING otherwise.
  • rethinkdb.table_status.status.ready_for_writes: Returns OK if all shards of a table are ready to accept write queries, WARNING otherwise.
  • rethinkdb.table_status.status.all_replicas_ready: Returns OK if all replicas are ready for reads and writes, WARNING otherwise (e.g. if backfills are in progress).

Events

RethinkDB does not include any events.

Troubleshooting

Need help? Contact Datadog support.