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

알림 규칙

원문 보기 위키 갱신

알림 규칙 (Notification Rules)

모니터 알림 규칙(monitor notification rules)은 태그와 규칙 로직을 기반으로 팀에 경보를 알리는 과정을 자동화하는 미리 정의된 조건 집합이에요. 모든 모니터마다 수신자를 개별적으로 구성하는 대신, 알림 규칙은 한 번 정의하면 알림 태그셋(tagset)이 규칙의 범위와 일치하는 모든 모니터 알림을 자동으로 라우팅해줘요.

{% alert level="info" %} 조직당 기본 규칙 수 제한은 1000개예요. {% /alert %}

출처: 문서

본문

설정 (Setup)

{% alert level="danger" %} 규칙을 만들려면 monitor_config_policy_write 권한이 있어야 해요. {% /alert %}

Datadog에서 Monitor Notification Rule을 만들려면 다음을 수행하세요:

  1. Notification Rules로 이동해요.
  2. New Rule을 클릭해요.
  3. 범위를 구성해요: 모니터 알림이 이 규칙으로 라우팅되기 위해 필요한 태그를 정의해요.
  4. 라우팅과 수신자를 구성해요: 알림을 라우팅할 방법을 선택하고 수신자를 지정해요.
  5. 명확하고 식별 가능한 규칙 이름을 추가해요.

범위 구성하기 (Configure the scope)

모니터 알림이 이 규칙으로 라우팅되기 위해 필요한 태그를 추가해요. 매칭은 알림 태그셋을 평가해요. 자세한 내용은 How matching works(매칭이 작동하는 방식)에서 확인하세요.

{% alert level="info" %} 알림 규칙이 저장된 후 생성되거나 업데이트된 모니터는 규칙의 범위와 일치하면 정의된 수신자로 라우팅돼요. {% /alert %}

{% collapsible-section %}

규칙 범위 구문 (Rule scope syntax)

Notification Rule 범위 쿼리는 불리언 로직을 지원하며, 다른 많은 플랫폼 제품이 지원하는 이벤트 기반 검색 구문 (event-based search syntax)을 따르지고 해요.

구문 요소 (Syntax Element) 설명 (Description)
불리언 연산자 (Boolean operators) 지원: AND, OR, NOT. 암시적 연산자: AND
와일드카드 (Wildcards) key:*만 지원돼요(예: env:*). env:prod-* 같은 부분 와일드카드는 지원되지 않아요. key:*는 키가 알림 태그셋 어디에든 존재하면 매칭돼요.
같은 키의 여러 값 (Multiple values for the same key) env:(prod OR staging) 또는 env:prod OR env:staging을 사용해요.
따옴표 (Quoting) 공백이나 특수 문자가 포함된 값은 따옴표로 감싸요. 예: team:"data platform".

{% /collapsible-section %}

{% collapsible-section %}

범위 예시 (Scope examples)
알림 규칙 범위 (Notification Rule scope) 설명 (Explanation)
service:web-store web-store 서비스에 대한 모든 알림을 라우팅해요.
service:web-store AND env:prod prod 환경에서 실행 중인 web-store 서비스에 대한 모든 알림을 라우팅해요.
service:webstore AND NOT env:staging staging 환경에서 실행되지 않는 web-store 서비스에 대한 모든 알림을 라우팅해요.
env:* env:<value> 태그(모니터 태그 또는 그룹에서)를 가진 모든 알림을 라우팅해요.

{% /collapsible-section %}

{% collapsible-section %}

규칙 범위 제한 (Rule scope limitations)

다음은 지원되지 않아요:

  • 키 없는 태그(keyless tags). 예: prod AND service:(A or B) 또는 prod는 지원되지 않아요. 태그에는 키가 있어야 해요. 이 경우 예를 들어 env:prod처럼요.

  • 부분 와일드카드(service:web-*)와 물음표 와일드카드(service:auth?)는 지원되지 않아요. 와일드카드는 service:*처럼 단독으로만 사용할 수 있어요.

  • 범위 길이는 최대 3000자예요.

{% /collapsible-section %}

