Supported OS Linux Mac OS Windows

Versión de la integración9.0.0

Dashboard de Etcd

Información general

Recopila métricas de Etcd para:

  • Monitorizar el estado de tu clúster Etcd.
  • Saber cuándo es posible que las configuraciones de hosts estén desincronizadas.
  • Correlacionar el rendimiento de Etcd con el del resto de tus aplicaciones.

Configuración

Instalación

El check de Etcd está incluido en el paquete del Datadog Agent, por lo que no necesitas instalar nada más en tus instancias de Etcd.

Configuración

host

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

Recopilación de métricas
  1. Edita el archivo etcd.d/conf.yaml, en la carpeta conf.d/ en la raíz de tu directorio de configuración del Agent para comenzar a recopilar tus datos de rendimiento Etcd. Consulta el ejemplo etcd.d/conf.yaml para todas las opciones de configuración disponibles.
  2. Reinicia el Agent
Recopilación de logs
  1. La recopilación de logs está desactivada en forma predeterminada en el Datadog Agent, actívala en tu archivo datadog.yaml:

    logs_enabled: true
    
  2. Descomenta y edita este bloque de configuración en la parte inferior de tu etcd.d/conf.yaml:

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

    Cambia los valores de los parámetros path y service en función de tu entorno. Consulta el ejemplo etcd.d/conf.yaml para conocer todas las opciones de configuración disponibles.

  3. Reinicia el 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>etcd
<INIT_CONFIG>en blanco o {}
<INSTANCE_CONFIG>{"prometheus_url": "http://%%host%%:2379/metrics"}
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": "etcd", "service": "<SERVICE_NAME>"}

Validación

Ejecuta el subcomando del Agent status y busca etcd en la sección Checks.

Datos recopilados

Métricas

