알림
알림 (Notifications)
알림(notifications)은 팀에게 문제를 알리고 문제 해결을 지원하는 모니터의 핵심 구성 요소예요. 모니터를 만들 때 다음과 같은 대응(response)을 구성하세요:
- 실행 가능한(actionable) 메시지를 작성해요.
- 워크플로를 트리거하거나 모니터에서 워크플로를 만들어요.
- 작업 항목을 자동으로 생성해요.
- 인시던트를 자동으로 생성해요.
출처: 문서
본문
효과적인 제목과 메시지 구성하기 (Constructing effective titles and messages)
이 접근 방식은 모니터 제목과 메시지가 명확하고 실행 가능하며 대상의 필요에 맞게 조정되도록 도와줘요.
- 고유한 제목 (Unique titles): 모니터에 고유한 제목을 추가해요(필수). 멀티 알림 모니터의 경우 트리거 범위를 식별하는 일부 태그가 자동으로 삽입돼요. 태그 변수 (tag variables)를 사용해 특이성을 높일 수 있어요.
- 메시지 필드 (Message field): 메시지 필드는 표준 Markdown 형식과 변수 (variables)를 지원해요. 조건부 변수 (conditional variables)를 사용해 @notifications로 서로 다른 연락처에 전송되는 알림 텍스트를 조절할 수 있어요. 신서틱 템플릿 변수 (synthetics template variables)를 사용해 경보 메시지에 신서틱 실패 맥락을 풍부하게 추가할 수 있어요.
{% alert level="info" %} Markdown 형식 지원은 알림 방법에 따라 달라요. 일부 채널은 Markdown 구문의 일부만 지원해요.
- Slack 알림: 기본 형식(굵게, 기울임, 인라인 코드, 링크)을 지원해요. Markdown 헤더(예:
#,##)와 테이블은 렌더링되지 않고 일반 텍스트로 표시돼요. - 이메일 알림: 기본 형식(굵게, 기울임, 인라인 코드, 링크)을 지원해요. 테이블은 Markdown 테이블로 렌더링되지 않고 메시지 본문에서 일반 텍스트로 나타나요.
{% /alert %}
{% collapsible-section %}
예시 모니터 메시지
모니터 메시지의 일반적인 사용 사례는 문제를 해결하는 단계별 방법을 포함하는 것이에요. 예를 들어:
{{#is_alert}} <-- conditional variable
Steps to free up disk space on {{host.name}}: <-- tag variable
1. Remove unused packages
2. Clear APT cache
3. Uninstall unnecessary applications
4. Remove duplicate files
@slack-incident-response <-- channel to send notification
{{/is_alert}}
{% /collapsible-section %}
알림 수신자 (Notification recipients)
Datadog는 모니터 알림 규칙 (monitor notification rules)을 사용해 모니터 알림을 관리할 것을 권장해요. 알림 규칙을 사용하면 미리 정의된 조건 집합에 따라 어떤 알림 수신자가 모니터에 추가되는지 자동화할 수 있어요. 모니터 알림의 태그를 기준으로 경보를 라우팅하는 다양한 규칙을 만들어 각 모니터마다 수신자와 알림 라우팅 로직을 수동으로 설정하지 않아도 돼요.
알림 규칙과 개별 모니터 모두에서 @notification을 사용해 팀 구성원, 통합, 워크플로, 또는 작업 항목을 알림에 추가할 수 있어요. 입력하는 동안 Datadog가 기존 옵션을 드롭다운 메뉴로 자동 추천해요. 옵션을 클릭해 알림에 추가하면 돼요. 또는 @ Add Mention, Add Workflow, Add Case를 클릭할 수도 있어요.
@notification은 마지막 줄 문자와 사이에 공백이 있어야 해요:
| 올바른 형식 (Correct Format) | 잘못된 형식 (Incorrect Format) |
|---|---|
Disk space is low @[email protected] |
Disk space is low@[email protected] |
{% collapsible-section %}
통합 (Integrations)
@<INTEGRATION_NAME>-<VALUES> 형식을 사용해 연결된 통합을 통해 팀에 알릴 수 있어요.
이 테이블은 접두사와 예시 링크를 나열해요:
| 통합 (Integration) | 접두사 (Prefix) | 예시 (Examples) |
|---|---|---|
| Jira | @jira |
예시 (Examples) |
| PagerDuty | @pagerduty |
예시 (Examples) |
| Slack | @slack |
예시 (Examples) |
| Webhooks | @webhook |
예시 (Examples) |
| Microsoft Teams | @teams |
예시 (Examples) |
| ServiceNow | @servicenow |
예시 (Examples) |
괄호 ()가 포함된 핸들은 지원되지 않아요. 괄호가 있는 핸들을 사용하면 핸들이 파싱되지 않고 경보가 생성되지 않아요.
{% /collapsible-section %}
{% collapsible-section %}
팀 (Teams)
알림 채널이 설정되어 있다면 특정 팀으로 알림을 라우팅할 수 있어요. @team-handle을 대상으로 하는 모니터 경보는 선택한 커뮤니케이션 채널로 리디렉션돼요. 팀에 알림 채널을 설정하는 방법에 대한 자세한 내용은 Teams 문서를 참고하세요. {% /collapsible-section %}
{% collapsible-section %}
케이스 (Cases)
기준을 충족하는 새 보안 신호에 대한 케이스를 자동으로 만들 수 있어요. 기본적으로 Cases 섹션은 프로젝트 핸들 (project handles)이 있는 모든 프로젝트를 나열해요. View All을 클릭한 다음 **+**를 클릭해 기존 프로젝트에 핸들을 추가하고 수신자 목록에서 직접 자동 케이스 생성을 활성화하거나, 프로젝트 설정 (project settings)에 가서 프로젝트 핸들을 관리할 수 있어요. {% /collapsible-section %}
{% collapsible-section %}
이메일 (Email)
- 이메일로 활성 Datadog 사용자에게 알리려면
@<DD_USER_EMAIL_ADDRESS>를 사용해요. 중요한 알림(level: info): 보류 중인 Datadog 사용자 초대나 비활성화된 사용자와 연결된 이메일 주소는 비활성으로 간주되어 알림을 받지 못해요. 블록리스트, IP 또는 도메인 필터링, 스팸 필터링, 이메일 보안 도구도 알림 누락을 유발할 수 있어요. - 비 Datadog 사용자에게 이메일로 알리려면
@<EMAIL>을 사용해요.
{% alert level="info" %}
이메일 알림은 슬래시 /가 포함된 주소(예: @DevOpS/[email protected])를 지원하지 않아요.
{% /alert %}
{% /collapsible-section %}
Slack에서 알림 스레딩 (Threading notifications in Slack)
알림 규칙을 통해 Slack으로 보내는 모니터 알림은 스레드로 묶을 수 있어요. 스레딩이 활성화되면 주어진 경보 주기(alert cycle)의 모든 모니터 경보가 단일 Slack 스레드로 그룹화되고, 최상위 메시지가 모니터의 최신 상태를 반영해요. 모니터 스레딩을 활성화하려면 대상으로 삼을 모니터 경보에 범위가 지정된 알림 규칙을 설정하거나 편집하고, Thread Notifications를 선택하고 저장하면 돼요.
참고: 경보 주기(alert cycle)는 비복구 상태에서 시작해 복구 상태까지로 정의돼요.
모니터 @-핸들 대량 편집 (Bulk editing monitor @-handles)
Datadog는 여러 모니터의 경보 메시지 수신자를 한 번에 편집하는 것을 지원해요. 이 기능을 사용해 모니터 메시지 본문에서 @-handles를 효율적으로 추가, 제거, 또는 교체할 수 있어요. 사용 사례는 다음과 같아요:
- 핸들 교체 (Swap a handle): 여러 모니터에서 한 핸들을 다른 핸들로 교체해요. 예를 들어
@pagerduty-sre를@oncall-sre로 변경해요. 한 핸들을 여러 핸들로 교체할 수도 있어요. 예를 들어@pagerduty-sre를@pagerduty-sre와@oncall-sre둘 다로 교체해 이중 페이징(dual paging)이나 확장된 경보 범위를 지원할 수 있어요. - 핸들 추가 (Add a handle): 기존 핸들을 제거하지 않고 새 수신자를 추가해요. 예를 들어 선택한 모든 모니터에
@slack-infra-leads를 추가해요. - 핸들 제거 (Remove a handle): 모니터 메시지에서 특정 핸들을 제거해요. 예를 들어
@webhook-my-legacy-event-intake를 제거해요.
워크플로 (Workflows)
모니터에서 워크플로 자동화 (workflow automation)를 트리거하거나 새 워크플로를 만들 수 있어요.
모니터에 워크플로를 추가하기 전에 워크플로에 모니터 트리거를 추가하세요.
모니터 트리거를 추가한 후 모니터에 기존 워크플로를 추가하거나 새 워크플로를 만들어요. 모니터 페이지에서 새 워크플로를 만들려면:
- Add Workflow를 클릭해요.
- + 아이콘을 클릭하고 Blueprint를 선택하거나, Start From Scratch를 선택해요. {% image source="https://docs.dd-static.net/images/monitors/notifications/create-workflow.9f219b50ebc4cd78f582be1d9a8ee7dd.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/monitors/notifications/create-workflow.9f219b50ebc4cd78f582be1d9a8ee7dd.png?auto=format&fit=max&w=850&dpr=2 2x" alt="Click the + button to add a new workflow" /%}
워크플로 구축에 대한 자세한 내용은 워크플로 구축 (Build workflows)을 참고하세요.
인시던트 (Incidents)
모니터가 alert, warn, 또는 no data 상태로 전환될 때 모니터에서 인시던트를 자동으로 생성할 수 있어요. Add Incident를 클릭하고 @incident- 옵션을 선택하세요. 관리자는 Incident Settings에서 @incident- 옵션을 만들 수 있어요.
모니터에서 인시던트가 생성되면 인시던트의 필드 값 (field values)이 모니터의 태그를 기반으로 자동으로 채워져요. 예를 들어 모니터에 service:payments 태그가 있으면 인시던트의 service 필드가 "payments"로 설정돼요. 이런 인시던트에 대한 알림을 받으려면 모니터 태그가 인시던트 알림 규칙과 일치하는지 확인하세요. 참고: 인시던트 알림 규칙은 모니터 알림 규칙과 별도로 구성되며 독립적으로 설정해야 해요. 자세한 내용은 인시던트 알림 (Incident Notification)을 참고하세요.
추가 콘텐츠 토글 (Toggle additional content)
모니터 알림에는 모니터의 쿼리, 사용된 @-멘션, 메트릭 스냅샷(메트릭 모니터용), Datadog의 관련 페이지로 돌아가는 링크 같은 콘텐츠가 포함돼요. 개별 모니터의 알림에 어떤 콘텐츠를 포함하거나 제외할지 선택할 수 있어요.
{% alert level="danger" %}
백분위수 집계자(예: p50, p75, p95, p99)가 있는 분포 메트릭(Distribution metrics)은 알림에서 스냅샷 그래프를 생성하지 않아요.
{% /alert %}
{% image source="https://docs.dd-static.net/images/monitors/notifications/monitor_notification_presets.cf228e9bc10618631549c4acbcb87314.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/monitors/notifications/monitor_notification_presets.cf228e9bc10618631549c4acbcb87314.png?auto=format&fit=max&w=850&dpr=2 2x" alt="Set a monitor preset" /%}
옵션은 다음과 같아요:
- Default: 콘텐츠가 숨겨지지 않아요.
- Hide Query: 알림 메시지에서 모니터의 쿼리를 제거해요.
- Hide Handles: 알림 메시지에서 사용된 @-멘션을 제거해요.
- Hide All: 알림 메시지에 쿼리, 핸들, 스냅샷(메트릭 모니터용), 푸터의 추가 링크가 포함되지 않아요.
참고: 통합에 따라 일부 콘텐츠는 기본적으로 표시되지 않을 수 있어요.
재알림 (Renotify)
문제가 해결되지 않았음을 팀에게 상기시키려면 모니터 재알림(renotification)을 활성화하는 것이 좋아요(선택 사항).
{% image source="https://docs.dd-static.net/images/monitors/notifications/renotify_options.1852bca7f98758514d069ba51e982288.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/monitors/notifications/renotify_options.1852bca7f98758514d069ba51e982288.png?auto=format&fit=max&w=850&dpr=2 2x" alt="Enable renotify" /%}
재알림 간격, 모니터가 재알림을 보내는 모니터 상태(alert, no data, warn 중에서), 그리고 선택적으로 보내는 재알림 메시지 수의 제한을 구성해요.
예를 들어 모니터를 1 occurrence 발생 후 재알림 중단(stop renotifying after 1 occurrence)으로 구성하면 메인 경보 후 단일 에스컬레이션 메시지를 받을 수 있어요. 참고: 재알림의 속성 및 태그 변수 (Attribute and tag variables)는 재알림 기간 동안 모니터에서 사용할 수 있는 데이터로 채워져요.
재알림이 활성화되면, 모니터가 지정된 기간 동안 선택한 상태 중 하나로 유지되면 전송되는 에스컬레이션 메시지를 포함할 수 있는 옵션이 주어져요.
에스컬레이션 메시지는 다음 방법으로 추가할 수 있어요:
- 원래 알림 메시지의
{{#is_renotify}}블록 안에 추가(권장). - Configure notifications and automations 섹션의 Renotification message 필드에 추가.
- API의
escalation_message속성으로 추가.
{{#is_renotify}} 블록을 사용하면 원래 알림 메시지도 재알림에 포함되므로:
{{#is_renotify}}블록에는 추가 세부 정보만 포함하고 원래 메시지의 세부 내용은 반복하지 마세요.- 에스컬레이션 메시지를 그룹의 하위 집합으로 보내요.
이런 사용 사례에 맞게 모니터를 구성하는 방법은 예시 섹션 (example section)에서 배울 수 있어요.
메타데이터 (Metadata)
모니터에 메타데이터(Priority, Tags, Datadog Team)를 추가해요. Monitor Priority를 사용하면 P레벨(P1~P5)로 모니터의 중요도를 설정할 수 있어요. 모니터 태그(metric tags와 다름)는 UI에서 모니터를 그룹화하고 검색하는 데 사용돼요. 태그 정책이 구성되어 있다면 필수 태그와 태그 값을 추가해야 해요. 자세한 내용은 태그 정책 (Tag Policies)을 참고하세요. Datadog Teams를 사용하면 이 모니터에 소유권 계층을 설정하고 팀에 연결된 모든 모니터를 볼 수 있어요. 자세한 내용은 Datadog Teams를 참고하세요.
{% image source="https://docs.dd-static.net/images/monitors/notifications/notifications_metadata.ddfc69b4e95d1ca2d6b8231c264d3102.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/monitors/notifications/notifications_metadata.ddfc69b4e95d1ca2d6b8231c264d3102.png?auto=format&fit=max&w=850&dpr=2 2x" alt="View of policy tag configuration. Underneath 'Policy tags' are three example tags, cost_center, product_id, and env, next to a 'Select value' dropdown." /%}
{% collapsible-section %}
우선순위 (Priority)
모니터와 연결된 우선순위를 추가해요(선택 사항). 값은 P1부터 P5까지이며, P1이 가장 높은 우선순위이고 P5가 가장 낮아요. 알림 메시지에서 모니터 우선순위를 덮어쓰려면 Pi가 P1~P5 사이인 {{override_priority 'Pi'}}를 사용해요.
예를 들어 alert와 warning 알림에 다른 우선순위를 설정할 수 있어요:
{{#is_alert}}
{{override_priority 'P1'}}
...
{{/is_alert}}
{{#is_warning}}
{{override_priority 'P4'}}
...
{{/is_warning}}
{% /collapsible-section %}
집계 (Aggregation)
모니터의 쿼리가 그룹화되어 있다면 알림 그룹화에서 하나 이상의 차원을 제거하거나, 모두 제거하고 Simple Alert(단순 경보)로 알릴 수 있어요.
{% image source="https://docs.dd-static.net/images/monitors/notifications/notifications_aggregation.c5cabd2dd4afc478c8d9a6185139b8e1.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/monitors/notifications/notifications_aggregation.c5cabd2dd4afc478c8d9a6185139b8e1.png?auto=format&fit=max&w=850&dpr=2 2x" alt="View of aggregation configuration set to multi-alert." /%}
이 기능에 대한 자세한 내용은 모니터 구성 (Configure Monitors)에서 확인할 수 있어요.
알림 테스트 (Test notifications)
모니터를 정의한 후, 모니터 페이지 오른쪽 하단의 Test Notifications 버튼으로 알림을 테스트해요.
테스트 알림은 모니터 유형 (monitor types)인 host, metric, anomaly, outlier, forecast, logs, rum, apm, integration(check 전용), process(check 전용), network(check 전용), custom check, event, composite에 대해 지원돼요.
-
테스트 알림 팝업에서 테스트할 모니터 전환과 그룹을 선택해요(그룹은 쿼리에 그룹화가 있는 경우에만 사용 가능해요). 경보 조건의 임계값에 대해 모니터 구성에서 사용할 수 있는 상태만 테스트할 수 있어요. 복구 임계값 (Recovery thresholds)은 예외인데, 모니터가 더 이상 alert 상태가 아니거나 warn 조건이 없으면 Datadog가 복구 알림을 보내기 때문이에요.
{% image source="https://docs.dd-static.net/images/monitors/notifications/test_notification_modal.ae58decbf944c8b89818e277b8fa2a6b.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/monitors/notifications/test_notification_modal.ae58decbf944c8b89818e277b8fa2a6b.png?auto=format&fit=max&w=850&dpr=2 2x" alt="Test the notifications for this monitor" /%}
-
Run Test를 클릭해 모니터에 나열된 사람과 서비스에게 알림을 보내요.
이벤트 (Events)
테스트 알림은 이벤트 탐색기에서 검색할 수 있는 이벤트를 생성해요. 이 알림은 알림 제목에 [TEST]를 사용해 메시지 본문에서 테스트를 시작한 사람을 나타내요.
태그 변수는 Datadog 하위 이벤트의 텍스트에서만 채워져요. 상위 이벤트는 집계 요약만 표시해요.
변수 (Variables)
메시지 변수는 모니터 정의의 범위에 따라 무작위로 선택된 그룹으로 자동 채워져요. 예를 들어:
{{#is_alert}}
{{host.name}} <-- will populate
{{/is_alert}}