올바른 유형의 경고 규칙 선택

이 문서에서는 만들 수 있는 Azure Monitor 경고의 종류를 설명합니다. 각 유형의 경고를 사용하는 시기를 이해하도록 도와줍니다. 가격 책정에 대한 내용은 가격 책정 페이지를 참조하세요.

경고 유형은 다음과 같습니다.

Azure Monitor 경고 유형

경고 유형 사용 시기 가격 정보
메트릭 경고 메트릭 데이터는 이미 미리 계산된 시스템에 저장됩니다. 메트릭 경고는 조작이 거의 또는 전혀 필요하지 않은 데이터에 대한 경고를 받으려는 경우에 유용합니다. 모니터링하려는 데이터를 메트릭 데이터에서 사용할 수 있는 경우 메트릭 경고를 사용합니다. 각 메트릭 경고 규칙은 모니터링되는 시계열의 수에 따라 요금이 청구됩니다.
로그 검색 경고 로그 검색 경고를 사용하여 데이터에 대한 고급 논리 작업을 수행할 수 있습니다. 모니터링하려는 데이터를 로그에서 사용할 수 있거나 고급 논리가 필요한 경우 로그 검색 경고를 사용하여 데이터 조작에 KQL(Kusto 쿼리 언어)의 강력한 기능을 사용할 수 있습니다. 각 로그 검색 경고 규칙은 로그 쿼리가 평가되는 간격에 따라 청구됩니다. 쿼리 평가를 자주 수행할수록 비용이 더 많이 소요될 수 있습니다. 차원별로 분할을 사용하여 대규모 모니터링을 위해 구성된 로그 검색 경고의 경우 비용은 쿼리에서 생성된 차원에 의해 생성된 시계열 수에 따라 달라집니다.
활동 로그 경고 활동 로그는 리소스에서 발생한 모든 작업에 대한 감사를 제공합니다. 리소스에 특정 이벤트가 발생하는 경우(예: 다시 시작, 종료 또는 리소스 만들기 또는 삭제) 경고를 표시하려면 활동 로그 경고를 사용합니다. Service Health 경고 및 Resource Health 경고는 서비스 또는 리소스 중 하나에 문제가 있을 때 알려줄 수 있습니다. 자세한 내용은 가격 책정 페이지를 참조하십시오.
Prometheus 경고 Prometheus 경고는 Azure Monitor Prometheus용 관리 서비스에 저장된 Prometheus 메트릭에 대한 경고에 사용됩니다. 경고 규칙은 PromQL 오픈 소스 쿼리 언어를 기반으로 합니다. Prometheus 경고 규칙은 규칙에 의해 쿼리된 데이터에 대해서만 청구됩니다. 자세한 내용은 가격 책정 페이지를 참조하십시오.

메트릭 경고

메트릭 경고 규칙은 정기적으로 리소스 메트릭의 조건을 평가하여 리소스를 모니터링합니다. 조건이 충족되면 경고가 발생합니다. 메트릭 시계열은 일정 기간 동안 캡처된 일련의 메트릭 값입니다.

다음 메트릭을 사용하여 규칙을 만들 수 있습니다.

메트릭 경고 규칙에는 다음 기능이 포함됩니다.

메트릭 경고 규칙의 대상은 다음과 같습니다.

메트릭 경고 규칙에 여러 조건 적용

단일 리소스에 대한 경고 규칙을 만들 때 여러 조건을 적용할 수 있습니다. 예를 들어 Azure 가상 머신을 모니터링하여 “백분율 CPU가 90%를 초과”하고 “큐 길이가 300개 항목을 초과”하는 두 조건이 모두 충족될 때 경고하는 경고 규칙을 만들 수 있습니다. 경고 규칙에 여러 조건이 있는 경우 경고 규칙의 모든 조건이 참이면 경고가 발생하고 세 번의 연속 검사에서 하나 이상의 조건이 더 이상 참이 아니면 경고가 해결됩니다.

차원을 사용하여 대상 범위 좁히기

메트릭 경고 규칙에서 차원을 사용하는 방법에 대한 지침은 단일 메트릭 경고 규칙에서 여러 시계열 모니터링을 참조하세요.

