FoundationDB

Supported OS Linux Mac OS Windows

Versión de la integración3.3.1

Información general

Este check monitoriza FoundationDB a través del Datadog Agent . Además de comprobar que el clúster de FoundationDB esté en buen estado, también recopila numerosas métricas y, opcionalmente, logs de transacciones de FoundationDB.

Configuración

Tanto el check como las métricas se aplican al clúster de FoundationDB en su conjunto y solo deben instalarse en un host. El host no necesita ser uno que esté ejecutando FoundationDB, sino uno con acceso a él.

Instalación

El check de FoundationDB está incluido en el paquete del Datadog Agent , pero requiere la instalación del cliente de FoundationDB.

Configuración

host

Para configurar este check para un Agent que se ejecuta en un host:

Recopilación de métricas
  1. Para empezar a recopilar tus métricas de FoundationDB, edita el archivo foundationdb.d/conf.yaml en la carpeta conf.d/ en la raíz de tu directorio de configuración del Agent. Consulta ejemplo de foundationdb.d/conf.yaml para conocer todas las opciones de configuración disponibles.

  2. El clúster que se debe check se determina buscando un archivo de clúster en la ubicación predeterminada. Si el archivo de clúster se encuentra en otro lugar, configura la propiedad cluster_file. Solo se puede monitorizar un clúster por instancia de check.

  3. Si el clúster está configurado para utilizar TLS, se deben ajustar más propiedades en la configuración. Estas propiedades siguen los nombres de las opciones relacionadas con TLS que se dan a fdbcli para conectarse a un clúster de este tipo.

  4. Reinicia el Agent.

Recopilación de logs

