Saltar al contenido
Telemetry
Infraestructura receta SQL

Calcular el tiempo de detección y recuperación de incidentes

Calcule el tiempo de detección y el tiempo de recuperación de eventos estructurados del ciclo de vida de incidentes.

Avanzadoincident_lifecycle_eventsRevisado 2026-07-28Probado con Apache DataFusion 45.2.0

Revisado por el equipo de producto Telemetry en . Compatibilidad con SQL, contrato de eventos, resultados sintéticos y advertencias operativas. Revisar los estándares y la propiedad

Pregunta respondida

¿Cuánto tiempo tarda cada servicio en detectar y recuperarse de incidentes?

Un cronograma de incidentes debe separar el impacto en el cliente, la detección y la resolución. Esta consulta convierte los eventos del ciclo de vida en un registro por incidente antes de calcular los promedios de detección y recuperación del nivel de servicio.

Contrato de evento

Campos que espera la consulta

CampoTipoPor que existe
timestamp_utcTimestampHora del evento del ciclo de vida en UTC.
incident_idUtf8Identificador de incidentes estable.
serviceUtf8Servicio primario afectado.
event_nameUtf8impact_started, detectado o resuelto.
severityUtf8Se revisó la gravedad del incidente.
environmentUtf8Entorno de implementación.
DataFusionSQL

Copiar la consulta

sql
WITH incident_times AS (
  SELECT
    incident_id,
    service,
    MIN(CASE WHEN event_name = 'impact_started' THEN timestamp_utc END)
      AS impact_started_at,
    MIN(CASE WHEN event_name = 'detected' THEN timestamp_utc END)
      AS detected_at,
    MAX(CASE WHEN event_name = 'resolved' THEN timestamp_utc END)
      AS resolved_at
  FROM incident_lifecycle_events
  WHERE timestamp_utc >= now() - INTERVAL '90 days'
    AND environment = 'production'
  GROUP BY incident_id, service
)
SELECT
  service,
  COUNT(*) AS incidents,
  AVG(date_part('epoch', detected_at - impact_started_at) / 60.0)
    AS average_detection_minutes,
  AVG(date_part('epoch', resolved_at - detected_at) / 60.0)
    AS average_recovery_minutes
FROM incident_times
WHERE impact_started_at IS NOT NULL
  AND detected_at IS NOT NULL
  AND resolved_at IS NOT NULL
GROUP BY service
ORDER BY average_recovery_minutes DESC, service;

Esta consulta de solo lectura se planifica y ejecuta en una tabla escrita vacía con Apache DataFusion 45.2.0. El resultado de la muestra determinista es sintético y se revisa por separado; valide tipos de campos, umbrales y definiciones comerciales con sus propios datos. Lea la metodología de prueba.

Resultado de la consulta

Tiempo de detección y recuperación de incidentes

El trabajador de facturación tiene los intervalos de detección y recuperación observados más largos.

serviceincidentsaverage_detection_minutesaverage_recovery_minutes
billing-worker11560
checkout-api27,532,5

Salida de ejemplo sintético. Ejecute la consulta con su propio esquema de eventos y umbrales antes de utilizarla para decisiones operativas.

Incident detection and recovery time: gráfico estático de valores sintéticos de average_recovery_minutes del resultado del ejemplo Calculate Incident Detection and Recovery Time
SVG indexable de la salida del ejemplo determinista. Descárguelo para ver un artículo, un runbook o una revisión de diseño con atribución.

Reproducir el ejemplo

Descargar el accesorio público

El paquete JSON incluye el contrato de evento escrito, reproducible filas de entrada, SQL exacto, resultado esperado, notas de revisión y versión del motor. El CSV contiene el resultado mostrado.

Cómo funciona el SQL

  1. 1Los eventos del ciclo de vida se convierten en una fila por incidente antes de calcular la duración.
  2. 2Las medidas de detección impactan el inicio de la detección; medidas de recuperación detección a resolución.
  3. 3Los incidentes incompletos se excluyen del promedio de duración completa y deben informarse por separado.

Casos extremos para decidir

  • Defina si la recuperación finaliza con la mitigación, la restauración completa o el cierre del incidente y utilice una regla de manera consistente.
  • Los incidentes reabiertos pueden necesitar múltiples intervalos de impacto en lugar de un tiempo máximo de resolución.
  • Los promedios son ilustrativos; informar medianas y percentiles cuando el volumen de incidentes sea suficiente.

Panel recomendado

  • Barras: minutos promedio de detección y recuperación por servicio
  • Tendencia: duración de incidentes completados por mes
  • Tabla: incidentes abiertos a los que les falta un evento resuelto

Guía de alerta

Utilice alertas operativas para impactos en vivo; Utilice este resultado como revisión de la calidad de la respuesta y métrica de tendencia.

Leer configuración de alerta

Pon la receta a trabajar

Instrumentación y guías relacionadas.

Continuar el análisis

Ejecútelo en eventos reales.

Crea una tabla, adapta los campos y guarda el resultado.

Comience gratis, envíe eventos estructurados y utilice el resultado de la consulta como un gráfico, un widget de panel compartido o una entrada de alerta.

Obtén una clave API