Rain Lag

종이 인시던트 스토리 ‘시그널 다락방’: 손으로 쓴 알림을 쌓아 진짜 패턴을 드러내기

시끄러운 알림을 손으로 적는 ‘인시던트 이야기 다락방’으로 바꿔 쌓아가면, 실제 신뢰성 패턴이 드러나고 번아웃은 줄어들며 더 똑똑한 SRE 알림 전략을 설계할 수 있다.

종이 인시던트 스토리 ‘시그널 다락방’: 손으로 쓴 알림을 쌓아 진짜 패턴을 드러내기

먼지 쌓인 오래된 다락방을 떠올려 보세요. 상자가 잔뜩 쌓여 있고, 각 상자 안에는 인시던트에 대한 짧은 손글씨 이야기가 들어 있습니다. 무엇이 고장 났는지, 어떤 기분이었는지, 무엇을 시도했고, 결국 무엇이 통했는지 적혀 있습니다.

처음 보면 그냥 혼돈 그 자체입니다.

하지만 이런 이야기 상자를 하루, 일주일, 몇 달씩 계속 쌓다 보면 패턴이 눈에 들어오기 시작합니다. 비슷한 장애 양상이 반복되고, 매번 빠져 있는 런북 단계가 보이고, “도대체 이거 담당이 누구야?”라는 같은 공포가 반복됩니다. 시간이 지나면, 이 종이 이야기들로 가득한 다락방은 시스템과 알림에 진짜로 어떤 문제가 있는지 보여주는 강력한 지도 역할을 하게 됩니다.

이것이 **“종이 인시던트 스토리 시그널 다락방(Paper Incident Story Signal Attic)”**의 아이디어입니다. 인시던트를 짧은 손글씨 메모 형태로라도 의도적으로 수집·정리하면서, 시끄러운 자동 알림 속에 묻혀 있던 진짜 패턴을 드러내는 것입니다.

이 글에서는 이 은유를 실제 SRE 관행과 연결해서 살펴봅니다:

  • 알림 피로(alert fatigue) 가 시끄러운 시스템에서는 필연적인지
  • 어떻게 수동으로 인시던트를 정리하면 실제 패턴이 드러나는지
  • 좋은 알림 전략(alerting strategy) 은 어떤 모습인지
  • 맥락이 풍부한(context-rich) 알림 이 어떻게 사람의 대응 속도를 높이는지
  • 자동화와 자동 복구(auto-remediation) 는 어디에 끼워 넣어야 하는지
  • 실시간 모니터링 은 반드시 인간의 판단과 함께 가야 하는지
  • 카오스 엔지니어링과 블레임리스 포스트모템 이 어떻게 알림을 계속 정교하게 다듬는지

알림 피로: 페이저 소리가 배경 잡음이 되는 순간

알림 피로(alert fatigue)는 대략 이런 조건에서 생깁니다:

  • 알림이 너무 많이 울리고
  • 그중 대부분이 가치가 낮거나 시끄럽고
  • 진짜 인시던트가 “어쩌면?” 수준의 시그널 더미 속에 파묻혀 있을 때

시간이 지나면 SRE와 온콜 엔지니어들은 점점 무감각 해집니다.

  • 알림을 확인하는 속도가 느려지고
  • 중요한 시그널을 놓치고
  • 스트레스와 번아웃 이 늘어납니다.

원래 알림의 목적은 주의를 집중시키는 것입니다. 하지만 설계가 나쁜 알림 시스템은 정반대 일을 합니다. 주의를 이곳저곳에 마구 뿌려대다 결국 아무 곳에도 집중하지 못하게 만듭니다.

여기서 “종이 다락방”이 등장합니다. 정말 아프거나 중요한 사건은 반드시 이야기로 써야 한다고 정해 두면, 볼륨이 눈에 띄게 줄어듭니다. 누구도 1주일에 쓸모없는 알림 500개를 손으로 직접 적고 싶어 하지는 않기 때문입니다.

이렇게 수동으로 기록하는 규율 자체가 강력한 필터가 됩니다.


손으로 쓰는 인시던트 알림: 수동 스토리가 진짜 패턴을 드러내는 이유