라우팅과 수신자 구성하기 (Configure the routing and recipients)

모니터 경보가 규칙의 범위와 일치할 때 알림을 라우팅할 방법을 선택해요. 수신자를 수동으로 지정하거나, 동적 라우팅(dynamic routing)을 사용해 팀과 서비스 구성에서 수신자를 자동으로 결정할 수 있어요.

수동 라우팅 (Manual routing)

모니터 알림이 규칙의 범위와 일치할 때 알릴 수신자를 지정해요. 항상 모든 수신자에게 알리거나, 특정 조건이 충족될 때만 알리는 조건부 수신자를 설정할 수 있어요(예: 중요 경보는 on-call 수신자에게 라우팅하고, 경고(warning)는 Slack 채널로 보내기). 조건은 모니터 상태 또는 태그를 기반으로 할 수 있어요:

  • 상태 기반 조건 (Status-based conditions): 모니터가 특정 상태(Alert, OK, Warn, 또는 No data)로 전환될 때 수신자에게 알려요.
  • 태그 기반 조건 (Tag-based conditions): 특정 태그 키가 주어진 값을 가질 때(예: env:prod) 수신자에게 알려요. 각 조건은 하나의 태그 키만 지원해요.

알림은 이메일 또는 모든 통합 채널로 보낼 수 있어요. 규칙당 알림 수신자는 50개로 제한돼요. 자세한 내용은 알림 (Notifications)을 참고하세요.

동적 라우팅 (Dynamic routing)

{% alert level="danger" %} 동적 라우팅은 Preview(미리보기) 상태예요. 접근을 요청하려면 Datadog 계정 팀에 연락하거나 Datadog Support에 문의하세요. {% /alert %}

동적 라우팅은 기존 Teams 및 Catalog 구성에 따라 모니터 경보를 올바른 팀으로 자동으로 라우팅해요. 정적 수신자 목록을 유지하는 대신, 동적 라우팅은 경보 모니터의 service 또는 team 태그를 사용해 알림을 보낼 위치를 결정해요.

구성 (Configuration) 설명 (Description) 요구사항 (Requirements)
Service-based(서비스 기반) 모니터의 service 태그 또는 그룹 태그를 확인하고, Catalog에서 해당 서비스를 관리하는 팀을 찾은 다음, 그 팀의 구성된 알림 채널로 경보를 보내요. 서비스에 Catalog에서 팀이 할당되어 있어야 해요. 팀이 할당되지 않으면 경보는 폴백(fallback) 수신자로 이동해요.
Team-based(팀 기반) 모니터의 team 태그 또는 그룹 태그를 직접 확인한 다음, 그 팀의 구성된 알림 채널로 경보를 보내요. 모니터에 team 태그가 있어야 해요.
Fallback(폴백) 라우팅을 해결할 수 없으면(예: 서비스에 팀이 할당되지 않았거나 팀에 알림 채널이 구성되지 않은 경우) 경보는 폴백 수신자로 이동해요. 폴백 수신자는 수동 라우팅 수신자와 동일하게 동작해요. 모든 동적 라우팅 규칙에 필수예요.

Service-based와 Team-based 라우팅 모두 Slack, 이메일, PagerDuty, Microsoft Teams를 지원해요. 팀은 Teams 설정에서 알림 채널을 구성할 수 있어요.

알림 규칙 관리하기 (Managing notification rules)

모니터 설정에서 (From Monitor Settings)

{% image source="https://docs.dd-static.net/images/monitors/notifications/notification_rules/notification_rules_table.53b67d9cf18528a076ffcaff24644c80.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/monitors/notifications/notification_rules/notification_rules_table.53b67d9cf18528a076ffcaff24644c80.png?auto=format&fit=max&w=850&dpr=2 2x" alt="List of notification rules in Monitor Settings" /%}