차원별 분할을 사용하여 여러 리소스에서 동일한 조건 모니터링

여러 Azure 리소스에서 동일한 조건을 모니터링하려면 차원별로 분할을 사용하면 됩니다. 차원으로 분할을 사용하면 구독 또는 리소스 그룹에 대해 대규모 리소스 중심 경고를 만들 수 있습니다. 경고는 조합을 그룹화하여 별도의 경고로 분할됩니다. Azure 리소스 ID 열을 분할하면 지정된 리소스가 경고 대상이 됩니다.

범위의 여러 리소스에 적용되는 조건을 원하는 경우 분할하지 않을 수도 있습니다. 예를 들어 리소스 그룹 범위에 있는 5개 이상의 컴퓨터에서 CPU 사용량이 80%를 초과하는 경우 경고를 실행하려는 경우입니다.

하나의 경고 규칙을 사용하여 여러 리소스 모니터링

동일한 Azure 지역에 있는 리소스의 경우 동일한 유형의 여러 리소스에 동일한 메트릭 경고 규칙을 적용하여 대규모로 모니터링할 수 있습니다. 모니터링되는 각 리소스에 대해 개별 알림이 전송됩니다.

다음 Azure 클라우드에서 이러한 서비스에 대한 플랫폼 메트릭이 지원됩니다.

서비스 리소스 공급자 글로벌 Azure의 차이 정부 기관용 중국
가상 머신 "Microsoft.Compute/virtualMachines"
SQL Server 데이터베이스. "Microsoft.Sql/servers/databases"
SQL Server 탄력적 풀 "Microsoft.Sql/servers/elasticpools"
NetApp 파일 용량 풀 "Microsoft.NetApp/netAppAccounts/capacityPools"
NetApp 파일 볼륨 "Microsoft.NetApp/netAppAccounts/capacityPools/volumes"
Azure Key Vault "Microsoft.KeyVault/vaults"
Azure Cache for Redis "Microsoft.Cache/redis"
Azure Stack Edge 디바이스 (이 리소스에 대한 특정 리소스 공급자는 없습니다. Stack Edge 디바이스의 작동 방식 때문에 메트릭은 여러 리소스 공급자에서 검색됩니다. 이 리소스에 대한 경고에 대한 자세한 내용은 이 설명서를 검사 수 있습니다. Azure Stack Edge에서 경고 검토).
Recovery Services 자격 증명 모음 "Microsoft.RecoveryServices/Vaults" 없음 아니요
Azure Database for PostgreSQL - 유연한 서버 "Microsoft.DBforPostgreSQL/flexibleServers"
운영 체제 미설치 머신(Operator Nexus) "Microsoft.NetworkCloud/bareMetalMachines"
스토리지 어플라이언스(Operator Nexus) "Microsoft.NetworkCloud/storageAppliances"
클러스터(Operator Nexus) "Microsoft.NetworkCloud/clusters"
네트워크 디바이스(Operator Nexus) Microsoft.NetworkCloud/l2Networks, Microsoft.NetworkCloud/l3Networks
데이터 수집 규칙 "Microsoft.Insights/datacollectionrules"

참고 항목

다중 리소스 메트릭 경고는 다음에서 지원되지 않습니다.

  • VM 게스트 메트릭에 대한 경고
  • VM 네트워크 메트릭(전체 네트워크 입력, 전체 네트워크 출력, 인바운드 흐름, 아웃바운드 흐름, 인바운드 흐름 최대 생성 속도, 아웃바운드 흐름 최대 생성 속도)에 대한 경고

다음 세 가지 방법 중 하나를 통해 단일 메트릭 경고 규칙으로 모니터링 범위를 지정할 수 있습니다. 예를 들어 VM에서는 범위를 다음과 같이 지정할 수 있습니다.

  • 구독 내 한 Azure 지역에 있는 VM 목록
  • 구독 내 하나 이상의 리소스 그룹에 있는 한 Azure 지역의 모든 VM
  • 구독 내 한 Azure 지역에 있는 VM

동적 임계값에 고급 기계 학습 적용

