단위 7 / 11

사고 관리 및 사후 분석: 인공 지능을 통한 근본 원인 분석

이득:

  • 사고의 라이프사이클(탐지, 분류, 완화, 해결, 사후 분석), MTTD/MTTR 측정항목 및 '먼저 완화하고 나중에 조사' 원칙을 이해하는 능력
  • AI를 활용해 사건 당시의 가설을 좁히고, 무책임한 사후 스케치를 생성해 각 근본 원인을 데이터로 검증하는 능력
  • 사후를 비난하지 않는 언어로 작성하고 이벤트 데이터를 마스킹하여 공유하는 규율을 적용하는 능력.

모든 시스템은 결국 무너집니다. 차이점은 좋은 팀이 이 불가피한 사건을 어떻게 준비하고 어떻게 배우는가입니다. 사고는 서비스 중단, 급증하는 응답 시간, 데이터 손실 등 서비스를 중단시키거나 중단시키겠다고 위협하는 예상치 못한 사건입니다. 사고 관리는 가능한 한 빨리 사고를 감지하고, 완화하고, 해결한 다음, 사고로부터 배우는 것을 의미합니다. 이는 DevOps 및 SRE(사이트 안정성 엔지니어링) 전문가를 밤낮으로 이끄는 원칙입니다.

MTTD(평균 감지 시간)와 MTTR(평균 복구 시간)이라는 두 가지 중요한 지표가 이벤트 품질을 측정합니다. 목표는 둘 다 축소하는 것입니다. AI는 여기에 두 가지 큰 가치를 추가합니다. 이벤트 발생 시 로그와 지표를 신속하게 요약하여 가능한 근본 원인을 좁히는 것과 이벤트 후 사후 분석(사후 조사 보고서)을 신속하게 작성하는 것입니다. 그러나 어떤 서비스를 끌 것인지, 롤백할 것인지, 고객에게 말할 내용 등 이벤트 과정에 대한 결정은 귀하의 몫입니다.

이벤트의 수명주기

  1. 감지: 알람이 울리거나 고객 불만이 발생합니다. 빠를수록 좋습니다.
  2. 분류: 얼마나 심각한가요? 도메인은 무엇입니까? 심각도 수준은 일반적으로 SEV1(가장 중요, 전체 시스템)부터 SEV4(사소함)까지 할당됩니다.
  3. 대응팀을 구성하세요. 중요한 사고에서는 사고 지휘관이 조정을 맡습니다.
  4. 완화: 먼저 출혈을 멈추십시오. 종종 롤백하거나 깃발을 덮습니다. 나중에 근본 원인을 찾을 수 있습니다.
  5. 해결: 영구 수정 사항을 적용합니다.
  6. 학습(사후): 무슨 일이 일어났고, 왜 발생했으며, 이러한 일이 다시 발생하지 않도록 하려면 어떻게 해야 합니까?
조언: 사건 당시 가장 큰 비용이 드는 실수 중 하나는 “정확한 근본 원인을 먼저 파악하자”는 이유로 지혈을 미루는 것입니다. 규칙: 먼저 감소(복원/복원 서비스)한 다음 조회합니다. 알려진 양호한 버전으로 롤백하는 것이 가장 빠른 완화 방법인 경우가 많습니다.

죄책감 없는 사후 문화

건강한 팀의 중추는 비난 없는 사후 분석 문화입니다. 목표는 "누가 그랬는지"가 아니라 "어떤 시스템과 프로세스가 이런 실수를 허용했는지"입니다. 질문입니다. 사람들은 자신이 처벌받을 것이라는 것을 안다면 실수를 숨깁니다. 숨겨진 오류가 반복됩니다. 사후부검은 고발 보고서가 아니라 학습 문서입니다.

좋은 사후 분석에는 요약, 영향(사용자 수, 기간, 비용), 타임라인, 근본 원인, 무엇이 잘 됐는지/나빴는지, 조치 항목(각각 소유자와 날짜가 포함된 구체적인 측정값)이 포함됩니다.

주의: AI로 사후 분석을 작성할 때는 비난하는 언어(예: "X 사람이 실수했습니다")를 제거하십시오. 또한 AI에 이벤트 데이터를 제공할 때 클라이언트 ID, 내부 IP 및 비밀을 마스킹합니다. 사후 분석은 널리 공유되는 경우가 많습니다.