Monitor Notification Rules 페이지는 다음 열과 함께 모든 알림 규칙의 테이블을 표시해요:

  • Name: 알림 규칙 이름
  • Scope: 이 규칙이 적용되는 시점을 정의하는 태그 조합을 표시해요(예: team:shopist service:web-store env:prod).
  • Team: 이 알림 규칙과 연결된 팀을 나열해요(범위에 팀 태그가 추가된 경우에만 사용 가능)
  • Coverage: 이 규칙의 범위와 일치하는 모니터 수를 표시해요. 규칙 범위를 확인하고 조정이 필요한 규칙을 식별하는 데 사용해요.
  • Notifies: 이 규칙이 일치할 때 경보를 받을 알림 채널(예: Slack 또는 이메일)을 나열해요.

또한 알림 규칙의 세로 점 3개 메뉴를 클릭해 Edit 또는 Delete할 수 있어요.

개별 모니터에서 (From an individual monitor)

모니터 구성에서 Recipient Summary는 일치하는 알림 규칙으로 모니터에 적용된 수신자를 보여줘요. Monitor 편집 페이지에서는 새 그룹이 보고될 때(멀티 알림 모니터) 일치 할 수 있는 규칙도 볼 수 있어요. Monitor 상태 페이지에서는 일치하는 규칙을 보여줘요.

{% image source="https://docs.dd-static.net/images/monitors/notifications/notification_rules/monitor_matching_notification_rule.51e895045b42f612d7bb5432aaf7845c.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/monitors/notifications/notification_rules/monitor_matching_notification_rule.51e895045b42f612d7bb5432aaf7845c.png?auto=format&fit=max&w=850&dpr=2 2x" alt="Recipient summary field showing the notification recipients applied by notification rules" /%}

매칭이 작동하는 방식 (How matching works)

  • 알림 태그셋은 모니터 태그와(멀티 알림 모니터의 경우) 트리거된 그룹의 태그의 합집합이에요. 키가 모니터/그룹에 걸쳐 여러 값을 가지면 모든 값이 고려돼요.
  • 현재 일치(Currently matches): 모니터 태그와 결합된 보고 그룹이 적어도 하나 이상 범위를 충족하거나, 또는 모니터 태그만으로 충족하면 규칙이 일치해요. NOT은 후보 태그셋별로 평가되므로 거부된 값을 가진 그룹은 일치하지 않아요.
  • 새 그룹이 보고될 때 일치 가능(Could match when new groups report)(멀티 알림 모니터, Monitor 편집 화면): 각 그룹별 키를 모니터 쿼리의 allow/deny 필터로 제약된 임의의 값과 함께 존재하는 것으로 간주해요.
  • 단일 알림에 여러 규칙이 일치하면 모든 일치 규칙의 수신자가 병합되고 중복이 제거돼요.

{% image source="https://docs.dd-static.net/images/monitors/notifications/notification_rules/diagram_notification-rules.648446529fa45346c6cc05eb7ba9d31e.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/monitors/notifications/notification_rules/diagram_notification-rules.648446529fa45346c6cc05eb7ba9d31e.png?auto=format&fit=max&w=850&dpr=2 2x" alt="Flowchart showing how Monitor notification rules match tags, combine recipients from monitors and rules, and remove duplicates before sending alerts" /%}

{% collapsible-section %}

예시: 알림 규칙 매칭 (Example: Notification Rule Matching)

다음 테이블은 서로 다른 태그 조합을 가진 모니터가 알림 규칙과 매칭되고 결과 알림이 생성되는 방식을 보여줘요. 이 테이블은 다음을 보여줘요:

  1. 여러 알림 규칙이 태그를 기반으로 단일 모니터 알림과 매칭될 수 있음.
  2. 규칙 내 여러 태그에 대해 AND 로직이 작동함.
  3. 모든 일치 알림 규칙이 최종 알림 목록에 수신자를 기여함.
  4. 수신자가 최종 알림 목록에서 중복 제거됨.
알림 규칙 (Notification Rules)
team:shopist, service:web-store
모니터 경보 태그와 알림 (MONITOR ALERT TAGS AND NOTIFICATIONS)
team:shopist, service:web-store @[email protected]
team:shopist
service:web-store
service:web-store, env:prod
service:web-store, env:dev
team:shopist and service:web-store, env:prod @slack-service1 @jira-project @[email protected]

{% /collapsible-section %}

더 알아보기 (Learn more)