> ## Documentation Index
> Fetch the complete documentation index at: https://docs.platform.nora.my/llms.txt
> Use this file to discover all available pages before exploring further.

# 알림 룰

> 무엇이 알림 트리거 — 임계값·패턴·이벤트.

**알림 룰** 이 이벤트나 조건을 알림 채널에 연결. 무엇이 트리거할지 설정, 필터 추가, 목적지 선택.

## 룰 구조

* **Trigger** — 이벤트나 조건.
* **Filter** — 특정 Flow·테넌트·비용 임계값 등으로 좁힘.
* **Channel** — 알림 가는 곳 ([채널](/ko/settings/notifications/channels) 참고).
* **Template** — 메시지 본문 커스터마이즈.
* **Rate limit** — 단위 시간당 알림 캡 (홍수 방지).

## Trigger 타입

### 이벤트 트리거

이산 이벤트에 발화:

* **Flow publish** — 새 버전 배포됨.
* **Flow rollback** — 롤백 일어남 (보통 고우선순위).
* **자동 롤백** — 자동 롤백 트리거됨 (거의 응급).
* **승인 요청** — 새 승인 대기.
* **승인 결정** — 승인이 승인되거나 거부됨.
* **시크릿 로테이션** — 커넥터나 provider 키 로테이션.
* **멤버 역할 변경** — 접근 변경.
* **개선 배포** — 개선 출시됨.

### 임계값 트리거

지표가 윈도우에 걸쳐 지속적으로 임계값 넘을 때 발화:

* **시그널률** — 시간당 시그널 임계값 이상.
* **에러율** — 시간당 트레이스 에러 임계값 이상.
* **판정률** — NOT\_SUPPORT 률 임계값 초과.
* **실행당 비용** — 평균 비용 임계값 초과.
* **일일 비용** — 총 일일 비용 예산 초과.
* **지연 p95** — p95 지연 임계값 이상.
* **리트리벌 히트율** — 0 히트 리트리벌 비율.

임계값 트리거가 지속 크로싱 요구 (예: "15분간 X 이상"). 단일 스파이크 오탐 방지.

### 패턴 트리거

Nora 가 감지하는 특정 패턴에 발화:

* **회귀** — 고쳐진 클러스터 재출현.
* **새 클러스터** — 5+ 시그널로 새 시그널 클러스터 형성.
* **지속 클러스터 성장** — 기존 클러스터가 하루에 10+ 시그널 얻음.

### 침묵 트리거

일어나야 할 것이 안 일어날 때 발화:

* **놓친 스케줄** — 스케줄 Trigger 가 발화 안 함.
* **트레이스 없음** — Flow 가 N 시간 실행 못 받음 (상류 깨짐?).
* **피드백 침묵** — 활성 실행 있는 Flow 에 N 일간 피드백 제출 없음 (QA 리뷰 중?).

## 룰 추가

**Settings → Notifications → Alerts → New**:

1. Trigger 타입 선택.
2. Trigger 세부 설정.
3. 필터 추가 (Flow, 테넌트, 비용 버킷 등).
4. 채널 선택.
5. 요율 제한 설정 (기본은 룰당 5분에 1 알림).
6. 저장.

룰이 기본 활성. 삭제 없이 비활성 토글.

## 필터

모든 룰이 필터 수용:

* **Flow** — 특정 Flow slug 또는 "어느 Flow 든".
* **Version** — 특정 배포 버전.
* **Tenant** — 특정 테넌트 (멀티테넌트 워크로드).
* **환경** — Prod / Staging / Dev (워크스페이스 태그 통해).
* **Feature** — 트레이스의 커스텀 기능 플래그.

필터가 AND 시맨틱으로 결합.

## 템플릿

기본 템플릿은 합리적. 원할 때 커스터마이즈:

* 특정 포맷 (티켓팅 시스템의 기대 입력 매치).
* 추가 컨텍스트 (트레이스 링크, 감사 항목 링크).
* 지역화 언어.

템플릿 변수는 액터, 타겟, 액션 특화 필드, 워크스페이스 URL 포함.

## 요율 제한

모든 룰이 요율 제한 가짐. 기본: 룰당 5분에 1 알림.

* 플래핑 임계값이 Slack 스팸하는 것 방지.
* 클러스터 이벤트를 단일 "지난 5분 5 이벤트" 요약으로 그룹화.

실제 응급 트리거 (자동 롤백, 크리티컬 에러율) 만 요율 제한 끄기.

## 묵음

어느 룰이든 일시 묵음 가능:

* **1시간 묵음** — 계획된 배포나 조사 중.
* **무기한 묵음** — 룰이 과잉 발화하고 리뷰 필요할 때. 묵음 해제되거나 룰 삭제 후 알림 재개.

## 룰 의존성

복잡한 플로우는 룰 체인:

* **룰 A 발화 시 룰 B 를 30분 묵음** — 알림 스톰 방지.
* **룰 A 발화하고 15분 미확인이면 룰 C 로 에스컬레이션** — Slack 이 무시되면 온콜 페이지.

**Rule → Dependencies** 에서 설정.

## 테스트

모든 룰이 **Test** 버튼 가짐. 전체 파이프라인 (필터 + 템플릿 + 채널) 을 통해 가짜 이벤트 발화, 실제 트리거 기다림 없이 엔드투엔드 배선 검증 가능.

## 흔한 알림 패턴

### 기본 운영

```
Rule: 자동 롤백
Trigger: auto_rollback_fired
Channel: PagerDuty (nora-oncall)
Rate limit: 없음
```

```
Rule: 배포 알림
Trigger: flow_publish
Filter: 어느 Flow 든
Channel: Slack (#nora-deploys)
Rate limit: 1/5분
```

```
Rule: 승인 요청
Trigger: approval_requested
Filter: 어느 Flow 든
Channel: Slack (#nora-approvals)
Template: Approve / Reject 버튼 있는 Slack 카드
Rate limit: 없음
```

### 품질 임계값

```
Rule: NOT_SUPPORT 스파이크
Trigger: verdict_rate > 5%
Window: 30분
Filter: Flow = support-agent
Channel: Slack (#support-oncall)
Rate limit: 1/시간
```

```
Rule: 실행당 비용 높음
Trigger: cost_per_run avg > $0.20
Window: 1시간
Filter: 어느 Flow 든
Channel: 이메일 (finance@)
Rate limit: 1/일
```

### 회귀

```
Rule: 회귀
Trigger: regression_detected
Filter: 어느 Flow 든
Channel: Slack (#nora-alerts) + PagerDuty
Rate limit: 없음
```

회귀는 고우선순위 — 두 채널과 요율 제한 없음 가치.

## 감사

모든 알림 룰 변경 (생성, 편집, 묵음, 삭제) 감사됨.

## 관련

* [채널](/ko/settings/notifications/channels) — 알림 가는 곳.
* [회귀](/ko/reliable/signals/regressions) — 이전 고친 이슈의 패턴 트리거.
* [비용·지연](/ko/reliable/traces/cost) — 임계값 트리거 뒤의 지표.
* [승인·배포](/ko/reliable/optimization/approve) — 승인 워크플로우.
