[Azure Monitor Alert을 이용한 복합 Alert 모니터링 및 AWS와 비교]
https://support.bespinglobal.com/a/solutions/articles/73000663828?lang=ko&portalId=73000054579
AWS에서 구현 할 수 있는 Composite Alert 의 구현은 Azure또는 Datadog에서도 구현 가능합니다.
Azure에도 유사한 기능이 있지만 접근 방식이 조금 다릅니다.
이 문서에서는 Azure와 AWS의 복합알람 구성의 차이점과 Azure VM 자원 모니터링에 대한 복합 알람을 구성하는 방법에 대해서 안내합니다.
Issue
알람 조건
조건 1: VM CPU 사용률 >= 80%
AND
조건 2: Available Memory <= 20%
→ 두 조건 모두 만족 시에만 알람 발생
알림 채널
- Email: 이메일 알림
- Teams/Webhook: 협업 도구 연동 (선택사항)
Solution
구현 방식
- Azure Metric Alert의 Multiple Conditions 기능 활용
- 단일 Alert Rule에 여러 조건 직접 추가
- AND 연산자 자동 적용
- 추가 리소스 없이 Native 기능만 사용
Azure vs AWS 접근 방식 비교
| Azure | AWS |
단일 Alert Rule 생성 ↓ Condition 1 추가 (CPU) + Condition 2 추가 (Memory) ↓ 자동으로 AND 연산 적용 ↓ Action Group으로 알림 발송 | 개별 알람 A 생성 (더미 SNS) + 개별 알람 B 생성 (더미 SNS) ↓ Composite Alarm으로 조합 (A AND B) ↓ 실제 SNS로 알림 발송 |
핵심 차이:
- AWS: 여러 알람을 만든 후 조합하는 방식
- Azure: 하나의 알람 규칙에 여러 조건을 직접 추가하는 방식
항목 | AWS CloudWatch | Azure Monitor |
✅ 장점 | • 유연한 조건 조합 (OR, NOT) | • 간단한 구조 (단일 리소스) |
❌ 단점 | • 더미 SNS 추가 필요 | • AND만 지원 (OR 불가) |
사전 준비: Action Group 생성
개별 조건이 알림을 보내지 않도록 별도 설정이 필요 없습니다.
Azure는 단일 Alert Rule이므로 Action Group만 준비하면 됩니다.
1단계: Alert Rule 생성 시작
Monitor Console 경로
Azure Portal → Monitor 검색 → 왼쪽 메뉴 "Alerts" 클릭 → "+ Create" → "경고 규칙(Alert rule)" 선택
2단계: Scope (대상) 설정
Select a resource 화면이 열립니다.
리소스 필터링 및 선택
설정 항목 | 선택 방법 |
Filter by subscription | 모니터링할 VM이 있는 구독 선택 |
Filter by resource type | 드롭다운에서 Virtual machines 입력 및 선택 |
Filter by location | (선택사항) VM이 있는 리전 선택 |
리소스 목록에서:
- 모니터링할 VM 체크박스 선택 (예: prod-web-vm-01)
- 하나의 VM만 선택
3단계: Condition 1 추가 (CPU 사용률)
Alert rule 생성 화면의 Condition 탭으로 자동 이동합니다.
Signal 선택
- See all signals 클릭
- Select a signal 화면이 열립니다:
필터 설정:
필터 항목 | 선택 값 | 설명 |
Signal type | Metrics | 메트릭 기반 알람 |
Signal 검색:
- 검색창에 Percentage CPU 입력
설정 항목 | 선택 값 | 설명 |
Threshold | Static | 고정 임계값 (Dynamic은 ML 기반) |
Aggregation type | Average | 기간 동안 평균값 |
Operator | Greater than or equal to | >= 조건 |
Threshold value | 80 | 80% |
Check every | 1 Minute | 평가 빈도 |
Lookback period | 5 Minutes | 지난 5분 데이터 확인 |

- 1분마다 체크
- 지난 5분간 평균 CPU가 80% 이상이면 조건 만족
4단계: Condition 2 추가 (Available Memory)
같은 Alert Rule에 두 번째 조건을 추가합니다.
Signal 선택
- Condition 탭 하단의 + Add condition 버튼 클릭

Signal 검색:
- 검색창에 Available Memory Percentage 입력
설정 항목 | 선택 값 | 설명 |
Threshold | Static | 고정 임계값 |
Aggregation type | Average | 평균값 |
Operator | Less than or equal | <= 조건 |
Threshold value | 20 | 가용 메모리의 20% |
Check every | 1 Minute | 평가 빈도 |
Lookback period | 5 Minutes | 지난 5분 데이터 확인 |

⚠️ 중요: Azure는 자동으로 AND 연산자를 적용합니다.
- 두 조건 모두 만족 시 알람 발생
- 하나라도 해소되면 3회 연속 체크 후 알람 해소
이후 사전 준비단계에서 생성한 Action Group 과 세부 사항을 설정해서 생성을 마무리 합니다.
Azure Monitor의 Multiple Conditions 기능을 활용하면 AWS CloudWatch Composite Alarm과 유사하게 여러 조건을 조합한 알람을 구현할 수 있습니다.
핵심 포인트:
- ✅ 단일 리소스(VM)는 Metric Alert로 간단히 구현
- ✅ 최대 5개 조건을 AND로 자동 결합
- ✅ 더미 리소스 불필요 (단일 Alert Rule)
- ✅ AWS보다 저렴한 비용 ($0.10/월)
- ⚠️ 서로 다른 리소스 타입은 Log Search Alert 필요
Azure의 장점:
- 관리 포인트 최소화 (1개 Alert Rule)
- 간단한 설정 (Portal에서 클릭만으로 완료)
- 저렴한 비용
Azure의 제약:
- 조건 수 제한 (최대 5개)
- AND만 지원
- 다른 리소스 타입의 조건을 조합한 Alert의 경우 단일 리소스로는 구현 불가
→Log Analytics를 사용할 것