Saltar al contenido
Telemetry
Explorar documentación
GuíasActualizado el 28 de julio de 2026Revisado por los equipos editorial y de producto de Telemetry6 min de lectura

Usa esta documentación con tu agente de programación

Abra un paquete de mensajes enfocados para Claude Code, Codex, Cursor u otro agente de codificación, luego adáptelo al flujo de trabajo que se describe aquí.

En esta página
  1. Emitir eventos acotados en el límite de la aplicación
  2. Separe las preguntas sobre confiabilidad
  3. Mapear deliberadamente los campos de la base de datos OpenTelemetry
  4. investigar en orden
  5. Conozca los límites del lado de la aplicación
  6. Convierta consultas validadas en operaciones

Monitoreo de confiabilidad de bases de datos con SQL

Los síntomas de la base de datos a menudo aparecen en la aplicación antes de que sean obvios en una métrica del servidor: las personas que llaman esperan una conexión, la huella digital de una operación se ralentiza, las transacciones retroceden, los bloqueos bloquean el trabajo del usuario, una réplica se retrasa o una migración falla durante un lanzamiento. Los eventos de aplicación estructurados conectan esos resultados con el servicio, la versión, la ruta, el impacto en el inquilino y la categoría de error controlado necesarios para responder.

Emitir eventos acotados en el límite de la aplicación

Registre un evento de finalización para cada operación de base de datos o transacción lógica. Utilice un nombre de operación controlada o una huella digital normalizada en lugar de SQL sin formato. Incluya la duración, el resultado, la función de la base de datos, el servicio, la versión y un identificador de cuenta con revisión de privacidad solo cuando admita el análisis de impacto.

Nunca registre parámetros de consulta, cadenas de conexión, credenciales, datos de autorización o texto SQL sin restricciones. Las categorías de error como deadlock, serialization_failure y connection_timeout son más seguras y fáciles de agrupar que los mensajes de excepción sin formato.

{
  "event_name": "database_query_completed",
  "query_fingerprint": "checkout.select_with_line_items",
  "service": "checkout-api",
  "database_name": "app_production",
  "status": "success",
  "duration_ms": 842,
  "rows_returned": 4,
  "release": "2026.07.2",
  "environment": "production"
}

Utilice integración nodo-postgres o integración prisma como punto de partida y luego centralice el contenedor para que cada operación utilice los mismos nombres de campo, reloj, valores de estado y política de redacción.

Separe las preguntas sobre confiabilidad

Una puntuación genérica de “salud de la base de datos” oculta diferentes modos de falla. Utilice tablas de eventos enfocados o nombres de eventos estables para:

  1. Finalización de la consulta: duración, huella digital normalizada, filas, resultado y publicación.
  2. Estado del grupo: activo, inactivo, máximo configurado, espera de adquisición y tiempo de espera.
  3. Transacciones: identificador de transacción lógica, confirmación o reversión y tipo de error controlado.
  4. Esperas de bloqueo: huellas dactilares bloqueadas y bloqueadas, duración de la espera, resolución y detección de interbloqueos.
  5. Replicación o CDC: consumidor, región, segundos y bytes detrás y estado actual.
  6. Migraciones: identificador de migración, versión, duración, estado del terminal y categoría de reversión.

El colección de recetas de confiabilidad de la base de datos contiene un esquema, una consulta probada, un resultado determinista, una visualización, casos extremos, un plan de panel y una guía de alertas para cada pregunta. Puede ejecutar los dispositivos incluidos en el navegador SQL parque infantil de solo lectura antes de adaptarlos.

Mapear deliberadamente los campos de la base de datos OpenTelemetry

Si la aplicación ya emite intervalos de bases de datos OpenTelemetry, reutilice el significado estable de los campos en lugar de crear un vocabulario competitivo. El Convenciones de extensión del cliente de base de datos OpenTelemetry actual define db.system.name, db.operation.name de baja cardinalidad, db.namespace, db.collection.name, db.query.summary y el contexto de estado de respuesta de la base de datos. También advierten que el texto de consulta puede tener una cardinalidad alta y requiere desinfección.

Un mapeo práctico de eventos estructurados es:

