콘텐츠로 건너뛰기
Telemetry
인프라 SQL 레시피

사고 감지 및 복구 시간 계산

구조화된 사고 수명주기 이벤트를 감지하는 데 걸리는 시간과 복구하는 데 걸리는 시간을 계산합니다.

고급incident_lifecycle_events검토됨 2026-07-28테스트됨 아파치 DataFusion 45.2.0

검토자 Telemetry 제품 팀 . SQL 호환성, 이벤트 계약, 합성 출력 및 운영상의 주의사항. 표준 및 소유권 검토

질문에 답변됨

각 서비스가 사고를 감지하고 복구하는 데 얼마나 걸리나요?

사고 타임라인은 고객에게 미치는 영향, 감지 및 해결 방법을 구분해야 합니다. 이 쿼리는 서비스 수준 탐지 및 복구 평균을 계산하기 전에 수명 주기 이벤트를 사건당 하나의 레코드로 전환합니다.

이벤트 계약

쿼리가 예상하는 필드

필드유형그것이 존재하는 이유
timestamp_utcTimestampUTC 단위의 수명 주기 이벤트 시간입니다.
incident_idUtf8안정적인 사건 식별자.
serviceUtf8주요 영향을 받는 서비스입니다.
event_nameUtf8impact_started가 감지되거나 해결되었습니다.
severityUtf8사고 심각도를 검토했습니다.
environmentUtf8배포 환경.
DataFusion SQL

쿼리 복사

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;

이 읽기 전용 쿼리는 빈 유형의 테이블에 대해 계획되고 실행됩니다. 아파치 DataFusion 45.2.0. 결정론적 샘플 출력은 합성되어 별도로 검토됩니다. 자신의 데이터에 대해 필드 유형, 임계값 및 비즈니스 정의를 검증합니다. 테스트 방법론을 읽어보세요.

쿼리 결과

사고 감지 및 복구 시간

청구 작업자의 감지 및 복구 간격이 더 길었습니다.

serviceincidentsaverage_detection_minutesaverage_recovery_minutes
billing-worker11560
checkout-api27.532.5

합성 예제 출력. 운영 결정에 사용하기 전에 자체 이벤트 스키마 및 임계값에 대해 쿼리를 실행하세요.

Incident detection and recovery time: Calculate Incident Detection and Recovery Time 예제 결과의 합성 average_recovery_minutes 값에 대한 정적 차트
결정론적 예제 출력의 색인 생성 가능한 SVG입니다. 기사, 런북 또는 저작자가 포함된 디자인 검토를 위해 다운로드하세요.

예제 재현

공공 픽스처 다운로드

JSON 번들은 타입이 지정된 이벤트 계약을 포함합니다. reproducible 입력 행, 정확한 SQL, 예상 출력, 검토 참고 사항 및 엔진 버전. CSV에는 표시된 결과가 포함됩니다.

SQL 작동 방식

  1. 1수명 주기 이벤트는 기간 계산 전에 사건당 하나의 행으로 피벗됩니다.
  2. 2탐지는 탐지 시작부터 영향을 측정합니다. 복구는 탐지부터 해결까지 측정합니다.
  3. 3불완전한 사건은 완료된 기간 평균에서 제외되며 별도로 보고해야 합니다.

결정해야 할 극단적인 경우

  • 복구가 완화, 전체 복원 또는 사고 종료로 끝나는지 정의하고 하나의 규칙을 일관되게 사용합니다.
  • 재개된 인시던트는 하나의 최대 해결 시간이 아닌 여러 영향 간격이 필요할 수 있습니다.
  • 평균은 예시입니다. 사고 규모가 충분할 경우 중앙값과 백분위수를 보고합니다.

추천 대시보드

  • 막대: 서비스별 평균 탐지 및 복구 시간(분)
  • 추세: 완료된 사건 기간(월별)
  • 표: 해결된 이벤트가 누락된 미해결 인시던트

알림 안내

실시간 영향에 대한 운영 알림을 사용합니다. 이 결과를 응답 품질 검토 및 추세 지표로 사용하십시오.

알림 설정 읽기

레시피를 활용해 보세요

관련 계측 및 가이드

분석 계속하기

실제 이벤트에서 실행

테이블을 만들고, 필드를 조정하고, 결과를 저장하세요.

무료로 시작하고, 구조화된 이벤트를 보내고, 쿼리 결과를 차트, 공유 대시보드 위젯 또는 알림 입력으로 사용하세요.

API 키 받기