통합과 배포 · 장애 대응 커뮤니케이션 · 실습
장애 보고서 쓰기
목표
앞의 세 코스에서 찾아낸 값들을 재료로, 비엔지니어가 읽을 수 있는 장애 보고서 한 장을 쓸 수 있게 됩니다.
왜 중요한가
FDE 의 장애 대응은 시스템이 아니라 보고서에서 끝납니다. 기술적으로 완벽히 고쳐도 보고가 늦거나 모호하면 고객의 기억에는 불안만 남습니다.
이 실습이 강제하는 네 가지는 전부 현장의 규칙입니다. 영향이 원인보다 먼저 — 읽는 사람이 가장 먼저 알아야 할 것은 지금 누가 무엇을 못 하는가입니다. 숫자로 쓰기 — 형용사는 사람마다 다르게 해석되고 그 차이가 나중에 분쟁이 됩니다. 사람을 지목하지 않기 — 고객사 보고서에 담당자가 지목되면 다음 장애에서 그 사람은 정보를 숨기고, 그 대가는 다음번 탐지 지연으로 돌아옵니다. 다음 보고 시각 약속 — 원인을 모르는 단계에서 해결 시각을 약속하는 것은 도박이지만, 다음 보고 시각은 언제나 지킬 수 있습니다.
채점은 문장의 좋고 나쁨을 보지 않습니다. 필수 절이 있는지, 정확한 값이 들어 있는지, 금지된 표현이 없는지만 봅니다.
필수 절 여섯 개 — ## 영향, ## 현재 상태, ## 잠정 원인, ## 타임라인, ## 다음 단계, ## 고객 안내
단계
1. /root/incident.md 를 만드세요.
2. 위 여섯 개 절을 모두 넣고, ## 영향 이 ## 잠정 원인 보다 앞에 오게 하세요.
3. ## 영향 절에 망가진 경로(/api/pay)와 오류 건수를 넣으세요.
4. ## 잠정 원인 절에 문제가 된 배포 버전(2.7.0)과 느려진 테이블(payments)을 넣으세요.
5. ## 타임라인 절에 03:19, 03:27, 03:31, 03:36, 03:39 다섯 시각을 모두 넣으세요.
6. 문서 전체에서 로그의 담당자 계정명을 쓰지 말고, 책임을 묻는 표현(실수·잘못·과실·탓)도 쓰지 마세요.
7. 다음 보고: 로 시작하는 줄을 넣고 시각이나 주기를 적으세요.
8. ## 고객 안내 절을 30자 이상으로 쓰되, 타임아웃·쿼리·500·payments·2.7.0 을 쓰지 말고 결제 라는 말로 무슨 일이 있었는지 설명하세요.
참고
- 값이 기억나지 않으면
/root/incident/summary.txt,/root/correlate/link.md,/root/timeline/timeline.md에 있습니다. - 8번의 의도는 "파드가 재시작 루프에 빠졌습니다" 를 "서버가 반복적으로 꺼졌다 켜지는 상태라 접속이 끊깁니다" 로 옮기는 연습입니다.
- 흔한 실수 1: 6번에서 로그의
actor=oncall-kim값을 그대로 옮겨 적는 것. - 흔한 실수 2: 8번에서 기술 절의 문장을 복사해 붙이는 것. 같은 내용을 다른 말로 다시 써야 합니다.
단계 8개
- 보고서 파일 만들기
- 필수 절 갖추기
- 영향을 숫자로 쓰기
- 근본 원인 값 쓰기
- 타임라인 절 채우기
- 비난 없는 문장으로 쓰기
- 다음 보고 시점 약속하기
- 고객 언어로 번역하기