etcd.debugging.mvcc.db.compaction.keys.total
(count)
Número total de claves de base de datos compactadas.
Se muestra como clave
etcd.debugging.mvcc.db.compaction.pause.duration.milliseconds
(gauge)
Histograma en buckets de la duración de la pausa de compactación de base de datos.
Se muestra como milisegundos
etcd.debugging.mvcc.db.compaction.total.duration.milliseconds
(gauge)
Histograma en buckets de la duración total de la compactación de base de datos.
Se muestra como milisegundos
etcd.debugging.mvcc.db.total.size.in_bytes
(gauge)
Tamaño total de la base de datos subyacente en bytes.
Se muestra como byte
etcd.debugging.mvcc.delete.total
(count)
Número total de eliminaciones consultadas por este miembro.
Se muestra como consulta
etcd.debugging.mvcc.events.total
(count)
Número total de eventos enviados por este miembro.
Se muestra como evento
etcd.debugging.mvcc.index.compaction.pause.duration.milliseconds
(gauge)
Histograma en buckets de la duración de la pausa de compactación de índices.
Se muestra en milisegundos
etcd.debugging.mvcc.keys.total
(gauge)
Número total de claves.
Se muestra como clave
etcd.debugging.mvcc.pending.events.total
(gauge)
Número total de eventos pendientes de envío.
Se muestra como evento
etcd.debugging.mvcc.put.total
(count)
Número total de puestas consultadas por este miembro.
Se muestra como consulta
etcd.debugging.mvcc.range.total
(count)
Número total de rangos consultados por este miembro.
Se muestra como consulta
etcd.debugging.mvcc.slow_watcher.total
(gauge)
Número total de observadores lentos no sincronizados.
Se muestra como connection (conexión)
etcd.debugging.mvcc.txn.total
(count)
Número total de transacciones consultadas por este miembro.
Se muestra como transacción
etcd.debugging.mvcc.watch_stream.total
(gauge)
Número total de streams (flujos) de observación.
Se muestra como connection (conexión)
etcd.debugging.mvcc.watcher.total
(gauge)
Número total de observadores.
Se muestra como connection (conexión)
etcd.debugging.server.lease.expired.total
(count)
El número total de contratos de arrendamiento vencidos.
Se muestra como elemento
etcd.debugging.snap.save.marshalling.duration.seconds
(gauge)
Las distribuciones de costos de administración de guardado llamado por instantánea.
Se muestra como segundo
etcd.debugging.snap.save.total.duration.seconds
(gauge)
Las distribuciones de latencia total de guardado llamado por instantánea.
Se muestra como segundo
etcd.debugging.store.expires.total
(count)
Número total de claves caducadas.
Se muestra como clave
etcd.debugging.store.reads.total
(count)
Número total de acción de lecturas (get/getRecursive), local a este miembro.
Se muestra como lectura
etcd.debugging.store.watch.requests.total
(count)
Número total de solicitudes de observación entrantes (nuevas o restablecidas).
Se muestra como solicitud
etcd.debugging.store.watchers
(gauge)
Count de observadores actualmente activas.
Se muestra como connection (conexión)
etcd.debugging.store.writes.total
(count)
Número total de escrituras (por ejemplo, set/compareAndDelete) consultadas por este miembro.
Se muestra como escritura
etcd.disk.backend.commit.duration.seconds
(gauge)
Las distribuciones de latencia de confirmación llamada por el backend.
Se muestra como segundo
etcd.disk.backend.snapshot.duration.seconds
(gauge)
La distribución de la latencia de las instantáneas del backend.
Se muestra como segundo
etcd.disk.wal.fsync.duration.seconds.count
(count)
El count de las distribuciones de latencia de fsync llamado por wal.
Se muestra como segundo
etcd.disk.wal.fsync.duration.seconds.sum
(gauge)
La suma de las distribuciones de latencia de fsync llamado por wal.
Se muestra como segundo
etcd.disk.wal.write.bytes.total
(gauge)
Número total de bytes escritos en WAL
Se muestra como byte
etcd.etcd.server.client.requests.total
(count)
Número total de solicitudes de clientes por versión de cliente
Se muestra como solicitud
etcd.go.gc.duration.seconds
(gauge)
Un resumen de las duraciones de invocación GC.
Se muestra como segundo
etcd.go.goroutines
(gauge)
Número de goroutines que existen actualmente.
Se muestra como subproceso
etcd.go.info
(gauge)
Información sobre el entorno Go.
Se muestra como elemento
etcd.go.memstats.alloc.bytes
(gauge)
Número de bytes asignados y aún en uso.
Se muestra como byte
etcd.go.memstats.alloc.bytes.total
(count)
Número total de bytes asignados, incluso si se han liberado.
Se muestra como byte
etcd.go.memstats.buck.hash.sys.bytes
(gauge)
Número de bytes utilizados por la tabla hash del bucket de generación de perfiles.
Se muestra como byte
etcd.go.memstats.frees.total
(count)
Número total de libres.
Se muestra como ocurrencia
etcd.go.memstats.gc.cpu.fraction
(gauge)
La fracción del tiempo de CPU disponible de este programa utilizado por el GC desde que se inició el programa.
Se muestra como cpu
etcd.go.memstats.gc.sys.bytes
(gauge)
Número de bytes utilizados para los metadatos del sistema de recolección de basura.
Se muestra como byte
etcd.go.memstats.heap.alloc.bytes
(gauge)
Número de bytes del montón asignados y aún en uso.
Se muestra como byte
etcd.go.memstats.heap.idle.bytes
(gauge)
Número de bytes del montón en espera de ser utilizados.
Se muestra como byte
etcd.go.memstats.heap.inuse.bytes
(gauge)
Número de bytes del montón que están en uso.
Se muestra como byte
etcd.go.memstats.heap.objects
(gauge)
Número de objetos asignados.
Se muestra como elemento
etcd.go.memstats.heap.released.bytes
(gauge)
Número de bytes de montón liberados al sistema operativo.
Se muestra como byte
etcd.go.memstats.heap.sys.bytes
(gauge)
Número de bytes del montón obtenidos del sistema.
Se muestra como byte
etcd.go.memstats.last.gc.time.seconds
(gauge)
Número de segundos transcurridos desde 1970 de la última recolección de basura.
Se muestra como segundo
etcd.go.memstats.lookups.total
(count)
Número total de búsquedas de punteros.
Se muestra como ocurrencia
etcd.go.memstats.mallocs.total
(count)
Número total de asignaciones de memoria.
Se muestra como ocurrencia
etcd.go.memstats.mcache.inuse.bytes
(gauge)
Número de bytes en uso por las estructuras memoria caché.
Se muestra como byte
etcd.go.memstats.mcache.sys.bytes
(gauge)
Número de bytes utilizados para las estructuras memoria caché obtenidas del sistema.
Se muestra como byte
etcd.go.memstats.mspan.inuse.bytes
(gauge)
Número de bytes en uso por las estructuras mspan.
Se muestra como byte
etcd.go.memstats.mspan.sys.bytes
(gauge)
Número de bytes utilizados para las estructuras mspan obtenidas del sistema.
Se muestra como byte
etcd.go.memstats.next.gc.bytes
(gauge)
Número de bytes del montón en que se realizará la próxima recolección de basura.
Se muestra como byte
etcd.go.memstats.other.sys.bytes
(gauge)
Número de bytes utilizados para otras asignaciones del sistema.
Se muestra como byte
etcd.go.memstats.stack.inuse.bytes
(gauge)
Número de bytes en uso por el asignador de stack tecnológico.
Se muestra como byte
etcd.go.memstats.stack.sys.bytes
(gauge)
Número de bytes obtenidos del sistema para el asignador de stack tecnológico.
Se muestra como byte
etcd.go.memstats.sys.bytes
(gauge)
Número de bytes obtenidos del sistema.
Se muestra como byte
etcd.go.threads
(gauge)
Número de subprocesos del sistema operativo creados.
Se muestra como subproceso
etcd.grpc.proxy.cache.hits.total
(gauge)
Número total de accesos a la caché
Se muestra como ocurrencia
etcd.grpc.proxy.cache.keys.total
(gauge)
Número total de claves/rangos almacenados en caché
Se muestra como elemento
etcd.grpc.proxy.cache.misses.total
(gauge)
Número total de faltas de caché
Se muestra como ocurrencia
etcd.grpc.proxy.events.coalescing.total
(count)
Número total de eventos coalescentes
Se muestra como evento
etcd.grpc.proxy.watchers.coalescing.total
(gauge)
Número total de observadores actuales coalesciendo
Se muestra como connection (conexión)
etcd.grpc.server.handled.total
(count)
Número total de RPC completados en el servidor, independientemente del éxito o fracaso.
Se muestra como operación
etcd.grpc.server.msg.received.total
(count)
Número total de mensajes de stream (flujo) RPC recibidos en el servidor.
Se muestra como operación
etcd.grpc.server.msg.sent.total
(count)
Número total de mensajes de stream (flujo) gRPC enviados por el servidor.
Se muestra como operación
etcd.grpc.server.started.total
(count)
Número total de RPC iniciadas en el servidor.
Se muestra como operación
etcd.leader.counts.fail
(gauge)
Tasa de solicitudes RPC de Raft fallidas (solo la API de ETCD V2)
Se muestra como solicitud
etcd.leader.counts.success
(gauge)
Tasa de solicitudes RPC Raft realizadas con éxito (solo la API de ETCD V2)
Se muestra como solicitud
etcd.leader.latency.avg
(gauge)
Latencia media para cada uno del mismo nivel del clúster (solo la API de ETCD V2)
Se muestra en milisegundos.
etcd.leader.latency.current
(gauge)
Latencia actual para cada uno del mismo nivel del clúster (solo la API de ETCD V2)
Se muestra en milisegundos
etcd.leader.latency.max
(gauge)
Latencia máxima para cada uno del mismo nivel del clúster (solo la API de ETCD V2)
Se muestra en milisegundos
etcd.leader.latency.min
(gauge)
Latencia mínima para cada uno del mismo nivel del clúster (solo la API de ETCD V2)
Se muestra en milisegundos
etcd.leader.latency.stddev
(gauge)
Latencia de desviación estándar a cada uno del mismo nivel del clúster (solo la API de ETCD V2)
Se muestra en milisegundos
etcd.mvcc.db.total.size.in_use.bytes
(gauge)
Tamaño total de la base de datos subyacente lógicamente en uso
Se muestra como byte
etcd.network.active_peers
(gauge)
El número actual de connections (conexiones) activas del mismo nivel
Se muestra como connection (conexión)
etcd.network.client.grpc.received.bytes.total
(count)
El número total de bytes recibidos de los clientes grpc.
Se muestra como byte
etcd.network.client.grpc.sent.bytes.total
(count)
El número total de bytes enviados a los clientes grpc.
Se muestra como byte
etcd.network.disconnected_peers.total
(count)
El número total de pares desconectados
Se muestra como connection (conexión)
etcd.network.peer.received.bytes.total
(count)
El número total de bytes recibidos de los pares.
Se muestra como byte
etcd.network.peer.received.failures.total
(count)
El número total de fallos de recepción de pares
Se muestra como evento
etcd.network.peer.round_trip_time.seconds
(gauge)
Histograma de tiempo de ida y vuelta entre pares.
Se muestra como segundo
etcd.network.peer.sent.bytes.total
(count)
El número total de bytes enviados a los pares.
Se muestra como byte
etcd.network.peer.sent.failures.total
(count)
El número total de fallos de envío de los pares
Se muestra como evento
etcd.network.snapshot.receive.failures.total
(count)
Número total de fallos de recepción de instantáneas
Se muestra como evento
etcd.network.snapshot.receive.inflights.total
(gauge)
Número total de envíos de instantáneas a bordo
Se muestra como evento
etcd.network.snapshot.receive.success.total
(count)
Número total de instantáneas recibidas con éxito
Se muestra como evento
etcd.network.snapshot.receive.total.duration.seconds.count
(gauge)
Distribuciones de latencia total de la instantánea v3 recibida
Se muestra como segundo
etcd.network.snapshot.receive.total.duration.seconds.sum
(gauge)
Distribuciones de latencia total de la instantánea v3 recibida
Se muestra como segundo
etcd.network.snapshot.send.failures.total
(count)
El número total de fallos de envío de los pares
Se muestra como evento
etcd.network.snapshot.send.inflights.total
(gauge)
Número total de instantáneas recibidas durante el vuelo
Se muestra como evento
etcd.network.snapshot.send.sucess.total
(count)
Número total de envíos de instantáneas con éxito
Se muestra como evento
etcd.network.snapshot.send.total.duration.seconds.count
(gauge)
Distribuciones de latencia total de los envíos de instantáneas v3
Se muestra como segundo
etcd.network.snapshot.send.total.duration.seconds.sum
(gauge)
Distribuciones de latencia total de los envíos de instantáneas v3
Se muestra como segundo
etcd.os.fd.limit
(gauge)
El límite del descriptor de archivo
Se muestra como objeto
etcd.os.fd.used
(gauge)
El número de descriptores de archivo utilizados
Se muestra como objeto
etcd.process.cpu.seconds.total
(count)
Tiempo total de CPU del usuario y del sistema empleado en segundos.
Se muestra como cpu
etcd.process.max.fds
(gauge)
Número máximo de descriptores de archivo abiertos.
Se muestra como elemento
etcd.process.open.fds
(gauge)
Número de descriptores de archivo abiertos.
Se muestra as elemento
etcd.process.resident.memory.bytes
(gauge)
Tamaño de la memoria residente en bytes.
Se muestra como byte
etcd.process.start.time.seconds
(gauge)
Hora de inicio del proceso desde la época unix en segundos.
Se muestra como segundo
etcd.process.virtual.memory.bytes
(gauge)
Tamaño de la memoria virtual en bytes.
Se muestra como byte
etcd.self.recv.appendrequest.count
(gauge)
Tasa de solicitudes de anexión que este nodo ha procesado (solo la API de ETCD V2)
Se muestra como solicitud
etcd.self.recv.bandwidthrate
(gauge)
Tasa de bytes recibidos (solo la API de ETCD V2)
Se muestra como byte
etcd.self.recv.pkgrate
(gauge)
Tasa de paquetes recibidos (soólo la API de ETCD V2)
Se muestra como paquete
etcd.self.send.appendrequest.count
(gauge)
Tasa de solicitudes de anexión que ha enviado este nodo (solo la API de ETCD V2)
Mostrado como solicitud
etcd.self.send.bandwidthrate
(gauge)
Tasa de bytes enviados (solo la API de ETCD V2)
Se muestra como byte
etcd.self.send.pkgrate
(gauge)
Tasa de paquetes enviados (solo la API de ETCD V2)
Se muestra como paquete
etcd.server.apply.slow.total
(count)
El número total de solicitudes de aplicación lentas (probablemente sobrecargadas por un disco lento)
Se muestra como solicitud
etcd.server.go_version
(gauge)
Con qué versión de Go se está ejecutando el servidor. 1 con etiqueta con la versión actual
Se muestra como unidad.
etcd.server.has_leader
(gauge)
Si existe o no un líder. 1 es existencia, 0 no.
Se muestra como check
etcd.server.health.failures.total
(count)
El número total de checks de estado fallidos
Se muestra como evento
etcd.server.health.success.total
(count)
El número total de checks de estado realizados con éxito
Se muestra como evento
etcd.server.heartbeat.send.failures.total
(count)
El número total de fallos de envío de heartbeat del líder (probablemente sobrecargado por un disco lento)
Se muestra como evento
etcd.server.is_leader
(gauge)
Si este miembro es o no un líder. 1 si lo es, 0 en caso contrario.
Se muestra como check
etcd.server.leader.changes.seen.total
(count)
El número de cambios de líder consultados.
Se muestra como evento
etcd.server.lease.expired.total
(count)
El número total de contratos de arrendamiento vencidos
Se muestra como ocurrencia
etcd.server.proposals.applied.total
(gauge)
Número total de propuestas de consenso aplicadas.
Se muestra como ocurrencia
etcd.server.proposals.committed.total
(gauge)
El número total de propuestas de consenso confirmadas.
Se muestra como ocurrencia
etcd.server.proposals.failed.total
(count)
El número total de propuestas fallidas consultadas.
S muestra como ocurrencia
etcd.server.proposals.pending
(gauge)
El número actual de propuestas con confirmación pendiente.
Se muestra como ocurrencia
etcd.server.quota.backend.bytes
(gauge)
Tamaño actual de la cuota de almacenamiento del backend en bytes
Se muestra como byte
etcd.server.read_indexes.failed.total
(count)
El número total de índices de lectura fallidos consultados
Se muestra como evento
etcd.server.read_indexes.slow.total
(count)
Número total de índices de lectura pendientes no sincronizados con el líder o solicitudes de índice de lectura caducadas
Se muestra como evento
etcd.server.version
(gauge)
Qué versión se está ejecutando. 1 para la etiqueta ‘server_version’ con la versión actual.
Se muestra como elemento.
etcd.snap.db.fsync.duration.seconds.count
(gauge)
Las distribuciones de latencia del archivo .snap.db fsyncing
Se muestra como segundo
etcd.snap.db.fsync.duration.seconds.sum
(gauge)
Las distribuciones de latencia del archivo .snap.db fsyncing
Se muestra como segundo
etcd.snap.db.save.total.duration.seconds.count
(gauge)
Las distribuciones de latencia total de instantánea v3 guardada
Se muestra como segundo
etcd.snap.db.save.total.duration.seconds.sum
(gauge)
Las distribuciones de latencia total de instantánea v3 guardada
Se muestra como segundo
etcd.snap.fsync.duration.seconds.count
(gauge)
Las distribuciones de latencia de fsync llamado por instantánea
Se muestra como segundo
etcd.snap.fsync.duration.seconds.sum
(gauge)
Las distribuciones de latencia de fsync llamado por instantánea
Se muestra como segundo
etcd.store.compareanddelete.fail
(gauge)
Tasa de solicitudes de comparación y eliminación fallidas (solo la API de ETCD V2)
Se muestra como solicitud
etcd.store.compareanddelete.success
(gauge)
Tasa de éxito de las solicitudes de comparación y eliminación (solo la API de ETCD V2)
Se muestra como solicitud
etcd.store.compareandswap.fail
(gauge)
Tasa de solicitudes de comparación e intercambio fallidas (solo la API de ETCD V2)
Se muestra como solicitud
etcd.store.compareandswap.success
(gauge)
Tasa de éxito de las solicitudes de comparación e intercambio (solo la API de ETCD V2)
Se muestra como solicitud
etcd.store.create.fail
(gauge)
Tasa de solicitudes de creación fallidas (solo la API de ETCD V2)
Se muestra como solicitud
etcd.store.create.success
(gauge)
Tasa de solicitudes de creación realizadas con éxito (solo la API de ETCD V2)
Se muestra como solicitud
etcd.store.delete.fail
(gauge)
Tasa de solicitudes de eliminación fallidas (solo la API de ETCD V2)
Se muestra como solicitud
etcd.store.delete.success
(gauge)
Tasa de solicitudes de eliminación con éxito (solo la API de ETCD V2)
Se muestra como solicitud
etcd.store.expire.count
(gauge)
Tasa de claves caducadas (solo la API de ETCD V2)
Se muestra como expulsión
etcd.store.gets.fail
(gauge)
Tasa de solicitudes de obtención fallidas (solo la API de ETCD V2)
Se muestra como solicitud
etcd.store.gets.success
(gauge)
Tasa de solicitudes de obtención con éxito (solo la API de ETCD V2)
Se muestra como solicitud
etcd.store.sets.fail
(gauge)
Tasa de solicitudes de configuración fallidas (solo la API de ETCD V2)
Se muestra como solicitud
etcd.store.sets.success
(gauge)
Tasa de solicitudes de configuración correctas (solo la API de ETCD V2)
Se muestra como solicitud
etcd.store.update.fail
(gauge)
Tasa de solicitudes de actualización fallidas (solo la API de ETCD V2)
Se muestra como solicitud
etcd.store.update.success
(gauge)
Tasa de solicitudes de actualización con éxito (solo la API de ETCD V2)
Se muestra como solicitud
etcd.store.watchers
(gauge)
Tasa de observadores (solo la API de ETCD V2)

Las métricas de Etcd se etiquetan con etcd_state:leader o etcd_state:follower, dependiendo del estado del nodo, por lo que puedes agregar fácilmente métricas por estado.

Eventos

El check de Etcd no incluye eventos.

Checks de servicio

etcd.can_connect

Devuelve CRITICAL si no se pueden obtener métricas de etcd (tiempo de espera o código HTTP no-200). Este check de servicio solo está disponible en la versión heredada del check de etcd.

Estados: ok, crítico

etcd.healthy

Devuelve CRITICAL cuando un miembro no en buen estado. Este check de servicio solo está disponible en la versión heredada del check de etcd.

Estados: ok, crítico, desconocido

etcd.prometheus.health

Devuelve CRITICAL si el check no puede acceder a un endpoint de métricas. En caso contrario, devuelve OK. Este check de servicio solo está disponible cuando use_preview está activado.

Estados: ok, crítico

Solucionar problemas

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

Referencias adicionales

Further Reading