동적 임계값은 고급 기계 학습을 사용하여 다음을 수행합니다.

  • 메트릭의 동작 기록 학습
  • 패턴을 식별하고 매시간, 매일 또는 매주 패턴 같은 시간의 따른 메트릭 변경에 적응
  • 가능한 서비스 문제를 나타내는 변칙 인식
  • 메트릭에 가장 적합한 임계값 계산

기계 학습은 지속적으로 새 데이터를 사용하여 추가로 학습하고 임계값을 더 정확하게 만듭니다. 시스템은 시간이 지남에 따라 메트릭의 동작에 적응하고 해당 패턴의 편차에 따라 경고하기 때문에 각 메트릭에 대한 “적합한” 임계값을 알 필요가 없습니다.

동적 임계값은 다음을 지원합니다.

  • 하나의 경고 규칙을 사용하여 수백 개의 메트릭 계열에 대해 확장 가능한 경고를 만듭니다. 경고 규칙이 적은 경우 경고 규칙을 만들고 관리하는 데 더 적은 시간을 소비합니다.
  • 구성할 임계값을 알 필요 없이 규칙을 만듭니다.
  • 메트릭에 대한 광범위한 도메인 지식 없이 개략적인 개념을 사용하여 메트릭 경고를 구성합니다.
  • 예상되는 패턴을 따르지 않는 노이즈(낮은 정밀도) 또는 넓은(낮은 재현율) 임계값을 방지합니다.
  • 노이즈가 많은 메트릭(예: 컴퓨터 CPU 또는 메모리) 및 분산이 낮은 메트릭(예: 가용성 및 오류 속도)을 처리합니다.

메트릭 경고 규칙에서 동적 임계값을 사용하는 방법에 대한 자세한 지침은 동적 임계값을 참조하세요.

로그 검색 경고

로그 검색 경고 규칙은 Log Analytics 쿼리를 사용하여 리소스 로그를 설정된 빈도로 평가하여 리소스를 모니터링합니다. 조건이 충족되면 경고가 발생합니다. Log Analytics 쿼리를 사용할 수 있으므로 데이터에 대한 고급 논리 작업을 수행하고, 강력한 KQL 기능을 사용하여 로그 데이터를 조작할 수 있습니다.

로그 검색 경고 규칙의 대상은 다음과 같습니다.

  • 단일 리소스(예: VM).
  • 리소스 그룹 또는 구독과 같은 리소스의 단일 컨테이너입니다.
  • 교차 리소스 쿼리를 사용하는 여러 리소스입니다.

로그 검색 경고는 서로 다른 모니터링 시나리오에 사용할 수 있는 두 가지 다른 항목을 측정할 수 있습니다.

  • 테이블 행: 반환된 행 수를 사용하여 Windows 이벤트 로그, syslog, 애플리케이션 예외와 같은 이벤트를 처리할 수 있습니다.
  • 숫자 열 계산: 숫자 열을 기준으로 한 계산을 사용하여 원하는 수의 리소스를 포함할 수 있습니다. 예를 들어, CPU 백분율이 있습니다.

로그 검색 경고가 상태 저장인지 상태 비 상태인지 구성할 수 있습니다. 이 기능은 현지 미리 보기로 제공됩니다. 상태 저장 로그 검색 경고에는 다음과 같은 제한 사항이 있습니다.

  • 평가당 최대 300개의 경고를 트리거할 수 있습니다.
  • fired 경고 조건을 사용하여 최대 5,000개의 경고를 유지할 수 있습니다.

참고 항목

로그 검색 경고는 로그의 데이터 부족을 감지하려는 경우와 달리 로그에서 특정 데이터를 검색하려고 할 때 가장 적합합니다. 로그는 반정형 데이터이므로 VM 하트비트 같은 정보에 대한 메트릭 데이터보다 본질적으로 더 잠복합니다. 로그에서 데이터 누락을 검색하려고 할 때 오류가 발생하지 않도록 하려면 메트릭 경고를 사용하는 것이 좋습니다. 로그에 대한 메트릭 경고를 사용하여 로그에서 메트릭 저장소로 데이터를 보낼 수 있습니다.

차원을 사용하여 리소스의 여러 인스턴스 모니터링

