빅데이터 QAQC_3기/빅데이터 QAQC_3기 TIL

TIL_260130

usungusung 2026. 1. 30. 21:25

n8n 자동화 알람 시스템 설계

should_alert 기준으로 IF 조건 통일하기

  • n8n의 IF 노드에 복잡한 조건을 직접 넣기 시작하면
    • 조건이 늘어날수록 가독성이 급격히 떨어지고
    • 나중에 “왜 이 알람이 울렸지?”를 추적하기가 힘들어진다.
  • 그래서 모든 판단은 Code(Set) 노드에서 should_alert: true / false 하나로 결정한다.
  • IF 노드는 오직 이것만 본다.
  •  
    IF $json.should_alert === true

이 구조의 장점:

  • IF 노드가 언제나 동일해서 워크플로우가 읽기 쉬움
  • 알람 조건이 바뀌어도 한 노드만 수정하면 됨
  • 알람이 발생한 이유를 alert_reason 같은 필드로 같이 남길 수 있음

2️⃣ 알람은 “결과”, 판단은 “계산”

  • HTTP Request / DB 조회 → 판단 로직(Code 노드) → IF → 알림(Slack/Email)
  • 알림은 결과일 뿐이고, 핵심 로직은 should_alert를 만드는 단계에 집중한다.

 

 

MTBFA(Mean Time Between False Alerts) 개념

알람 시스템을 만들면서 MTBFA 개념도 같이 정리하게 됐다.

MTBFA란?

  • Mean Time Between False Alerts
  • “거짓 알람이 얼마나 자주 발생하는가”를 나타내는 지표
  • 값이 클수록 → 알람 시스템의 신뢰도가 높다

왜 MTBFA가 중요한가?

  • 알람이 너무 자주 울리면:
    • 사람은 알람을 무시하게 되고
    • 실제 장애가 와도 대응이 늦어진다 (알람 피로)
  • 결국 중요한 건
  • 알람을 많이 보내는 것보다, 꼭 필요한 알람만 보내는 것

n8n 설계와 MTBFA의 연결

  • should_alert 패턴을 쓰면:
    • 중복 알람 방지
    • 상태 변화(UP → DOWN) 기준 알림
    • 쿨다운 시간 적용
      같은 로직을 한 곳에서 제어할 수 있다.
  • 이는 곧 불필요한 알람을 줄이고 MTBFA를 늘리는 방향의 설계다.

'빅데이터 QAQC_3기 > 빅데이터 QAQC_3기 TIL' 카테고리의 다른 글

TIL_260203  (0) 2026.02.03
TIL_260202  (0) 2026.02.02
TIL_260126  (0) 2026.01.26
TIL_260119  (0) 2026.01.19
TIL_260116  (0) 2026.01.16