근본 원인 분석: 5가지 Why와 AI

고전적인 기술은 "5가지 이유"입니다. "왜?"라고 물어보세요. 문제에. 계속해서 질문하면 표면적인 증상에서 실제 뿌리까지 도달할 수 있습니다. "서비스가 중단되었습니다. 왜? 메모리가 부족합니다. 왜? 누출이 발생했습니다. 왜? 라이브러리 업데이트..." AI는 신속하게 이 체인을 구축하고 가능한 분기를 제안합니다. 하지만 데이터로 각 "이유"를 확인해야 합니다. AI는 합리적이지만 잘못된 체인을 구축할 수도 있습니다.

심각도 테이블

레벨

영향

개입

SEV1

전체 시스템/중요한 비즈니스 손실

결제가 완전히 중단되었습니다.

즉시 팀 전체, 지휘관

SEV2

주요 기능 장애

로그인 실패

빠른 대기 + 지원

SEV3

부분적/제한적 효과

보고가 지연되었습니다

근무 시간 중

SEV4

소형/화장품

오타

일반 작업 대기열

세 개의 미니 케이스

사례 1 — MTTR이 45분에서 8분으로. 결제 서비스가 중단되었습니다. 담당 엔지니어는 마스킹된 로그와 마지막 배치 정보를 AI에 전달하고 "지난 20분 동안 가장 가능성이 높은 트리거는 무엇입니까?"라고 질문했습니다. 그는 물었다. AI는 붕괴가 마지막 배치와 같은 순간에 시작되었음을 보여주었다. 엔지니어는 즉시 해당 버전을 롤백했습니다. 8분만에 서비스가 돌아왔습니다. 그런 다음 근본 원인(새 버전의 연결 풀 버그)을 편리하게 조사했습니다.

사례 2 - 20분 만에 사후 스케치. SEV2 이후 팀은 피곤해졌고 보고서를 작성할 힘도 없었습니다. 보고서는 종종 몇 주 동안 지연되었습니다. 이번에는 타임라인과 사건 노트를 AI에 넘겨 범죄 없는 사후 스케치를 제작했다. AI는 영향, 일정 및 조치 항목에 대한 깔끔한 프레임워크를 만들었습니다. 팀은 이를 사실로 채워 20분 만에 공개했습니다. 교훈은 사라지지 않았습니다.

사례 3 — 잘못된 근본 원인이 발견되었습니다. 어떤 경우에는 AI가 "근본 원인 데이터베이스 과부하"라고 말했는데 그것이 합리적으로 보였습니다. 그러나 엔지니어는 측정항목을 확인했습니다. 즉, 사고 당시 데이터베이스 로드는 정상이었습니다. 실제 원인은 외부 DNS 문제였습니다. AI의 초기 가설은 유동적이었지만 틀렸습니다. 데이터 검증을 통해 보고서가 잘못된 결론으로 ​​출판되는 것을 방지했습니다.

복사 가능한 템플릿 4개

1) 사건 발생 당시 신속한 분류:

제작 이벤트를 진행하고 있습니다. 가려진 증상: [SYMPTOM].마지막 변경: [LAST DEPLOY/CHANGE]. (1) 가능성이 가장 높은 근본 원인 가설 3개(확률순),(2) 각각을 1분 안에 확인할 명령/메트릭,(3) 가장 빠른 SAFE 완화 단계(예: 롤백) 엄밀히 말하면; 각 가설을 검증해야 한다고 명시합니다.

2) 무고한 사후 스케치:

아래 사건 기록을 바탕으로 흠잡을 데 없는 사후 분석을 작성해 보세요. 섹션: 요약, 영향(사용자/기간/비용), 타임라인, 근본 원인, 잘 된 부분, 잘못된 부분, 작업 항목(각각 소유자 + 날짜 필드 포함). 명명, 프로세스 및 시스템에 중점을 둡니다. 참고: [마스크됨]

3) 5가지 이유 분석:

다음 증상으로 시작하여 "5가지 이유" 체인을 구축합니다. [증상]. 각 단계에서 가능한 분기가 두 개 이상 있는지 표시합니다. 각 "이유" 옆에 이를 확인하기 위해 살펴볼 증거(로그/측정항목)를 적습니다. 마지막에는 아직 확인되지 않은 단계를 표시하세요.

