Files

3.2 KiB

title, category, error_codes, severity, owner, last_updated, status
title category error_codes severity owner last_updated status
Runbook — 5xx Internal error spike INTERNAL
INTERNAL_ERROR
INTERNAL_AUTH_MISCONFIGURATION
JVM_OOM
P1 oncall 2026-05-22 stub

Runbook: 5xx Internal error spike

1. Trigger

이 runbook은 다음 alert에서 발동됩니다.

  • alert name: http_5xx_error_rate_critical
  • alert payload 필수 field: operation, error.code, error.category, request_id, traceId, runbook_link
  • 임계: 5xx error rate > 5% 5분 지속 OR > 10% 1분

2. First Response (5분 이내)

Step 1 — 확인

  1. 가장 최근 deploy 시각 확인 (CI/CD dashboard, artifact registry digest)
  2. JVM metric 확인: heap usage, GC pause, CPU, thread count
  3. log에서 실패 request 1건 추출 → request_id, traceId 확보
  4. error.code 분포 확인: INTERNAL_ERROR vs JVM_OOM vs INTERNAL_AUTH_MISCONFIGURATION

Step 2 — 임시 격리

  • 직전 deploy가 의심되면 즉시 rollback (artifact registry에서 직전 image digest pin)
  • OOM 패턴이면 affected pod evict → ASG/HPA로 replacement 유도
  • LB에서 unhealthy pod 격리 (readiness probe failure 유도)

3. Diagnosis

  • log query: {service="app"} | http.status>=500 | stats count by error.code
  • metric panel: jvm_memory_used_bytes{area="heap"}, jvm_gc_pause_seconds, process_cpu_seconds_total, http_server_requests_seconds_count{status=~"5.."}
  • trace: 실패 request의 traceId로 span chain 확인 → stack trace에서 root exception 추출
  • heap dump 위치: /var/tmp/heap/heapdump-<pid>.hprof (JVM ergonomics: -XX:MaxRAMPercentage=75 -XX:+HeapDumpOnOutOfMemoryError)
  • 가능한 원인:
    • 직전 deploy의 회귀 버그 → rollback
    • JVM OOM (메모리 leak 또는 부하 증가) → heap dump 분석
    • 외부 의존성 설정 오류 (INTERNAL_AUTH_MISCONFIGURATION) → config secret 확인
    • thread starvation (pool 고갈) → thread dump (jstack <pid>)

4. Mitigation

  • 단기: 직전 deploy rollback, OOM pod replacement, traffic 일시 감소(scale-out 또는 rate-limit 강화)
  • config 오류면 secret/configmap rollback
  • 장기: heap dump 기반 leak 수정, capacity planning 재검토

5. Escalation

  • 다음 on-call로 page: 10분 내 회복 안 되면 incident commander 호출, severity 1 incident 선언
  • 데이터 손상 의심되면 DBA team page

6. Recovery / Verification

  • 회복 확인 metric: 5xx rate < 0.5% 5분 지속, JVM heap usage < 70%, GC pause p99 < 500ms
  • post-incident:
    • rollback 원인 RCA 작성 (배포 게이트 강화 필요 여부)
    • heap dump 분석 결과 공유
    • JVM ergonomics(-XX:MaxRAMPercentage) 재검토
    • rollback 자동화 절차 점검

Stub 상태 안내: 이 runbook은 skeleton 단계의 stub. 도메인 도입 시 실제 deploy 파이프라인·heap dump 보관 경로·rollback 자동화 명령으로 보강 필요.