Azure Monitor에서 메트릭 경고가 작동하는 방식 이해Understand how metric alerts work in Azure Monitor

Azure Monitor에서 메트릭 경고는 다차원 메트릭을 기반으로 작동합니다.Metric alerts in Azure Monitor work on top of multi-dimensional metrics. 이 메트릭은 플랫폼 메트릭, 사용자 지정 메트릭, 메트릭으로 변환되는 Azure Monitor의 주요 로그 및 Application Insights 메트릭일 수 있습니다.These metrics could be platform metrics, custom metrics, popular logs from Azure Monitor converted to metrics and Application Insights metrics. 메트릭 경고는 주기적으로 하나 이상의 메트릭 시계열에서 조건이 참인지 평가하고 평가에 부합하면 사용자에게 알립니다.Metric alerts evaluate at regular intervals to check if conditions on one or more metric time-series are true and notify you when the evaluations are met. 메트릭 경고는 상태를 저장합니다. 즉 상태가 변경될 때만 알림을 보냅니다.Metric alerts are stateful, that is, they only send out notifications when the state changes.

메트릭 경고 작동 방식How do metric alerts work?

모니터링할 대상 리소스, 메트릭 이름, 조건 형식(정적 또는 동적) 및 조건(연산자 및 임계값/민감도), 경고 규칙 실행 시에 트리거할 작업 그룹을 지정하여 메트릭 경고 규칙을 정의할 수 있습니다.You can define a metric alert rule by specifying a target resource to be monitored, metric name, condition type (static or dynamic), and the condition (an operator and a threshold/sensitivity) and an action group to be triggered when the alert rule fires. 조건 형식은 임계값을 결정하는 방법에 영향을 줍니다.Condition types affect the way thresholds are determined. 동적 임계값 조건 형식 및 민감도 옵션에 대해 자세히 알아보세요.Learn more about Dynamic Thresholds condition type and sensitivity options.

정적 조건 형식이 있는 경고 규칙Alert rule with static condition type

다음과 같이 간단한 정적 임계값 메트릭 경고 규칙을 만들었다고 가정해 보겠습니다.Let's say you have created a simple static threshold metric alert rule as follows:

  • 대상 리소스(모니터링할 Azure 리소스): myVMTarget Resource (the Azure resource you want to monitor): myVM
  • 메트릭: 백분율 CPUMetric: Percentage CPU
  • 조건 형식: StaticCondition Type: Static
  • 시간 집계(원시 메트릭 값에 대해 실행되는 통계.Time Aggregation (Statistic that is run over raw metric values. 지원 되는 시간 집계 는 Min, Max, Avg, Total, Count): Average입니다.Supported time aggregations are Min, Max, Avg, Total, Count): Average
  • 기간 (메트릭 값을 확인 하는 뒤로 이동 창): 지난 5 분 동안Period (The look back window over which metric values are checked): Over the last 5 mins
  • 빈도 (메트릭 경고에서 조건이 충족 되었는지 확인 하는 빈도): 1 분Frequency (The frequency with which the metric alert checks if the conditions are met): 1 min
  • 연산자: 보다 큼Operator: Greater Than
  • 임계값: 70Threshold: 70

경고 규칙이 만들어진 시점 이후 모니터는 1분 간격으로 실행되며 지난 5분 간의 메트릭 값을 살펴 이 평균이 70을 초과하는지 확인합니다.From the time the alert rule is created, the monitor runs every 1 min and looks at metric values for the last 5 minutes and checks if the average of those values exceeds 70. 조건에 부합하면, 즉 지난 5분의 평균 백분율 CPU가 70을 초과하면 경고 규칙에서 활성화된 알림을 생성합니다.If the condition is met that is, the average Percentage CPU for the last 5 minutes exceeds 70, the alert rule fires an activated notification. 경고 규칙과 연결된 작업 그룹에서 이메일이나 웹후크 작업을 구성한 경우 모두 활성화된 알림을 받게 됩니다.If you have configured an email or a web hook action in the action group associated with the alert rule, you will receive an activated notification on both.

한 규칙에서 여러 조건을 사용 하는 경우 규칙은 조건을 함께 "ands" 합니다.When you are using multiple conditions in one rule, the rule "ands" the conditions together. 즉, 경고 규칙의 모든 조건이 true로 평가 되 고 조건 중 하나가 더 이상 true가 아니면 해결 될 때 경고가 발생 합니다.That is, an alert fires when all the conditions in the alert rule evaluate as true and resolve when one of the conditions is no longer true. 이러한 유형의 경고 규칙에 대 한 예는 Azure 가상 머신을 모니터링 하 고 "CPU 비율이 90% 보다 크면" 큐 길이가 300 항목을 초과 하는 경우 경고를 생성 하는 것입니다.An example for this type of alert rule would be to monitor an Azure virtual machine and alert when both "Percentage CPU is higher than 90%" and "Queue length is over 300 items".

