RethinkDB

Supported OS

Integration version5.0.0

Información general

RethinkDB es una base de datos distribuida NoSQL orientada a documentos, con compatibilidad de primera clase para feeds de cambios en tiempo real.

Este check monitoriza un clúster RethinkDB a través del Datadog Agent y recopila métricas de rendimiento, disponibilidad de datos, configuración de clúster y más.

Nota: Esta integración es compatible con la versión 2.3.6 y posteriores de RethinkDB.

Configuración

Sigue las instrucciones a continuación para instalar y configurar este check para un Agent que se ejecuta en un host. Para entornos en contenedores, consulta las plantillas de integración de Autodiscovery para obtener orientación sobre la aplicación de estas instrucciones.

Instalación

El check de RethinkDB está incluido en el paquete del Datadog Agent. No es necesaria ninguna instalación adicional en tu servidor.

Configuración

  1. Si utilizas la 2.4 o posterior de RethinkDB, añade un usuario datadog-agent con permisos de sólo lectura en la base de datos rethinkdb. Puedes utilizar los siguientes comandos ReQL. Consulta Permisos y cuentas de usuario para ver más detalles:

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

    Nota: En RethinkDB v2.3.x, no es posible conceder permisos en la base de datos rethinkdb. En su lugar, omite este paso y utiliza tu cuenta de administrador a continuación.

  2. Edita el archivo rethinkdb.d/conf.yaml, que se encuentra en la carpeta conf.d/ en la raíz del directorio de configuración del Agent. Consulta el rethinkdb.d/conf.yaml de ejemplo para ver todas las opciones disponibles. Opciones de configuración.

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

Nota: Esta integración recopila métricas de todos los servidores del clúster, por lo que sólo necesitas un único Agent.

Recopilación de logs

  1. La recopilación de logs se encuentra deshabilitada de manera predeterminada en el Datadog Agent. Habilítala en tu archivo datadog.yaml:

    logs_enabled: true
    
  2. Edita este bloque de configuración en tu archivo rethinkdb.d/conf.yaml para empezar a recopilar tus logs de RethinkDB:

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

Cambia el valor del parámetro path en función de tu entorno. Para ver todas las opciones de configuración disponibles, consulta el conf.yaml de ejemplo.

  1. Reinicia el Agent.

Para habilitar logs en entornos Kubernetes, consulta Recopilación de logs de Kubernetes.

Validación

Ejecuta el subcomando de estado del Agent y busca rethinkdb en la sección Checks.

Datos recopilados

Métricas

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

Eventos

RethinkDB no incluye eventos.

Checks de servicio

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

Solucionar problemas

¿Necesitas ayuda? Ponte en contacto con el servicio de asistencia de Datadog.