로그 검색 경고 규칙을 만들 때 차원을 사용하여 하나의 규칙으로 리소스의 여러 인스턴스 값을 모니터링할 수 있습니다. 예를 들어 웹 사이트 또는 앱을 실행하는 여러 인스턴스에서 CPU 사용량을 모니터링할 수 있습니다. 각 인스턴스는 개별적으로 모니터링됩니다. 각 인스턴스에 대해 알림이 전송됩니다.

차원별 분할을 사용하여 여러 리소스에서 동일한 조건 모니터링

여러 Azure 리소스에서 동일한 조건을 모니터링하려면 차원별로 분할을 사용하면 됩니다. 차원으로 분할을 사용하면 구독 또는 리소스 그룹에 대해 대규모 리소스 중심 경고를 만들 수 있습니다. 경고는 숫자 또는 문자열 열을 통해 조합을 그룹화하여 별도의 경고로 분할됩니다. Azure 리소스 ID 열을 분할하면 지정된 리소스가 경고 대상이 됩니다.

범위의 여러 리소스에 적용되는 조건을 원하는 경우 분할하지 않을 수도 있습니다. 예를 들어 리소스 그룹 범위에 있는 5개 이상의 컴퓨터에서 CPU 사용량이 80%를 초과하는 경우 경고를 실행하려는 경우입니다.

로그 검색 경고 규칙에 API 사용

ScheduledQueryRules API를 사용하여 작업 영역에서 새 규칙을 관리합니다.

참고 항목

레거시 Log Analytics 경고 API를 사용하여 관리하는 데 사용되는 Log Analytics에 대한 로그 검색 경고입니다. 최신 ScheduledQueryRules API로 전환하는 방법에 대해 자세히 알아보세요.

Azure 청구서에 대한 로그 검색 경고

로그 검색 경고는 다음을 사용하여 리소스 공급자 microsoft.insights/scheduledqueryrules 아래에 나열됩니다.

  • 리소스 그룹 및 경고 속성과 함께 정확한 리소스 이름으로 표시된 Application Insights에 대한 로그 검색 경고입니다.
  • Log Analytics의 로그 검색 경고는 scheduledQueryRules API를 사용하여 생성될 때 리소스 그룹 및 경고 속성과 함께 정확한 리소스 이름으로 표시됩니다.
  • 레거시 Log Analytics API에서 만든 로그 검색 경고는 Azure 리소스를 추적하지 않으며 고유한 리소스 이름을 적용하지 않습니다. 이러한 경고는 리소스 명명 구조<WorkspaceName>|<savedSearchId>|<scheduleId>|<ActionId>를 가진 숨겨진 리소스로 microsoft.insights/scheduledqueryrules에 계속 생성됩니다. 레거시 API의 로그 검색 경고는 리소스 그룹 및 경고 속성과 함께 이전의 숨겨진 리소스 이름과 함께 표시됩니다.

참고 항목

지원되지 않는 리소스 문자(<, >, %, &, , ?) 및 /는 숨겨진 리소스 이름에서 밑줄(_)로 바뀝니다. 이 문자 변경 내용은 청구 정보에도 반영됩니다.

활동 로그 경고

활동 로그 경고는 정의된 조건과 일치하는 새 활동 로그 이벤트에 대한 활동 로그를 확인하여 리소스를 모니터링합니다.

다음과 같은 유형의 시나리오에 대해 활동 로그 경고를 사용할 수 있습니다.

  • 특정 리소스 그룹 또는 구독의 리소스에서 특정 작업이 발생하는 경우. 예를 들어 다음과 같은 경우에 알림을 받을 수 있습니다.
    • 프로덕션 리소스 그룹의 VM이 삭제되는 경우
    • 새 규칙이 구독의 사용자에게 할당되는 경우
  • Service Health 이벤트가 발생하는 경우 Service Health 이벤트가 구독에서 리소스에 적용되는 인시던트 및 유지 관리 이벤트의 알림을 포함합니다.

다음에 대한 활동 로그 경고를 만들 수 있습니다.

  • 경고 이벤트 이외의 활동 로그 이벤트 범주.
  • JSON 개체의 최상위 속성에 있는 모든 활동 로그 이벤트