동적 조건 형식이 있는 경고 규칙Alert rule with dynamic condition type

다음과 같이 간단한 동적 임계값 메트릭 경고 규칙을 만들었다고 가정해 보겠습니다.Let's say you have created a simple Dynamic Thresholds metric alert rule as follows:

  • 대상 리소스(모니터링할 Azure 리소스): myVMTarget Resource (the Azure resource you want to monitor): myVM
  • 메트릭: 백분율 CPUMetric: Percentage CPU
  • 조건 형식: 동적Condition Type: Dynamic
  • 시간 집계(원시 메트릭 값에 대해 실행되는 통계.Time Aggregation (Statistic that is run over raw metric values. 지원 되는 시간 집계 는 Min, Max, Avg, Total, Count): Average입니다.Supported time aggregations are Min, Max, Avg, Total, Count): Average
  • 기간 (메트릭 값을 확인 하는 뒤로 이동 창): 지난 5 분 동안Period (The look back window over which metric values are checked): Over the last 5 mins
  • 빈도 (메트릭 경고에서 조건이 충족 되었는지 확인 하는 빈도): 1 분Frequency (The frequency with which the metric alert checks if the conditions are met): 1 min
  • 연산자: 보다 큼Operator: Greater Than
  • 민감도: 중형Sensitivity: Medium
  • 이전 기간을 찾습니다. 4Look Back Periods: 4
  • 위반 수: 4Number of Violations: 4

경고 규칙이 만들어지면 동적 임계값 기계 학습 알고리즘에서 사용 가능한 기록 데이터를 가져오고 메트릭 계열 동작 패턴에 가장 적합한 임계값을 계산하며, 새 데이터를 기반으로 하여 지속적으로 학습하여 임계값을 더 정확하게 만듭니다.Once the alert rule is created, the Dynamic Thresholds machine learning algorithm will acquire historical data that is available, calculate threshold that best fits the metric series behavior pattern and will continuously learn based on new data to make the threshold more accurate.

경고 규칙이 만들어지는 시점부터 모니터는 1분마다 실행되고, 5분 기간으로 그룹화된 지난 20분 동안의 메트릭 값을 파악하며, 각 4개 기간에 대한 기간 값의 평균이 예상 임계값을 초과하는지 확인합니다.From the time the alert rule is created, the monitor runs every 1 min and looks at metric values in the last 20 minutes grouped into 5 minutes periods and checks if the average of the period values in each of the 4 periods exceeds the expected threshold. 지난 20분(4개의 5분 단위 기간)의 평균 CPU 백분율이 예상된 동작에서 네 번 벗어나는 조건이 충족되면 경고 규칙에서 활성화된 알림을 실행합니다.If the condition is met that is, the average Percentage CPU in the last 20 minutes (four 5 minutes periods) deviated from expected behavior four times, the alert rule fires an activated notification. 경고 규칙과 연결된 작업 그룹에서 이메일이나 웹후크 작업을 구성한 경우 모두 활성화된 알림을 받게 됩니다.If you have configured an email or a web hook action in the action group associated with the alert rule, you will receive an activated notification on both.

실행된 경고 보기 및 해결View and resolution of fired alerts

위의 경고 규칙 실행 예는 Azure Portal의 모든 경고 블레이드에서도 확인할 수 있습니다.The above examples of alert rules firing can also be viewed in the Azure portal in the All Alerts blade.

후속 검사에서 "myVM"의 사용량이 임계값을 계속 초과하면 해당 조건이 해결될 때까지 경고 규칙이 다시 실행되지 않습니다.Say the usage on "myVM" continues being above the threshold in subsequent checks, the alert rule will not fire again until the conditions are resolved.

시간이 지난 후에는 "myVM"의 사용량이 정상으로 복귀 됩니다 (임계값 아래로 이동).After some time, the usage on "myVM" comes back down to normal (goes below the threshold). 경고 규칙은 해결 알림을 보내기 위해 두 번 이상 조건을 모니터링합니다.The alert rule monitors the condition for two more times, to send out a resolved notification. 조건이 유동적인 경우 소음을 줄이기 위해 세 번 연속 경고 조건에 부합하지 않으면 경고 규칙에서 해결/비활성화 메시지를 보냅니다.The alert rule sends out a resolved/deactivated message when the alert condition is not met for three consecutive periods to reduce noise in case of flapping conditions.

