알림
최종 수정: 2026. 1. 16.
알림
알림을 설정하고 관리하는 방법을 안내합니다.
개요
알림 기능을 통해 시스템 이상 상황을 즉시 감지하고 적절한 조치를 취할 수 있습니다.
알림 유형
| 유형 | 설명 |
|---|---|
| 메트릭 알림 | 메트릭 임계값 기반 알림 |
| 로그 알림 | 로그 패턴 기반 알림 |
| 트레이스 알림 | 지연시간, 에러 기반 알림 |
| 이상 탐지 | 자동 이상 패턴 감지 |
알림 접근
- 좌측 메뉴에서 Alerts 클릭
- 알림 관리 화면이 표시됩니다
화면 구성
- Alert Rules: 알림 규칙 목록
- Triggered Alerts: 발생한 알림 목록
- Notification Channels: 알림 채널 설정
알림 규칙 생성
Step 1: 새 규칙 생성
- + New Alert Rule 클릭
- 규칙 이름 입력 (예: "High CPU Usage")
Step 2: 쿼리 작성
메트릭 알림:
avg(system_cpu_utilization{k8s_cluster_name="production"}) > 80로그 알림:
severity_text:ERROR AND k8s.namespace.name:productionStep 3: 조건 설정
| 설정 | 설명 |
|---|---|
| Threshold | 임계값 (예: > 80) |
| Duration | 지속 시간 (예: 5분) |
| Evaluation Interval | 평가 주기 (예: 1분) |
Step 4: 알림 채널 선택
발생한 알림을 전송할 채널 선택:
- Slack
Step 5: 저장
Save 클릭하여 규칙 활성화
알림 채널 설정
Slack
- Notification Channels > + Add Channel
- Type: Slack 선택
- Webhook URL 입력
- 테스트 후 저장
Slack Webhook 생성:
- Slack 앱 관리 페이지 접근
- Incoming Webhooks 활성화
- 채널 선택 후 Webhook URL 복사
- Type: Email 선택
- Recipients 입력 (쉼표로 구분)
- SMTP 설정 확인
- 저장
알림 규칙 예시
인프라 알림
CPU 사용률 높음:
avg by (k8s_node_name) (system_cpu_utilization) > 80- 지속 시간: 5분
- 심각도: Warning
메모리 사용률 높음:
avg by (k8s_node_name) (system_memory_utilization) > 85- 지속 시간: 5분
- 심각도: Critical
디스크 사용률 높음:
(1 - (system_filesystem_usage{state="free"} / system_filesystem_usage{state="total"})) * 100 > 90- 지속 시간: 10분
- 심각도: Critical
노드 NotReady:
kube_node_status_condition{condition="Ready", status="true"} == 0- 지속 시간: 2분
- 심각도: Critical
애플리케이션 알림
에러율 높음:
sum(rate(http_server_errors_total[5m])) / sum(rate(http_server_request_total[5m])) * 100 > 5- 지속 시간: 3분
- 심각도: Critical
P99 지연시간 높음:
histogram_quantile(0.99, sum(rate(http_server_request_duration_seconds_bucket[5m])) by (le, service_name)) > 1- 지속 시간: 5분
- 심각도: Warning
요청률 급감:
sum(rate(http_server_request_total[5m])) < 10- 지속 시간: 5분
- 심각도: Warning
Kubernetes 알림
파드 재시작 많음:
increase(kube_pod_container_status_restarts_total[1h]) > 3- 지속 시간: 즉시
- 심각도: Warning
파드 Pending:
kube_pod_status_phase{phase="Pending"} > 0- 지속 시간: 5분
- 심각도: Warning
디플로이먼트 레플리카 부족:
kube_deployment_status_replicas_available < kube_deployment_spec_replicas- 지속 시간: 5분
- 심각도: Critical
로그 알림
에러 로그 급증:
조건: severity_text:ERROR
임계값: 5분 내 100개 이상특정 에러 패턴:
조건: body contains "OutOfMemory"
임계값: 1개 이상알림 상태
| 상태 | 설명 |
|---|---|
| OK | 정상 상태 |
| Pending | 조건 충족, 지속 시간 미달 |
| Firing | 알림 발생 |
| Resolved | 알림 해결됨 |
알림 라이프사이클
알림 그룹화
라벨 기반 그룹화
동일한 알림을 그룹화하여 노이즈 감소:
group_by:
- k8s_cluster_name
- k8s_namespace_name그룹 대기 시간
동일 그룹의 알림을 묶어서 전송:
- Group Wait: 30초 (첫 알림 후 대기)
- Group Interval: 5분 (이후 알림 간격)
알림 억제
Silencing
특정 기간 동안 알림 무음:
- Silences > + New Silence
- 매칭 조건 설정:
alertname = "HighCPU" k8s_cluster_name = "development" - 시작/종료 시간 설정
- 사유 입력
- Create 클릭
자동 억제
유지보수 기간 동안 알림 억제:
- 정기 배포 시간
- 예정된 다운타임
알림 히스토리
발생 알림 확인
Triggered Alerts 탭에서:
- 현재 발생 중인 알림
- 과거 알림 이력
- 알림별 상세 정보
필터링
- Status: Firing, Resolved
- Severity: Critical, Warning, Info
- Time Range: 시간 범위
문제 해결
알림이 발생하지 않음
- 규칙 상태 확인 (활성화 여부)
- 쿼리가 올바른지 확인
- 임계값 설정 확인
- 평가 주기 확인
알림이 전송되지 않음
- 알림 채널 설정 확인
- 테스트 메시지 전송
- 채널 연결 상태 확인
- 네트워크 설정 확인
알림 노이즈 많음
- 임계값 조정
- 지속 시간 늘리기
- 그룹화 설정
- Silencing 활용
모범 사례
알림 설계 원칙
- 실행 가능한 알림: 조치가 필요한 경우만 알림
- 적절한 임계값: 너무 민감하거나 둔감하지 않게
- 명확한 설명: 알림 내용이 명확하도록
- 적절한 심각도: Critical, Warning 구분
권장 설정
| 항목 | 권장 값 |
|---|---|
| 지속 시간 (인프라) | 5-10분 |
| 지속 시간 (애플리케이션) | 2-5분 |
| 평가 주기 | 1분 |
| 그룹 대기 | 30초-1분 |
다음 단계
- 대시보드 - 알림 대시보드 생성
- 메트릭 - 알림 쿼리 작성
- 로그 - 로그 기반 알림