Azure Monitor 알림

Azure Monitor 알림 (Azure Monitor alerting)

Azure Monitor 데이터 소스는 Grafana Alerting과 Grafana가 관리하는 recording rules를 지원해요. 이로써 Azure 메트릭, 로그, 트레이스, 리소스 데이터를 기반으로 알림 규칙을 만들 수 있어요. Azure 환경을 모니터링하고 특정 조건이 충족되면 알림을 받을 수 있죠.

출처: 문서

본문

알림에 지원되는 쿼리 유형

모든 Azure Monitor 쿼리 유형이 알림과 recording rules를 지원해요.

쿼리 유형 사용 사례 참고
Metrics Azure 리소스 메트릭의 임계값 기반 알림 알림에 가장 적합. 시계열 데이터를 반환
Logs 로그 패턴, 오류 개수, 임계값에 대한 알림 KQL로 데이터를 숫자 값으로 집계
Azure Resource Graph 리소스 상태나 구성 변경에 대한 알림 count 집계로 숫자 데이터를 반환
Traces 트레이스 데이터와 애플리케이션 성능에 대한 알림 평가를 위해 숫자 값으로 집계

참고: 알림 쿼리는 Grafana가 임계값에 대해 평가할 수 있는 숫자 데이터를 반환해야 해요. 텍스트나 숫자가 아닌 데이터만 반환하는 쿼리는 알림에 직접 사용할 수 없어요.

인증 요구 사항

알림과 recording rules는 사용자 컨텍스트 없이 백그라운드 프로세스로 실행돼요. 따라서 서비스 수준 인증이 필요하며 모든 인증 방법에서 동작하지 않아요.

인증 방법 지원
App Registration (client secret)
App Registration (client certificate)
Managed Identity
Workload Identity
Current User ✓ (fallback service credentials 포함)

참고: Current User 인증을 사용한다면 알림과 recording rules가 동작하도록 fallback service credentials를 구성해야 해요. 사용자 자격 증명은 백그라운드 작업에 사용할 수 없으므로 Grafana가 대신 fallback 자격 증명을 사용해요.

알림 규칙 만들기

Azure Monitor 데이터로 알림 규칙을 만들려면 알림 페이지에서 규칙을 만들고, 쿼리로 Azure Monitor 데이터 소스를 선택해 사용할 쿼리 유형을 설정하면 돼요. 각 유형은 숫자 데이터를 반환해야 하며(Metrics의 시계열, Logs/ARG/Traces의 집계), 평가 빈도와 임계값을 설정해 알림을 발화시켜요.

예: VM CPU 사용량 알림

가상 머신 CPU 사용량이 80%를 초과하면 발화하는 알림을 만드는 예시: Metrics 쿼리로 VM의 Percentage CPU 메트릭을 선택하고, Reduce 표현식으로 시리즈를 집계한 뒤, 임계값 80보다 크면 발화하도록 설정해요.

예: 오류 로그 개수 알림

KQL 쿼리를 사용해 오류 로그가 임계값을 초과하면 알림: Logs 쿼리에서 오류 로그를 summarize count()로 숫자 값으로 집계하고 임계값을 설정해요.

예: 리소스 개수 알림

Azure Resource Graph를 사용해 실행 중인 가상 머신 수가 임계값 아래로 떨어지면 알림: ARG 쿼리에서 count 집계로 숫자 값을 반환하고 임계값을 설정해요.

모범 사례

  • 적절한 쿼리 간격 사용: 쿼리 평가가 완료될 수 있도록 알림 평가 간격과 쿼리 지속 시간을 조정하세요.
  • 여러 시리즈 줄이기: Azure Monitor 쿼리가 여러 시리즈(예: 여러 VM의 CPU 사용량)를 반환하면 Reduce 표현식으로 집계하세요.
  • Log Analytics 쿼리 최적화: 알림에 쓰는 Logs 쿼리는 빈 시간 창, 긴 시간 범위를 피하고 summarize로 집계하세요.
  • 데이터 없음 조건 처리: 데이터가 반환되지 않을 때의 동작을 구성하세요.
  • 알림 전 쿼리 테스트: 알림을 만들기 전에 쿼리가 기대 데이터를 반환하는지 항상 확인하세요.

문제 해결

  • 알림이 발화되지 않음: 쿼리가 숫자 데이터를 반환하는지, 데이터 소스가 알림용 인증을 지원하는지 확인하세요.
  • 알림 평가의 인증 오류: Current User 인증 시 fallback service credentials가 구성됐는지 확인하세요.
  • 쿼리 타임아웃 오류: 데이터 소스 타임아웃 설정을 확인하세요.

더 알아보기 (Learn more)