해결됨 알림은 웹후크 또는 이메일을 통해 전송되므로 Azure Portal의 경고 인스턴스 상태(모니터 상태라고도 함)도 해결됨으로 설정됩니다.As the resolved notification is sent out via web hooks or email, the status of the alert instance (called monitor state) in Azure portal is also set to resolved.

참고

경고 규칙이 여러 조건을 모니터링할 때 세 개의 연속 된 기간 동안 하나 이상의 조건이 더 이상 충족 되지 않으면 발생 한 경고가 해결 됩니다.When an alert rule monitors multiple conditions, a fired alert will be resolved if at least one of the conditions is no longer met for three consecutive periods.

차원 사용Using dimensions

Azure Monitor의 메트릭 경고는 하나의 규칙을 사용하여 여러 차원의 값 조합을 모니터링하는 기능도 지원합니다.Metric alerts in Azure Monitor also support monitoring multiple dimensions value combinations with one rule. 예제를 통해 여러 차원 값 조합을 사용할 수 있는 이유를 살펴 보겠습니다.Let's understand why you might use multiple dimension combinations with the help of an example.

웹 사이트에 대해 App Service 계획은 있다고 가정합니다.Say you have an App Service plan for your website. 웹 사이트/앱을 실행하는 여러 인스턴스의 CPU 사용량을 모니터링하려 합니다.You want to monitor CPU usage on multiple instances running your web site/app. 이 작업은 다음과 같은 메트릭 경고 규칙을 사용하여 수행할 수 있습니다.You can do that using a metric alert rule as follows:

  • 대상 리소스: myAppServicePlanTarget resource: myAppServicePlan
  • 메트릭: 백분율 CPUMetric: Percentage CPU
  • 조건 형식: StaticCondition Type: Static
  • 차원Dimensions
    • 인스턴스 = InstanceName1, InstanceName2Instance = InstanceName1, InstanceName2
  • 시간 집계: 평균Time Aggregation: Average
  • 기간: 지난 5분Period: Over the last 5 mins
  • 빈도: 1분Frequency: 1 min
  • 연산자: GreaterThanOperator: GreaterThan
  • 임계값: 70Threshold: 70

이전과 같이 이 규칙은 최근 5분 동안 평균 CPU 사용량이 70%를 초과하는지 모니터링합니다.Like before, this rule monitors if the average CPU usage for the last 5 minutes exceeds 70%. 그러나 같은 규칙으로 웹 사이트에서 실행되는 두 인스턴스를 모니터링할 수 있습니다.However, with the same rule you can monitor two instances running your website. 각 인스턴스는 개별적으로 모니터링되며 알림도 개별적으로 받게 됩니다.Each instance will get monitored individually and you will get notifications individually.

수요가 큰 웹앱이 있고 다른 인스턴스를 더 추가해야 한다고 가정합니다.Say you have a web app that is seeing massive demand and you will need to add more instances. 위 규칙에서는 두 인스턴스만 모니터링합니다.The above rule still monitors just two instances. 그러나 다음과 같이 규칙을 만들 수 있습니다.However, you can create a rule as follows:

  • 대상 리소스: myAppServicePlanTarget resource: myAppServicePlan
  • 메트릭: 백분율 CPUMetric: Percentage CPU
  • 조건 형식: StaticCondition Type: Static
  • 차원Dimensions
    • 인스턴스 = *Instance = *
  • 시간 집계: 평균Time Aggregation: Average
  • 기간: 지난 5분Period: Over the last 5 mins
  • 빈도: 1분Frequency: 1 min
  • 연산자: GreaterThanOperator: GreaterThan
  • 임계값: 70Threshold: 70

이 규칙은 자동으로 인스턴스의 모든 값을 모니터링합니다.This rule will automatically monitor all values for the instance i.e 즉 메트릭 경고 규칙을 다시 수정하지 않고도 그대로 인스턴스를 모니터링할 수 있습니다.you can monitor your instances as they come up without needing to modify your metric alert rule again.

