RethinkDB

Supported OS Linux Mac OS Windows

Intégration2.3.0

Présentation

RethinkDB est une base de données NoSQL orientée documents distribuée, qui exploite tout le potentiel des flux de modifications en temps réel.

Ce check permet de surveiller un cluster RethinkDB avec l’Agent Datadog et de recueillir des métriques sur les performances, la disponibilité des données, la configuration du cluster, et plus encore.

Remarque : cette intégration est compatible avec RethinkDB version 2.3.6 et versions ultérieures.

Configuration

Suivez les instructions ci-dessous pour installer et configurer ce check lorsque l’Agent est exécuté sur un host. Consultez la documentation relative aux modèles d’intégration Autodiscovery pour découvrir comment appliquer ces instructions à un environnement conteneurisé.

Installation

Le check RethinkDB est inclus avec le package de l’Agent Datadog. Vous n’avez donc rien d’autre à installer sur votre serveur.

Configuration

  1. Si vous utilisez RethinkDB 2.4+, ajoutez un utilisateur datadog-agent et accordez-lui un accès en lecture seule à la base de données rethinkdb. Vous pouvez utiliser les commandes ReQL suivantes. Consultez la page relative aux autorisations et aux comptes utilisateur de la documentation RethinkDB (en anglais) pour plus de détails :

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

    Remarque : si vous utilisez RethinkDB 2.3.x, il n’est pas possible d’accorder un accès à la base de données rethinkdb. Ignorez cette étape et utilisez plutôt votre compte administrateur ci-dessous.

  2. Modifiez le fichier rethinkdb.d/conf.yaml dans le dossier conf.d/ à la racine du répertoire de configuration de votre Agent. Consultez le fichier d’exemple rethinkdb.d/conf.yaml pour découvrir toutes les options de configuration disponibles.

    init_config:
    
    instances:
      - host: localhost
        port: 28015
        user: "<USER>"
        password: "<PASSWORD>"
    
  3. Redémarrez l’Agent.

Remarque : cette intégration recueille des métriques de tous les serveurs au sein du cluster ; vous n’avez donc besoin que d’un seul Agent.

Collecte de logs

  1. La collecte de logs est désactivée par défaut dans l’Agent Datadog. Vous devez l’activer dans datadog.yaml :

    logs_enabled: true
    
  2. Modifiez ce bloc de configuration dans votre fichier rethinkdb.d/conf.yaml pour commencer à recueillir vos logs RethinkDB :

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

    Modifiez la valeur du paramètre path en fonction de votre environnement. Consultez le fichier d’exemple conf.yaml pour découvrir toutes les options de configuration disponibles.

  3. Redémarrez l’Agent.

Pour activer les logs pour les environnements Kubernetes, consultez la section Collecte de logs avec Kubernetes.

Validation

Lancez la sous-commande status de l’Agent et recherchez rethinkdb dans la section Checks.

Données collectées

Métriques

rethinkdb.config.databases
(gauge)
Number of databases in the cluster.
rethinkdb.config.secondary_indexes_per_table
(gauge)
Number of secondary indexes in a given table.
Shown as index
rethinkdb.config.servers
(gauge)
Number of connected servers in the cluster.
Shown as node
rethinkdb.config.tables_per_database
(gauge)
Number of tables in a given database.
Shown as table
rethinkdb.current_issues.critical_issues
(gauge)
Total number of critical current issues of a given issue_type.
rethinkdb.current_issues.issues
(gauge)
Total number of current issues of a given issue_type.
rethinkdb.server_status.network.connected_to
(gauge)
Number of other RethinkDB servers a server is currently connected to.
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.process.time_started
(gauge)
Time when the RethinkDB server process started.
Shown as second
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.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.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.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.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.metadata_bytes
(gauge)
Current disk space used by metadata 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.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.system_jobs.jobs
(gauge)
Total number of currently running system jobs, tagged by job_type.
Shown as job
rethinkdb.table_status.shards
(gauge)
Total number of shards for a table.
Shown as shard
rethinkdb.table_status.shards.primary_replicas
(gauge)
Total number of primary replicas for a table shard.
Shown as node
rethinkdb.table_status.shards.replicas
(gauge)
Total number of replicas for a table shard.
Shown as node

Événements

RethinkDB n’inclut aucun événement.

Checks de service

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

Dépannage

Besoin d’aide ? Contactez l’assistance Datadog.