FoundationDB escribe logs de XML en forma predeterminada, sin embargo, las integraciones de Datadog esperan logs de JSON. Por lo tanto, es necesario realizar un cambio de configuración a FoundationDB.

  1. Localiza tu archivo foundationdb.conf. En la sección fdbserver, añade o cambia la clave trace_format para que tenga el valor json. Además, toma nota de la logdir.

    [fdbserver]
    ...
    logdir = /var/log/foundationdb
    trace_format = json
    
  2. Reinicia el servidor de FoundationDB para que los cambios surtan efecto. Comprueba que los logs en logdir se escriban en JSON.

  3. Asegúrate de que la recopilación de logs esté activada en tu archivo datadog.yaml:

    logs_enabled: true
    
  4. En el archivo foundationdb.d/conf.yaml, quita el comentario de la sección logs y configura la ruta a la de tu archivo de configuración de FoundationDB, anexando *.json.

    logs:
      - type: file
        path: /var/log/foundationdb/*.json
        service: foundationdb
        source: foundationdb
    
  5. Asegúrate de que el Datadog Agent tenga los privilegios necesarios para enumerar el directorio y leer sus archivos.

  6. Reinicia el Datadog Agent.

En contenedores

Para entornos en contenedores, consulta las Plantillas de integración de Autodiscovery para obtener orientación sobre la aplicación de los parámetros que se indican a continuación.

Recopilación de métricas
ParámetroValor
<INTEGRATION_NAME>foundationdb
<INIT_CONFIG>en blanco o {}
<INSTANCE_CONFIG>{}
Recopilación de logs

La recopilación de logs está desactivada en forma predeterminada en el Datadog Agent. Para activarla, consulta recopilación de logs de Kubernetes.

ParámetroValor
<LOG_CONFIG>{"source": "foundationdb", "service": "<SERVICE_NAME>"}

Validación

[Ejecuta el subcomando de estado del Agent(https://docs.datadoghq.com/agent/guide/agent-commands/#agent-status-and-information) y busca foundationdb en la sección Checks.

Datos recopilados

Métricas

foundationdb.clients.connected
(gauge)
Número de clientes conectados etiquetados por versión de cliente
Mostrado como connection (conexión)
foundationdb.cluster_generation
(gauge)
foundationdb.coordinators
(gauge)
Número de coordinadores etiquetados por accesibilidad
Mostrado como instancia
foundationdb.data.average_partition_size_bytes
(gauge)

Mostrado como byte
foundationdb.data.least_operating_space_bytes_log_server
(gauge)

Mostrado como byte
foundationdb.data.moving_data.in_flight_bytes
(gauge)

Mostrado como byte
foundationdb.data.moving_data.in_queue_bytes
(gauge)

Mostrado como byte
foundationdb.data.moving_data.total_written_bytes
(gauge)

Mostrado como byte
foundationdb.data.partitions_count
(gauge)
foundationdb.data.system_kv_size_bytes
(gauge)

Mostrado como byte
foundationdb.data.total_disk_used_bytes
(gauge)

Mostrado como byte
foundationdb.data.total_kv_size_bytes
(gauge)

Mostrado como byte
foundationdb.datacenter_lag.seconds
(gauge)

Mostrado como segundo
foundationdb.degraded_processes
(gauge)

Mostrado como proceso
foundationdb.excluded_machines
(gauge)

Mostrado como host
foundationdb.excluded_processes
(gauge)

Mostrado como proceso
foundationdb.fault_tolerance.max_zone_failures_without_losing_availability
(gauge)

Mostrado como ubicación
foundationdb.fault_tolerance.max_zone_failures_without_losing_data
(gauge)

Mostrado como ubicación
foundationdb.instances
(count)

Mostrado como instancia
foundationdb.latency_probe.batch_priority_transaction_start_seconds
(gauge)
Segundos de inicio de la transacción de prioridad por lotes
Mostrado como segundo
foundationdb.latency_probe.commit_seconds
(gauge)

Mostrado como segundo
foundationdb.latency_probe.immediate_priority_transaction_start_seconds
(gauge)

Mostrado como segundo
foundationdb.latency_probe.read_seconds
(gauge)

Mostrado como segundo
foundationdb.latency_probe.transaction_start_seconds
(gauge)

Mostrado como segundo
foundationdb.machines
(gauge)

Mostrado como host
foundationdb.maintenance_seconds_remaining
(gauge)

Mostrado como segundo
foundationdb.process.cpu.usage_cores
(gauge)

Mostrado como núcleo
foundationdb.process.disk.busy
(gauge)

Mostrado como fracción
foundationdb.process.disk.free_bytes
(gauge)

Mostrado como byte
foundationdb.process.disk.reads.hz
(gauge)

Mostrado como leído
foundationdb.process.disk.total_bytes
(gauge)

Mostrado como byte
foundationdb.process.disk.writes.hz
(gauge)

Mostrado como escrito
foundationdb.process.memory.available_bytes
(gauge)

Mostrado como byte
foundationdb.process.memory.limit_bytes
(gauge)

Mostrado como byte
foundationdb.process.memory.unused_allocated_memory
(gauge)

Mostrado como byte
foundationdb.process.memory.used_bytes
(gauge)

Mostrado como byte
foundationdb.process.network.connection_errors.hz
(gauge)

Mostrado como error
foundationdb.process.network.connections_closed.hz
(gauge)

Mostrado como connection (conexión)
foundationdb.process.network.connections_established.hz
(gauge)

Mostrado como connection (conexión)
foundationdb.process.network.current_connections
(gauge)

Mostrado como connection (conexión)
foundationdb.process.network.megabits_received.hz
(gauge)
foundationdb.process.network.megabits_sent.hz
(gauge)
foundationdb.process.network.tls_policy_failures.hz
(gauge)

Mostrado como error
foundationdb.process.role.bytes_queried.counter
(count)

Mostrado como consulta
foundationdb.process.role.bytes_queried.hz
(gauge)

Mostrado como consulta
foundationdb.process.role.commit_latency_statistics.count
(count)

Mostrado como milisegundos
foundationdb.process.role.commit_latency_statistics.max
(gauge)

Mostrado como milisegundos
foundationdb.process.role.commit_latency_statistics.min
(gauge)

Mostrado como milisegundo
foundationdb.process.role.commit_latency_statistics.p25
(gauge)

Mostrado como milisegundo
foundationdb.process.role.commit_latency_statistics.p90
(gauge)

Mostrado como milisegundo
foundationdb.process.role.commit_latency_statistics.p99
(gauge)

Mostrado como milisegundo
foundationdb.process.role.data_lag.seconds
(gauge)

Mostrado como segundo
foundationdb.process.role.durability_lag.seconds
(gauge)

Mostrado como segundo
foundationdb.process.role.durable_bytes.counter
(count)

Mostrado como byte
foundationdb.process.role.durable_bytes.hz
(gauge)

Mostrado como byte
foundationdb.process.role.finished_queries.counter
(count)

Mostrado como consulta
foundationdb.process.role.finished_queries.hz
(gauge)

Mostrado como consulta
foundationdb.process.role.grv_latency_statistics.default.count
(count)

Mostrado como milisegundo
foundationdb.process.role.grv_latency_statistics.default.max
(gauge)

Mostrado como milisegundo
foundationdb.process.role.grv_latency_statistics.default.min
(gauge)

Mostrado como milisegundo
foundationdb.process.role.grv_latency_statistics.default.p25
(gauge)

Mostrado como milisegundo
foundationdb.process.role.grv_latency_statistics.default.p90
(gauge)

Mostrado como milisegundo
foundationdb.process.role.grv_latency_statistics.default.p99
(gauge)

Mostrado como milisegundo
foundationdb.process.role.input_bytes.counter
(count)

Mostrado como byte
foundationdb.process.role.input_bytes.hz
(gauge)

Mostrado como byte
foundationdb.process.role.keys_queried.counter
(count)

Mostrado como clave
foundationdb.process.role.keys_queried.hz
(gauge)

Mostrado como clave
foundationdb.process.role.kvstore_available_bytes
(gauge)

Mostrado como byte
foundationdb.process.role.kvstore_free_bytes
(gauge)

Mostrado como byte
foundationdb.process.role.kvstore_inline_keys
(gauge)

Mostrado como clave
foundationdb.process.role.kvstore_total_bytes
(gauge)

Mostrado como byte
foundationdb.process.role.kvstore_total_nodes
(gauge)

Mostrado como byte
foundationdb.process.role.kvstore_total_size
(gauge)

Mostrado como byte
foundationdb.process.role.kvstore_used_bytes
(gauge)

Mostrado como byte
foundationdb.process.role.local_rate
(gauge)

Mostrado como unidad
foundationdb.process.role.low_priority_queries.counter
(count)

Mostrado como consulta
foundationdb.process.role.low_priority_queries.hz
(gauge)

Mostrado como consulta
foundationdb.process.role.mutation_bytes.counter
(count)

Mostrado como byte
foundationdb.process.role.mutation_bytes.hz
(gauge)

Mostrado como byte
foundationdb.process.role.mutations.counter
(count)

Mostrado como artículo
foundationdb.process.role.mutations.hz
(gauge)

Mostrado como artículo
foundationdb.process.role.query_queue_max
(gauge)

Mostrado como consulta
foundationdb.process.role.queue_disk_available_bytes
(gauge)

Mostrado como byte
foundationdb.process.role.queue_disk_total_bytes
(gauge)

Mostrado como byte
foundationdb.process.role.queue_length
(gauge)

Mostrado como artículo
foundationdb.process.role.read_latency_statistics.count
(count)

Mostrado como milisegundo
foundationdb.process.role.read_latency_statistics.max
(gauge)

Mostrado como milisegundo
foundationdb.process.role.read_latency_statistics.min
(gauge)

Mostrado como milisegundo
foundationdb.process.role.read_latency_statistics.p25
(gauge)

Mostrado como milisegundo
foundationdb.process.role.read_latency_statistics.p90
(gauge)

Mostrado como milisegundo
foundationdb.process.role.read_latency_statistics.p99
(gauge)

Mostrado como milisegundo
foundationdb.process.role.stored_bytes
(gauge)

Mostrado como byte
foundationdb.process.role.total_queries.counter
(count)

Mostrado como consulta
foundationdb.process.role.total_queries.hz
(gauge)

Mostrado como consulta
foundationdb.processes
(gauge)

Mostrado como proceso
foundationdb.processes_per_role
(gauge)

Mostrado como proceso
foundationdb.processes_per_role.cluster_controller
(gauge)

Mostrado como proceso
foundationdb.processes_per_role.coordinator
(gauge)

Mostrado como proceso
foundationdb.processes_per_role.data_distributor
(gauge)

Mostrado como proceso
foundationdb.processes_per_role.log
(gauge)

Mostrado como proceso
foundationdb.processes_per_role.master
(gauge)

Mostrado como proceso
foundationdb.processes_per_role.proxy
(gauge)

Mostrado como proceso
foundationdb.processes_per_role.ratekeeper
(gauge)

Mostrado como proceso
foundationdb.processes_per_role.resolver
(gauge)

Mostrado como proceso
foundationdb.processes_per_role.storage
(gauge)

Mostrado como proceso
foundationdb.qos.batch_transactions_per_second_limit
(gauge)

Mostrado como transacción
foundationdb.qos.released_transactions_per_second
(gauge)

Mostrado como transacción
foundationdb.qos.transactions_per_second_limit
(gauge)

Mostrado como transacción
foundationdb.qos.worst_queue_bytes_log_server
(gauge)

Mostrado como byte
foundationdb.qos.worst_queue_bytes_storage_server
(gauge)

Mostrado como byte
foundationdb.workload.bytes.read.counter
(count)

Mostrado como byte
foundationdb.workload.bytes.read.hz
(gauge)

Mostrado como byte
foundationdb.workload.bytes.written.counter
(count)

Mostrado como byte
foundationdb.workload.bytes.written.hz
(gauge)

Mostrado como byte
foundationdb.workload.keys.read.counter
(count)

Mostrado como clave
foundationdb.workload.keys.read.hz
(gauge)

Mostrado como clave
foundationdb.workload.operations.location_requests.counter
(count)

Mostrado como operación
foundationdb.workload.operations.location_requests.hz
(gauge)

Mostrado como operación
foundationdb.workload.operations.low_priority_reads.counter
(count)

Mostrado como operación
foundationdb.workload.operations.low_priority_reads.hz
(gauge)

Mostrado como operación
foundationdb.workload.operations.memory_errors.counter
(count)

Mostrado como operación
foundationdb.workload.operations.memory_errors.hz
(gauge)

Mostrado como operación
foundationdb.workload.operations.read_requests.counter
(count)

Mostrado como operación
foundationdb.workload.operations.read_requests.hz
(gauge)

Mostrado como operación
foundationdb.workload.operations.reads.counter
(count)

Mostrado como operación
foundationdb.workload.operations.reads.hz
(gauge)

_ Mostrado como operación_
foundationdb.workload.operations.writes.counter
(count)

Mostrado como operación
foundationdb.workload.operations.writes.hz
(gauge)

Mostrado como operación
foundationdb.workload.transactions.committed.counter
(count)

Mostrado como transacción
foundationdb.workload.transactions.committed.hz
(gauge)

Mostrado como transacción
foundationdb.workload.transactions.conflicted.counter
(count)

Mostrado como transacción
foundationdb.workload.transactions.conflicted.hz
(gauge)

Mostrado como transacción
foundationdb.workload.transactions.rejected_for_queued_too_long.counter
(count)

Mostrado como transacción
foundationdb.workload.transactions.rejected_for_queued_too_long.hz
(gauge)

Mostrado como transacción
foundationdb.workload.transactions.started.counter
(count)

Mostrado como transacción
foundationdb.workload.transactions.started.hz
(gauge)

Mostrado como transacción
foundationdb.workload.transactions.started_batch_priority.counter
(count)

Mostrado como transacción
foundationdb.workload.transactions.started_batch_priority.hz
(gauge)

Mostrado como transacción
foundationdb.workload.transactions.started_default_priority.counter
(count)

Mostrado como transacción
foundationdb.workload.transactions.started_default_priority.hz
(gauge)

Mostrado como transacción
foundationdb.workload.transactions.started_immediate_priority.counter
(count)

Mostrado como transacción
foundationdb.workload.transactions.started_immediate_priority.hz
(gauge)

Mostrado como transacción

Checks de servicio

foundationdb.check

Devuelve crítico si hay un error que consulta el estado del clúster, que advierte si hay procesos degradados u ok en caso contrario.

Estados: ok, warning, crítico

Eventos

El check de FoundationDB no incluye ningún evento.

Solucionar problemas

¿Necesitas ayuda? Ponte en contacto con asistencia técnica de Datadog.