여러 차원을 모니터링하는 경우 동적 임계값 경고 규칙은 한 번에 수백 개의 메트릭 계열에 대한 맞춤형 임계값을 만들 수 있습니다.When monitoring multiple dimensions, Dynamic Thresholds alerts rule can create tailored thresholds for hundreds of metric series at a time. 동적 임계값으로 인해 관리할 경고 규칙이 줄어들고 경고 규칙의 관리 및 만들기에 걸리는 시간이 크게 절약할 수 있습니다.Dynamic Thresholds results in fewer alert rules to manage and significant time saving on management and creation of alerts rules.

많은 인스턴스가 있는 웹앱이 있고 가장 적합한 임계값을 알지 못한다고 가정합니다.Say you have a web app with many instances and you don't know what the most suitable threshold is. 위의 규칙에서는 항상 70%의 임계값을 사용합니다.The above rules will always use threshold of 70%. 그러나 다음과 같이 규칙을 만들 수 있습니다.However, you can create a rule as follows:

  • 대상 리소스: myAppServicePlanTarget resource: myAppServicePlan
  • 메트릭: 백분율 CPUMetric: Percentage CPU
  • 조건 형식: 동적Condition Type: Dynamic
  • 차원Dimensions
    • 인스턴스 = *Instance = *
  • 시간 집계: 평균Time Aggregation: Average
  • 기간: 지난 5분Period: Over the last 5 mins
  • 빈도: 1분Frequency: 1 min
  • 연산자: GreaterThanOperator: GreaterThan
  • 민감도: 중형Sensitivity: Medium
  • 이전 기간을 찾습니다. 1Look Back Periods: 1
  • 위반 수: 1Number of Violations: 1

이 규칙은 지난 5분 동안의 평균 CPU 사용량이 각 인스턴스에 대해 예상된 동작을 초과하는지 모니터링합니다.This rule monitors if the average CPU usage for the last 5 minutes exceeds the expected behavior for each instance. 메트릭 경고 규칙을 다시 수정할 필요 없이 동일한 규칙에 따라 발생하는 인스턴스를 모니터링할 수 있습니다.The same rule you can monitor instances as they come up without needing to modify your metric alert rule again. 각 인스턴스에서 메트릭 계열 동작 패턴에 맞는 임계값을 가져오고, 새 데이터에 따라 지속적으로 변경되어 임계값을 더 정확하게 만듭니다.Each instance will get a threshold that fits the metric series behavior pattern and will continuously change based on new data to make the threshold more accurate. 이전과 마찬가지로 각 인스턴스는 개별적으로 모니터링되며 알림도 개별적으로 받게 됩니다.Like before, each instance will be monitored individually and you will get notifications individually.

되돌아 보기 기간과 위반 수를 늘리면 필터링 경고에서 크게 벗어나는 중요한 위반에 대한 정의만 경고하도록 허용할 수 있습니다.Increasing look-back periods and number of violations can also allow filtering alerts to only alert on your definition of a significant deviation. 동적 임계값 고급 옵션에 대해 자세히 알아보세요.Learn more about Dynamic Thresholds advanced options.

참고

다음 경우에 추가 된 시계열의 첫 번째 평가가 누락 될 가능성을 줄이기 위해 평가 빈도 보다 큰 집계 세분성 (기간) 을 선택 하는 것이 좋습니다.We recommend choosing an Aggregation granularity (Period) that is larger than the Frequency of evaluation, to reduce the likelihood of missing the first evaluation of added time series in the following cases:

  • 여러 차원을 모니터링 하는 메트릭 경고 규칙-새 차원 값 조합이 추가 된 경우Metric alert rule that monitors multiple dimensions – When a new dimension value combination is added
  • 여러 리소스를 모니터링 하는 메트릭 경고 규칙-범위에 새 리소스를 추가 하는 경우Metric alert rule that monitors multiple resources – When a new resource is added to the scope
  • 연속으로 내보내지 않는 메트릭을 모니터링 하는 메트릭 경고 규칙 (스파스 메트릭) – 시간을 내보내지 않은 24 시간 보다 오래 된 메트릭을 내보내는 경우Metric alert rule that monitors a metric that isn’t emitted continuously (sparse metric) – When the metric is emitted after a period longer than 24 hours in which it wasn’t emitted

Azure Monitor에서 메트릭 경고를 사용한 모니터링 축소Monitoring at scale using metric alerts in Azure Monitor