자동 알림은 볼륨(volume)속도(speed) 에는 강하지만, 서사(narrative) 에는 약합니다. 자동 알림은 이런 것들을 알려주지 못합니다:

  • 그 순간 온콜이었던 사람이 어떤 느낌 이었는지
  • 어떤 알림이 쓸모없고, 어떤 알림이 도움이 되었는지
  • 어디서 혼란과 불확실성, 커뮤니케이션 문제가 생겼는지

반대로, 간단한 사람 손으로 쓴 인시던트 메모에는 보통 이런 내용이 들어갑니다:

  • 당신을 깨운 것: 어떤 알림이, 어디서, 어떤 채널로 왔는지
  • 처음에 보인 것: 어떤 대시보드, 로그, 메트릭을 봤는지
  • 빠져 있던 것: 어떤 컨텍스트, 담당자 정보, 런북이 없었는지
  • 어떻게 복구했는지: 어떤 수동 작업과 실험을 거쳐 해결했는지
  • 무엇이 답답했는지: 반복되는 문제, 시끄러운 알림, 엉터리 시그널 등

각각은 그저 하나의 작은 이야기일 뿐입니다. 하지만 이런 메모를 시간을 두고 쌓아가면 이런 것들이 보입니다:

  • 늘 등장하는 같은 저가치 알림
  • 매번 시간을 잡아먹는 같은 런북 누락 단계
  • 실제 유저 임팩트와는 상관 없는, 항상 소리만 요란한 같은 메트릭

이게 바로 여러분의 시그널 다락방(signal attic) 입니다. 로그나 숫자 대신, 인시던트를 이야기 단위로 큐레이션 해 두는 물리적·디지털 공간입니다.

이 다락방에서 여러분은 이렇게 할 수 있습니다:

  • 실제 인시던트 이야기에서 한 번도 유용하게 등장하지 않는 쓸모없는 알림은 없애고
  • 큰 인시던트 직전에 항상 나타나는 약한 시그널은 승격(promote) 하고
  • 엔지니어들이 실제로 했던 행동을 기준으로 런북을 정제 하고
  • 담당, 도구, 프로세스 차원의 시스템적 문제를 포착 할 수 있습니다.

핵심은, 모든 걸 다 기록하려는 게 아니라 정말 아팠던 것만 기록하는 데 있습니다. 고통이 곧 우선순위 엔진 입니다.


더 똑똑한 알림 전략 설계하기

인시던트 다락방에서 드러난 패턴을 바탕으로, 알림 전략을 다음 세 가지 원칙 중심으로 다시 설계할 수 있습니다.

1. 노이즈를 집요하게 줄이기

다음과 같은 알림이라면:

  • 실제 사용자 임팩트와 거의 연결되지 않거나,
  • 인시던트 스토리에서 유용한 알림으로 거의 등장하지 않는다면

그 알림은 등급을 낮추거나(downgrade), 억제(suppress), 삭제(delete) 해야 합니다.

현명한 알림 전략에는 이런 요소들이 포함됩니다:

  • 어떤 알림이 페이징(alert paging) 자격이 있는지에 대한 명확한 기준
    • 예: 사용자 영향, 안전(safety), 보안(security), 되돌릴 수 없는 데이터 손실 등
  • 연관된 알림들을 묶어서 배칭/집계(batching/aggregation) 하여 알림 폭주를 막기
  • 레이트 리밋(rate limit) 이나 중복 제거(deduplication)로 알림 스톰 방지

2. 온콜 사람을 보호하기

알림 시스템의 목표는 단순히 “정확하게” 알리는 것이 아니라, 사람에게 인간적인(humane) 환경을 제공하는 것 입니다.

구체적으로는:

  • 근무 시간 외 페이징은 신뢰도 높은(high-confidence), 임팩트가 큰(high-impact) 이벤트로 제한하고
  • 시끄럽지만 참고할 가치는 있는 시그널은 대시보드, 데일리 리포트, Slack 채널 로 옮기고
  • 에스컬레이션(escalation) 은 신중히 사용해, 단 하나의 플래핑(flapping) 파드 때문에 조직 전체를 깨우지 않도록 합니다.

3. 알림을 비즈니스 임팩트와 정렬시키기