활동 로그 경고 규칙은 Azure 리소스이므로 Azure Resource Manager 템플릿을 사용하여 만들 수 있습니다. 또한 Azure Portal에서 생성, 업데이트 또는 삭제할 수 있습니다.

활동 로그 경고는 경고가 생성되는 구독의 이벤트만 모니터링합니다.

Service Health 경고

Service Health 경고는 활동 경고의 한 유형입니다. 인증된 Service Health 환경이 현재 사용하는 서비스 및 리소스를 알고 있기 때문에 Service Health는 중단, 계획된 유지 관리 작업 및 기타 상태 권고에 대해 알려줍니다.

서비스 문제, 계획된 유지 관리 또는 다른 변경 내용이 사용하는 Azure 서비스 및 지역에 영향을 주는 경우 기본 설정된 통신 채널을 사용하여 알려주도록 Service Health 경고를 설정하는 것이 Service Health를 사용하는 가장 좋은 방법입니다.

Resource Health 경고

Resource Health 경고는 활동 경고의 한 유형입니다. Resource Health 개요를 통해 Azure 리소스에 영향을 주는 서비스 문제를 진단하고 지원을 받을 수 있습니다. Azure Resource Health는 리소스의 현재 및 과거 상태를 보고합니다.

Resource Health는 다양한 Azure 서비스의 신호를 사용하여 리소스의 정상 여부를 평가합니다. 리소스가 정상이 아니면 Resource Health에서 추가 정보를 분석하여 문제 원인을 파악합니다. 또한 Microsoft에서 문제 해결을 위해 수행하는 작업을 보고하고 사용자가 문제 해결을 위해 수행할 수 있는 작업을 식별합니다.

스마트 감지 경고

프로젝트에 대한 Application Insights를 설정한 후에 앱이 일정량의 데이터를 생성하면 실패에 대한 스마트 검색이 앱의 일반적인 동작을 학습하는 데 24시간이 걸립니다. 앱의 성능에는 일반적인 동작의 패턴이 있습니다. 일부 요청 또는 종속성 호출은 다른 요청보다 오류 발생 가능성이 높으며 로드가 증가함에 따라 전체 실패율이 상승할 수 있습니다.

스마트 감지는 이러한 이상을 발견하는 데 기계 학습을 사용합니다. 스마트 감지는 앱, 특히 실패 속도에서 받은 데이터를 모니터링합니다. Application Insights는 웹앱에서 실패한 요청이 비정상적으로 증가하는 경우 거의 실시간으로 자동으로 경고합니다.

웹앱에서 Application Insights로 데이터를 가져오면 스마트 검색에서 현재 동작을 과거 며칠 동안 확인된 패턴과 비교합니다. 이전 성능과 비교하여 실패율에 비정상적인 증가가 있으면 분석이 트리거됩니다.

문제를 심사하고 진단할 수 있도록 실패 및 관련된 애플리케이션 데이터의 특성에 대한 분석이 경고 정보에 제공됩니다. 또한 추가 진단을 위해 Application Insights 포털에 링크가 제공됩니다. 기능이 기계 학습 알고리즘을 사용하여 일반 실패율을 예측하기 때문에 설정 또는 구성이 필요하지 않습니다.

메트릭 경고는 문제가 있을 수 있음을 알려주지만 스마트 검색이 진단 작업을 시작합니다. 스마트 검색은 사용자가 직접 해야 하는 분석 작업을 대부분 수행합니다. 깔끔하게 정리된 결과를 얻고 문제의 원인을 신속하게 파악할 수 있습니다.

스마트 검색은 애플리케이션 요청이나 종속성 데이터를 생성하는 클라우드 또는 자체 서버에서 호스트되는 웹앱에 대해 작동합니다.

Prometheus 경고

Prometheus 경고는 Prometheus용 Azure Monitor 관리 서비스에 저장된 메트릭을 모니터링하는 데 사용됩니다. Prometheus 경고 규칙은 Prometheus 규칙 그룹의 일부로 구성됩니다. PromQL 식의 결과가 true로 확인되면 발생합니다. 발생한 Prometheus 경고는 다른 경고 유형처럼 표시되고 관리됩니다.

다음 단계