본문 바로가기
WIKI 기술 지식 베이스

경보 집계

원문 보기 위키 갱신

경보 집계 (Alert aggregation)

시스템 상태와 성능을 보장하려면 시기적절하고 실행 가능한 알림이 필요해요. 하지만 효과적인 경보는 타이밍뿐 아니라 생성되는 경보의 개수에도 좌우돼요. 경보 집계(alert aggregation)는 이 균형을 관리하는 데 핵심적인 요소예요.

예를 들어 이커머스 사이트를 운영하는데 문제가 발생한다면, 요약된 경보 하나가 좋을까요, 아니면 실패의 각 측면을 상세히 기술하는 여러 개의 개별 경보가 좋을까요? 정답은 시스템 아키텍처, 문제의 성격, 팀의 작업 방식에 따라 달라져요. 경보 집계를 이해하면 팀이 과도한 알림 없이도 문제를 인지하도록 할 수 있어요.

이 가이드에서는 다양한 시나리오에 맞는 경보 집계 기능과 전략을 살펴볼게요.

출처: 문서

본문

경보 집계의 유형 (Types of alert aggregation)

기본적으로 Datadog는 모니터링하는 각 그룹에 대해 경보를 하나씩 보내요. 하지만 임계값을 위반한 모니터링 그룹이 몇 개든, 단일 알림 하나만 받도록 선택할 수도 있어요.

이런 예를 생각해볼게요. 여러 속성으로 그룹화된 모니터 쿼리가 있는데, 이 경우 쿼리는 topic과 partition으로 그룹화되어 있어요.

{% image source="https://docs.dd-static.net/images/monitors/guide/alert_aggregation/monitor_query_multi_alert.5cf38ba17e8fcd3bc3c264f60263fb34.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/monitors/guide/alert_aggregation/monitor_query_multi_alert.5cf38ba17e8fcd3bc3c264f60263fb34.png?auto=format&fit=max&w=850&dpr=2 2x" alt="Example monitor query grouped by topic and partition" /%}

Simple alert (단순 경보)

Simple alert 모니터는 경보를 하나의 고유한 알림으로 집계해요.

{% image source="https://docs.dd-static.net/images/monitors/guide/alert_aggregation/simple_alert_notification.3c40a9e04eaa46a0886b79704aee4720.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/monitors/guide/alert_aggregation/simple_alert_notification.3c40a9e04eaa46a0886b79704aee4720.png?auto=format&fit=max&w=850&dpr=2 2x" alt="Notification configuration for a simple alert monitor" /%}

예제를 보면 어떤 topic이나 partition이 임계값을 위반하든 모니터는 단일 경보 하나만 보내요. 모든 알림이 하나의 경보로 집계되는 거예요.

자세한 내용은 모니터 구성 - Simple alert 문서를 참고해요.

Multi alert (다중 경보)

Multi alert 모니터는 그룹의 각 고유한 조합에 대해 알림을 하나씩 보내요.

{% image source="https://docs.dd-static.net/images/monitors/guide/alert_aggregation/multi_alert_notification.8f06b430b748aff4106c4ab0971af34d.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/monitors/guide/alert_aggregation/multi_alert_notification.8f06b430b748aff4106c4ab0971af34d.png?auto=format&fit=max&w=850&dpr=2 2x" alt="Notification configuration for a multi alert monitor" /%}

예제에서 모니터는 topic과 partition의 조합이 임계값을 위반할 때마다 알림을 하나씩 보내요. Multi alert 모니터에서는 변수(variables)를 사용하면 알림을 더 세밀하게 만들 수 있어요. 경보를 발생시킨 특정 그룹에 맞춰 메시지를 커스터마이즈하는 데 도움이 되지요.

자세한 내용은 모니터 구성 - Multi alert 문서를 참고해요.

사용 사례 (Use cases)

{% collapsible-section %}

Simple Alert

시나리오 (Scenario)

Kafka 기반 로깅 시스템을 error-logs와 user-events로 그룹화해 모니터링하고 있다고 해볼게요. 어떤 파티션에서든 메시지 랙(lag)이 500을 초과하면 알려줬으면 하는데, 여러 파티션이 랙 상태여도 경보를 여러 개 받을 필요는 없어요.

집계의 이점 (Benefits of aggregation)

Simple alert는 과도한 알림을 원하지 않지만 문제 발생 시 조치는 취해야 하는 팀에게 유용해요. 다만 여러 파티션이 랙 상태라면 단일 알림 하나에서 영향을 받는 모든 파티션을 볼 수 없을 수도 있어요. {% /collapsible-section %}

{% collapsible-section %}

Multi Alert

Multi alert는 서비스를 여러 팀이 소유할 때(각 팀이 전담 컴포넌트를 책임질 때) 아주 유용해요. 문제를 일으키는 컴포넌트에 따라 다른 팀에 알려야 할 수 있기 때문이에요.

시나리오 (Scenario)

이커머스 주문 처리 시스템을 운영하는데, 메시지가 "order-events" 토픽으로 전송되고 있다고 해볼게요.

집계의 이점 (Benefits of aggregation)

여러 파티션이 랙 상태라면(예를 들어 파티션 1과 파티션 3) 별도의 경보가 필요해요. 서로 다른 파티션이 다른 유형의 주문(예: 국내 vs. 국제)에 대응할 수 있기 때문이에요.

이런 수준의 상세 정보 덕분에 엔지니어가 빠르고 정밀하게 대응할 수 있어요. {% /collapsible-section %}

API로 이렇게 하기 (How to do this with the API)

API로 모니터를 관리한다면 notify_by 변수를 사용해 모니터를 Simple alert 또는 Multi alert로 만들 수 있어요.

경보 유형 (Type of Alert) 구성 예시 (Configuration Example)
Simple Alert "notify_by": ["*"]
Multi Alert "notify_by": [<group>], 예를 들어 "notify_by": ["topic"]

자세한 내용은 API 문서를 참고해요.

더 알아보기 (Learn more)