4) 실행 가능한 항목 만들기:

이러한 근본 원인에 따라 동일한 사건이 재발하지 않도록 조치할 수 있는 항목을 제안합니다. (a) 예방, 감지 또는 감소, (b) 예상 노력, (c) 영향을 기준으로 각 항목을 분류합니다. 가장 높은 영향/노력 비율을 기준으로 정렬합니다. 근본 원인: [X]

약한 프롬프트 / 강한 프롬프트

약함: "서비스가 중단되었습니다. 어떻게 해야 하나요?"

결과: 맥락이 ​​없습니다. AI는 귀하의 사례에 맞지 않는 일반적인 권장 사항을 제시할 수 있으며, 심지어 확실한 근본 원인을 찾아낼 수도 있습니다.

Strong: "프로덕션 결제 서비스에서 5분 동안 5xx를 제공했습니다. 마지막 배포는 6분 전이었습니다. 가능성이 가장 높은 근본 원인 가설 3개를 확률 순으로 제시하고, 각각을 확인할 명령을 말하고, 가장 빠른 안전한 완화 조치를 제안합니다. 구체적으로 설명하지 말고 확인이 필요하다고 명시하세요."

차이점: 두 번째 프롬프트는 증상, 시기, 마지막 변경 사항을 제공합니다. 가설 + 검증 + 축소를 요구하며 AI를 부정확하게 유지합니다.

일반적인 실수

  • 완화하기 전에 정확한 근본 원인을 찾으십시오. 출혈 중지를 지연시키고 MTTR을 증가시킵니다.
  • AI에 대한 첫 번째 가설을 검증하지 않고 발표합니다. 유동적이지만 잘못된 근본 원인으로 인해 보고서가 누출됩니다.
  • 비난적인 언어. 익명으로 작성된 사후 조사는 은폐와 반복적인 오류를 조장합니다.
  • 주요 항목이 없는 행동 중심 보고서입니다. 소유자와 날짜가 없는 제안은 구현되지 않습니다.
  • 이벤트 데이터를 마스킹하지 않고 공유합니다. 사후 분석은 광범위한 청중에게 전달됩니다. 비밀/개인정보가 유출되었습니다.
  • 롤백 경로를 미리 준비하지 않습니다. 반전이 실용적이지 않으면 감소 속도가 느려집니다.

요약하면

사고 관리는 피할 수 없는 사건을 신속하게 감지, 완화, 해결 및 학습하는 것입니다. MTTD와 MTTR은 주요 지표입니다. 황금률은 "먼저 완화하고 나중에 조사"하는 것이며 알려진 양호한 버전으로 되돌리는 것이 가장 빠른 완화인 경우가 많습니다. AI는 이벤트 발생 시 로그를 요약하고, 가설을 좁히고, 이벤트 후 비난할 수 없는 사후 스케치를 생성하는 데 매우 중요합니다. 그러나 데이터, 비난 언어 제거, 이벤트 마스크 데이터를 사용하여 각 근본 원인 가설을 검증하는 것은 귀하의 책임입니다.

응용과제

과거(또는 허구) 사건을 생각해 보십시오. (1) AI가 "현장 신속 분류" 템플릿을 사용하여 가설과 검증 단계를 생성하도록 합니다. 데이터를 통해 어떤 가설을 확인할 수 있는지 확인하세요. (2) "무죄 사후 개요" 템플릿을 사용하여 보고서의 개요를 작성하고 사실로 채웁니다. (3) 실행 가능한 항목을 두 개 이상 식별하고 각 항목에 소유자와 날짜를 할당합니다.

체크리스트

  • [ ] 사건 당시에는 완화(롤백/종료)를 먼저 생각하고 근본 원인은 나중으로 미뤘습니다.
  • [ ] AI의 근본 원인 가설을 모두 로그/메트릭으로 검증했습니다.
  • [ ] 사후를 비난하지 않는 언어로 과정과 시스템에 중점을 두고 썼습니다.
  • [ ] 실행 가능한 각 항목에 소유자와 날짜를 지정했습니다.
  • [ ] AI에 제공한 이벤트 데이터에서 비밀과 개인 정보를 마스킹했습니다.
  • [ ] 영향에 따라 심각도 수준을 올바르게 할당했습니다.