알림은 비즈니스가 실제로 중요하게 생각하는 것을 반영해야 합니다.

  • 핵심 사용자 플로우의 에러율, 레이턴시
  • 코어 서비스 가용성
  • 한계를 넘으면 곧 사용자에게 영향을 줄 용량(capacity) 임계치

이런 기술적 메트릭을 서비스 수준 목표(SLO, Service Level Objectives) 와 연결해 두면, 페이징이 실제 신뢰성 약속 위반을 반영하게 됩니다.


컨텍스트가 풍부한 알림: 수수께끼 핑에서 실행 가능한 패킷으로

다음과 같은 알림은:

High CPU usage on node ip-10-0-1-23

사실 시그널이라기보다 수수께끼에 가깝습니다.

반대로, 맥락이 풍부한(context-rich) 알림 은 다음처럼 생길 수 있습니다:

  • 영향(Impact): “us-east-1 리전의 체크아웃 레이턴시에 영향을 줄 수 있습니다”
  • 소유자(Ownership): “서비스 오너: payments-team (#payments-oncall)”
  • 런북(Runbook): ‘CPU 포화(saturation)’ 체크리스트 링크
  • 관련 메트릭/로그: Prometheus, Datadog, Grafana로 바로 가는 링크
  • 과거 인시던트: 이전 유사 인시던트(다락방/포스트모템 툴)의 링크

이렇게 되면 알림은 “뭔가 잘못됐다” 에서 “무엇이 잘못됐을 가능성이 크고, 누가 담당이며, 어디서부터 어떻게 손대기 시작해야 하는지” 까지 알려주는 형태가 됩니다.

알림에 컨텍스트를 풍부하게 넣는 작업은 인시던트 스토리로부터 계속 학습해 가는 지속적인 프로세스 입니다.

  • 엔지니어가 “이 알림에 이 정보 X 가 있었으면 좋았겠다” 라고 말할 때마다, 그 X를 알림 템플릿에 추가합니다.
  • 매번 동일한 정보를 찾아 헤매야 한다면, 그 정보는 알림 템플릿에 포함시켜야 합니다.

자동화와 자동 복구: 스크립트로 해결 가능한 일에 사람을 깨우지 말 것

인시던트 다락방을 조금만 쌓아도 곧 이런 불편한 진실이 드러납니다:

  • 많은 인시던트가 반복적이고, 지루하고, 스크립트로 충분히 처리 가능하다 는 것.

예를 들어, 똑같은 패턴이 반복된다면:

  • “로그 노드 디스크 80% 사용” → SRE가 로그를 회전시키고 파티션을 확장
  • “Stuck pod” → SRE가 파드를 삭제하면 디플로이먼트가 자동으로 다시 생성

이런 것들은 자동 복구(auto-remediation) 후보로 이상적입니다. 예를 들어:

  • 리소스 라이프사이클을 관리하는 쿠버네티스 오퍼레이터(Kubernetes Operator)
  • 원하는 상태를 강제하는 Terraform 같은 인프라스트럭처-애즈-코드(IaC)
  • 알림에 의해 트리거되는 커스텀 자동화 스크립트

목표는 다음과 같습니다:

  • Prometheus, Datadog, Alertmanager 등이 문제를 감지하고
  • 미리 정의된 안전한 자동 액션 이 알려진 해결책을 시도하고
  • 자동화가 실패하거나 영향도가 클 때만 사람을 깨우는 것 입니다.

이게 잘 되면 알림 피로는 크게 줄어들고, 사람은 더 상위 레벨의 문제 해결에 집중할 수 있습니다.


실시간 모니터링: 빠른 감지는 신중한 임계값 없이는 소음이 된다

Prometheus, Datadog 같은 도구 덕분에 우리는 매우 쉽게:

  • 실시간 메트릭을 수집하고
  • 대시보드를 만들고
  • 빠르게 알림을 발생시킬 수 있습니다.

하지만 빠른 감지 만 있고, 임계값(threshold) 설계가 허술하면 노이즈만 늘어납니다.

여기서도 인시던트 다락방이 기준점을 제공합니다. 이력을 바탕으로:

  • 임계값: 실제 인시던트와 상관이 있었던 값은 어느 수준이었는지
  • 지속 시간(duration): 메트릭이 얼마나 오래 나빠야 정말 의미가 있는지
  • 집계 수준(aggregation): 한 파드의 CPU만 보고 알림을 낼 것인지, 서비스 전체 95퍼센타일을 볼 것인지

실시간 모니터링은 필수지만, 이것만으로는 충분하지 않습니다. 반드시 다음에 의해 안내되어야 합니다:

  • SLO 및 비즈니스 우선순위
  • 과거 인시던트 패턴
  • 이를 알림 규칙(alerting rule)로 녹여낸 인간의 판단

카오스 엔지니어링 & 블레임리스 포스트모템: 고통을 정교함으로 바꾸기

시그널 다락방은 학습하려는 태도 를 가질 때 가장 의미 있게 성장합니다.

이를 받쳐주는 두 가지 강력한 실천이 있습니다.

카오스 엔지니어링(Chaos Engineering)

Chaos Mesh, Gremlin, 자체 스크립트 같은 도구로 의도적으로 장애를 주입하면:

  • 시스템과 알림이 스트레스 상황에서 어떻게 반응하는지 실전처럼 검증하고
  • 명백한 임팩트가 있는데도 알림이 전혀 울리지 않는 블라인드 스팟 을 찾아내고
  • 어떤 알림이 실행 가능(actionable) 하고, 어떤 알림이 그냥 노이즈인지 검증할 수 있습니다.

카오스 실험에서 나온 결과는 항상 다락방과 알림 규칙에 되먹임(feedback) 되어야 합니다.

블레임리스 포스트모템(Blameless Postmortem)

의미 있는 인시던트가 있을 때마다, 블레임리스(blameless) 한 포스트모템을 진행해 다음에 집중합니다:

  • 무엇이 일어났고, 왜 그랬는지 (개인을 탓하지 않고)
  • 어떤 알림이 울렸는지, 혹은 울리지 않았는지
  • 어느 알림이 도움 되었고, 어느 알림이 방해가 되었는지
  • 어떤 자동화·컨텍스트가 있었으면 토일(toil)을 줄일 수 있었는지

각 포스트모템에서 최소한 다음을 뽑아냅니다:

  • 한두 개의 알림 변경 사항
  • 한두 개의 런북 또는 자동화 개선 사항

이 사이클을 반복하다 보면, 인시던트 다락방은 단순한 “과거 문제의 묘지” 가 아니라, 끊임없이 다듬어지는 살아 있는 지식 기반(living knowledge base) 이 됩니다.


결론: 페이저를 숭배하지 말고, 다락방을 큐레이션하라

알림 시스템의 가치는 “이론상 탐지 가능한 문제의 개수” 가 아니라, 실제로 얼마나 잘 다음을 해내느냐로 평가됩니다:

  • 사용자를 보호하고
  • 엔지니어를 보호하며
  • 조직이 학습하도록 돕는 것

종이 인시던트 스토리 시그널 다락방 은 일종의 사고방식입니다.

  • 진짜 인시던트를 단순한 그래프용 메트릭이 아니라, 기록해야 할 이야기 로 다루고
  • 그 이야기들을 차곡차곡 쌓아 패턴이 드러나게 만들고
  • 그 패턴을 기준으로 어떤 알림은 남기고, 어떤 알림은 없애고, 어떤 것은 자동화할지 결정하는 것.

이 접근법을 채택하면, 알림 시스템은 더 이상 시끄럽고 지치게만 하는 인터럽트 스트림이 아니라, 잘 정돈된 시그널 중심 시스템 으로 진화합니다. 그 시스템은:

  • 진짜로 중요한 것만 떠올려 주고
  • 빠르고 자신감 있는 대응을 돕고
  • 모든 인시던트를 “더 나아지기 위한 기회” 로 바꾸어 줍니다.

작게 시작해 보세요. 앞으로 한 달 동안, 온콜 엔지니어가 “진짜 인시던트 같았다” 고 느낀 사건마다 짧은 이야기 하나만 손으로 적어 보게 하세요. 몇 주 뒤, 새로 만든 이 “다락방”을 열어보면, 진짜 패턴들이 얼마나 선명하게 드러나는지 깜짝 놀랄 수도 있습니다.

종이 인시던트 스토리 ‘시그널 다락방’: 손으로 쓴 알림을 쌓아 진짜 패턴을 드러내기 | Rain Lag