지금까지 단일 메트릭 경고를 사용하여 단일 Azure 리소스와 관련된 하나 이상의 메트릭 시계열을 모니터링하는 방법을 확인했습니다.So far, you have seen how a single metric alert could be used to monitor one or many metric time-series related to a single Azure resource. 많은 리소스에 동일한 경고 규칙을 적용하려는 경우가 많습니다.Many times, you might want the same alert rule applied to many resources. 또한 동일한 Azure 지역에 있는 리소스에 대해 하나의 메트릭 경고 규칙을 사용 하 여 동일한 유형의 여러 리소스를 모니터링 하는 것을 지원 합니다. Azure MonitorAzure Monitor also supports monitoring multiple resources (of the same type) with one metric alert rule, for resources that exist in the same Azure region.

이 기능은 현재 다음과 같은 Azure 클라우드의 서비스에 대 한 플랫폼 메트릭 (사용자 지정 메트릭이 아님)에 대해 지원 됩니다.This feature is currently supported for platform metrics (not custom metrics) for the following services in the following Azure clouds:

서비스Service 공용 AzurePublic Azure 정부Government 중국China
가상 컴퓨터1Virtual machines1 Yes Yes 아니요No
SQL server 데이터베이스SQL server databases Yes Yes Yes
SQL server 탄력적 풀SQL server elastic pools Yes Yes Yes
NetApp 파일 용량 풀NetApp files capacity pools Yes Yes Yes
NetApp 파일 볼륨NetApp files volumes Yes Yes Yes
Key VaultKey vaults Yes Yes Yes
Azure Cache for RedisAzure Cache for Redis Yes Yes Yes
Data box edge 장치Data box edge devices Yes Yes Yes

1 가상 컴퓨터 네트워크 메트릭에 대해 지원 되지 않음 (총 네트워크, 총 네트워크, 인바운드 흐름, 아웃 바운드 흐름, 인바운드 흐름 최대 생성 비율, 아웃 바운드 흐름 최대 생성 비율).1 Not supported for virtual machine network metrics (Network In Total, Network Out Total, Inbound Flows, Outbound Flows, Inbound Flows Maximum Creation Rate, Outbound Flows Maximum Creation Rate).

세 가지 방법 중 하나로 단일 메트릭 경고 규칙에 따라 모니터링 범위를 지정할 수 있습니다.You can specify the scope of monitoring by a single metric alert rule in one of three ways. 예를 들어 virtual machines를 사용 하 여 범위를 다음과 같이 지정할 수 있습니다.For example, with virtual machines you can specify the scope as:

  • 구독 내에서 한 Azure 지역에 있는 가상 머신 목록a list of virtual machines (in one Azure region) within a subscription
  • 구독 내 하나 이상의 리소스 그룹에 있는 모든 가상 머신(한 Azure 지역에 있는)all virtual machines (in one Azure region) in one or more resource groups in a subscription
  • 구독의 모든 가상 컴퓨터 (하나의 Azure 지역)all virtual machines (in one Azure region) in a subscription

참고

다중 리소스 메트릭 경고 규칙의 범위는 선택한 리소스 유형의 리소스를 하나 이상 포함 해야 합니다.The scope of a multi-resource metric alert rule must contain at least one resource of the selected resource type.

여러 리소스를 모니터링하는 메트릭 경고 규칙을 만드는 작업은 단일 리소스를 모니터링하는 다른 메트릭 경고를 만드는 것과 같습니다.Creating metric alert rules that monitor multiple resources is like creating any other metric alert that monitors a single resource. 차이점은 모니터링하려는 모든 리소스를 사용자가 선택한다는 것입니다.Only difference is that you would select all the resources you want to monitor. Azure Resource Manager 템플릿을 통해 이러한 규칙을 만들 수도 있습니다.You can also create these rules through Azure Resource Manager templates. 모니터링 되는 각 리소스에 대 한 개별 알림을 받게 됩니다.You will receive individual notifications for each monitored resource.

참고

여러 리소스를 모니터링하는 메트릭 경고 규칙에서는 하나의 조건만 허용됩니다.In a metric alert rule that monitors multiple resources, only one condition is allowed.

일반적인 대기 시간Typical latency

메트릭 경고의 경우, 일반적으로 경고 규칙 빈도를 1분으로 설정하면 5분 안에 알림을 받게 됩니다. 알림 시스템에 부하가 높으면 대기 시간이 더 길어집니다.For metric alerts, typically you will get notified in under 5 minutes if you set the alert rule frequency to be 1 min. In cases of heavy load for notification systems, you might see a longer latency.

메트릭 경고에 대한 지원되는 리소스 종류Supported resource types for metric alerts

지원 되는 리소스 종류의 전체 목록은이 문서에서 찾을 수 있습니다.You can find the full list of supported resource types in this article.

다음 단계Next steps