Contexto OpenTelemetry Campo de evento estructurado Nota de revisión
db.system.name database_system Mantenga un identificador de producto de base de datos delimitado.
db.operation.name operation_name Utilice un verbo controlado como SELECT o una operación de cliente estable.
db.query.summary query_fingerprint Prefiere un resumen de baja cardinalidad generado antes de la recopilación.
db.response.status_code database_status_code Conserve el código del controlador o de la base de datos solo cuando su semántica esté documentada.
duración del lapso duration_ms Indique si incluye adquisición de pool y tiempo de red.
contexto de seguimiento y extensión trace_id, span_id Utilice identificadores para la correlación sin copiar las cargas útiles del intervalo.

El mapeo no es una prueba automática de que un campo sea seguro. Los resúmenes de consultas, los nombres de las colecciones, los espacios de nombres y los mensajes de respuesta aún pueden exponer detalles del inquilino o del esquema en algunos sistemas. Revise los valores emitidos reales, limite la cardinalidad y mantenga el texto de consulta sin formato y los valores vinculados fuera de forma predeterminada.

investigar en orden

Comience con la duración visible para el cliente y la tasa de fallas, luego verifique si la adquisición del grupo explica la latencia. Clasifique las operaciones tanto por duración de p95 como por tiempo total de consulta: una consulta moderadamente lenta ejecutada miles de veces puede consumir más tiempo de aplicación que un valor atípico raro. Compare SQLSTATE u otro código de controlador controlado por operación y publíquelo en lugar de agrupar mensajes sin formato.

Si las fallas son transaccionales, divida las reversiones reintentables esperadas de los errores del terminal y revise las clases de transacciones de larga duración por separado. Inspeccione los eventos de bloqueo de espera y punto muerto cuando estén involucrados escritores simultáneos. Compare las aperturas y cierres de conexiones, los tiempos de espera de adquisición y las solicitudes afectadas antes de interpretar la saturación del grupo como un problema de tamaño. Verifique el retraso de la réplica o CDC junto con las lecturas obsoletas observadas por la aplicación y los resultados de la conmutación por error antes de confiar en un modelo de lectura descendente. Alinee los errores de migración con las marcas de tiempo de implementación.

No aumente el límite del grupo de conexiones solo por la utilización. Un grupo más grande puede trasladar la contención a la base de datos. Exija llamadas en espera o tiempos de espera, confirme la capacidad de la base de datos y supervise el cambio.

Conozca los límites del lado de la aplicación

Estos eventos responden a qué flujo de trabajo de la aplicación, versión, región o solicitud de cara al cliente experimentó un síntoma de base de datos. No sustituyen a los sistemas de diagnóstico propios de la base de datos. Utilice herramientas nativas de bases de datos para:

  • Planes de consulta, estimaciones del optimizador, comportamiento del búfer y la caché, estadísticas de tablas y estado de vacío o compactación.
  • Eventos de espera del servidor, gráficos de bloqueo, inspección de sesiones activas, latencia de almacenamiento y saturación de recursos.
  • Topología de replicación, retención de registros de escritura anticipada, orquestación de conmutación por error, verificación de copias de seguridad y recuperación en un momento dado.
  • Auditoría autorizada, control de acceso, cifrado y evidencia de cumplimiento requerida por la base de datos o el programa de seguridad.

Una las dos vistas durante la investigación: utilice eventos de aplicaciones estructurados para localizar el impacto y la propiedad, luego utilice diagnósticos de bases de datos restringidos para explicar la causa del lado del servidor. Evite copiar diagnósticos confidenciales del servidor en una tabla de análisis amplia simplemente para que la unión sea conveniente.

Convierta consultas validadas en operaciones

Los paneles deben mantener el volumen junto a cada tasa, utilizar depósitos UTC completos y preservar una ruta desde el agregado hasta los eventos seguros recientes. Las alertas necesitan condiciones sostenidas, volumen mínimo, un propietario y una respuesta documentada. Una única consulta lenta, un breve pico de retraso o una reversión esperada rara vez justifican una página.

Pruebe casos sintéticos de éxito, tiempo de espera, interbloqueo, duplicación y eventos retrasados antes de confiar en una consulta. Registre la versión del evento y el umbral al lado del panel. El Metodología SQL describe las comprobaciones automatizadas de recetas; El caso de uso de confiabilidad de la base de datos conecta las señales resultantes a un flujo de trabajo de implementación.

Función relacionada del producto

Ejecute DataFusion SQL de solo lectura sobre tablas de eventos estructurados y reutilice el resultado.

Responsabilidad y referencias técnicas

El equipo editorial de Telemetry es responsable de esta explicación; el equipo de producto revisa el comportamiento, los ejemplos y las limitaciones.

Consultar los criterios editoriales