RethinkDB

Supported OS Linux Mac OS Windows

インテグレーションバージョン2.3.1

概要

RethinkDB は分散型のドキュメント指向 NoSQL データベースです。リアルタイムな変更フィードに対してファーストクラスのサポートを提供します。

このチェックは Datadog Agent を使用して RethinkDB クラスターを監視し、パフォーマンス、データ可用性、クラスター コンフィギュレーションなどのメトリクスを収集します。

: このインテグレーションには、RethinkDB バージョン 2.3.6 以降が必要です。

セットアップ

ホストで実行されている Agent 用にこのチェックをインストールおよび構成する場合は、以下の手順に従ってください。コンテナ環境の場合は、オートディスカバリーのインテグレーションテンプレートのガイドを参照してこの手順を行ってください。

インストール

RethinkDB チェックは Datadog Agent パッケージに含まれています。サーバーに追加でインストールする必要はありません。

コンフィギュレーション

  1. RethinkDB 2.4 以降を使用する場合は、rethinkdb データベースに対して読み取り専用のアクセス許可を持つ datadog-agent ユーザーを追加してください。 以下の ReQL コマンドを使用できます。詳しくは、アクセス許可とユーザーアカウントを 参照してください。

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

    : RethinkDB 2.3.x の場合、rethinkdb データベースに対するアクセス許可の付与はサポートされていません。 この手順をスキップし、下記の管理者アカウントを使用してください。

  2. Agent のコンフィギュレーションディレクトリのルートにある conf.d/ フォルダーの rethinkdb.d/conf.yaml ファイルを編集します。 使用可能なすべてのコンフィギュレーションオプションについては、rethinkdb.d/conf.yaml のサンプルを 参照してください。

    init_config:
    
    instances:
      - host: localhost
        port: 28015
        user: "<USER>"
        password: "<PASSWORD>"
    
  3. Agent を再起動します

: このインテグレーションはクラスター内のすべてのサーバーからメトリクスを収集します。したがって、Agent は 1 つしか必要ありません。

ログの収集

  1. Datadog Agent で、ログの収集はデフォルトで無効になっています。以下のように、datadog.yaml ファイルでこれを有効にします。

    logs_enabled: true
    
  2. RethinkDB ログの収集を開始するには、次のコンフィギュレーションブロックを rethinkdb.d/conf.yaml ファイルで編集します。

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

    path パラメーターの値を環境に合わせて変更します。使用可能なすべてのコンフィギュレーションオプションについては、conf.yaml のサンプルを参照してください。

  3. Agent を再起動します

Kubernetes 環境のログを有効にするには、Kubernetes ログ収集を参照してください。

検証

Agent のステータスサブコマンドを実行し、Checks セクションで rethinkdb を探します。

収集データ

メトリクス

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.

イベント

RethinkDB には、イベントは含まれません。

サービスのチェック

rethinkdb.can_connect
Returns CRITICAL if the Agent is unable to reach the configured RethinkDB server, OK otherwise.
Statuses: ok, critical

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.
Statuses: ok, warning

rethinkdb.table_status.status.ready_for_reads
Returns OK if all shards of a table are ready to accept read queries, WARNING otherwise.
Statuses: ok, warning

rethinkdb.table_status.status.ready_for_writes
Returns OK if all shards of a table are ready to accept write queries, WARNING otherwise.
Statuses: ok, warning

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).
Statuses: ok, warning

トラブルシューティング

ご不明な点は、Datadog のサポートチームまでお問合せください。