동적 임계값을 사용하여 메트릭 경고 만들기
동적 임계값은 고급 기계 학습을 적용하고 알고리즘 및 메서드 집합을 사용하여 다음을 수행합니다.
- 메트릭의 동작 기록 학습
- 시간에 따른 메트릭을 분석하고 매시간, 매일 또는 매주 패턴과 같은 패턴을 식별합니다.
- 가능한 서비스 문제를 나타내는 변칙 인식
- 메트릭에 가장 적합한 임계값을 계산합니다.
동적 임계값을 사용하는 경우 각 메트릭에 대한 올바른 임계값을 알 필요가 없습니다. 동적 임계값은 가장 적합한 임계값을 계산합니다.
다음 메트릭에 동적 임계값을 사용하여 경고 규칙을 구성하는 것이 좋습니다.
- 가상 머신 CPU 백분율
- Application Insights HTTP 요청 실행 시간
동적 임계값은 다음을 지원합니다.
- 하나의 경고 규칙을 사용하여 수백 개의 메트릭 계열에 대해 확장 가능한 경고를 만듭니다. 경고 규칙이 적은 경우 경고 규칙을 만들고 관리하는 데 더 적은 시간을 소비합니다. 확장 가능한 경고는 구독의 모든 리소스와 같이 여러 차원 또는 여러 리소스에 특히 유용합니다.
- 구성할 임계값을 알 필요 없이 규칙을 만듭니다.
- 메트릭에 대한 광범위한 도메인 지식 없이도 개략적인 개념을 사용하여 메트릭 경고를 구성합니다.
- 예상되는 패턴을 따르지 않는 노이즈(낮은 정밀도) 또는 넓은(낮은 재현율) 임계값을 방지합니다.
다음에서 동적 임계값을 사용할 수 있습니다.
- 대부분의 Azure Monitor 플랫폼 및 사용자 지정 메트릭.
- 일반적인 애플리케이션 및 인프라 메트릭.
- 머신 CPU 또는 메모리와 같은 노이즈 메트릭.
- 가용성 및 오류 속도와 같이 분산이 낮은 메트릭입니다.
다음을 사용하여 동적 임계값을 구성할 수 있습니다.
- Azure Portal
- 완전히 자동화된 Azure Resource Manager API.
- 메트릭 경고 템플릿.
경고 임계값 계산 및 미리 보기
경고 규칙을 만들 때 동적 임계값은 10일의 기록 데이터를 사용하여 시간별 또는 일일 계절 패턴을 계산합니다. 경고 미리 보기에 표시되는 차트는 해당 데이터를 반영합니다.
동적 임계값은 사용 가능한 모든 기록 데이터를 지속적으로 사용하여 학습하고 보다 정확하게 조정합니다. 3주 후 동적 임계값에는 주간 패턴도 식별할 수 있는 충분한 데이터가 있으며, 모델은 주간 계절성을 포함하도록 조정됩니다.
시스템은 장기간 중단을 자동으로 인식하고 임계값 학습 알고리즘에서 제거합니다. 장기간 중단이 발생하면 동적 임계값은 데이터를 이해합니다. 가동 중단이 발생하기 전과 동일한 수준의 민감도로 시스템 문제를 감지합니다.
동적 임계값 사용에 대한 고려 사항
- 정확한 임계값 계산을 보장하기 위해 동적 임계값을 사용하는 경고 규칙은 3일 및 30개 이상의 메트릭 데이터 샘플을 수집하기 전에 경고를 트리거하지 않습니다. 메트릭 데이터가 누락된 새 리소스 또는 리소스는 충분한 데이터를 사용할 수 있을 때까지 경고를 트리거하지 않습니다.
- 동적 임계값은 주간 계절성을 감지하기 위해 3주 이상의 기록 데이터가 필요합니다. 격시간 또는 반주 패턴과 같은 일부 세부 패턴은 검색되지 않을 수 있습니다.
- 메트릭의 동작이 최근에 변경된 경우 변경 내용이 동적 임계값(상한 및 하한)에 즉시 반영되는 것은 아닙니다. 경계는 지난 10일 동안의 메트릭 데이터를 기반으로 계산됩니다. 특정 메트릭에 대한 동적 임계값 경계를 볼 때 최근 몇 시간 또는 며칠뿐만 아니라 지난 주의 메트릭 추세를 확인합니다.
- 동적 임계값은 느리게 진화하는 문제보다는 상당한 편차를 검색하는 데 유용합니다. 느린 동작 변경은 경고를 트리거하지 않을 수 있습니다.
동적 임계값 민감도의 알려진 문제
동적 임계값을 사용하는 경고 규칙이 너무 시끄럽거나 너무 많이 발생하는 경우 민감도를 줄여야 할 수 있습니다. 다음 옵션 중 하나를 사용합니다.
- 임계값 민감도: 편차에 대한 내성을 높이기 위해 민감도를 낮음으로 설정합니다.
- 위반 횟수(고급 설정 아래): 특정 기간 내에 여러 위반 사항이 발생한 경우에만 트리거되도록 경고 규칙을 구성합니다. 이 설정은 규칙을 규칙이 일시적인 편차에 덜 취약해질 수 있습니다.
동적 임계값을 사용하는 경고 규칙이 실행되지 않거나 민감도가 높음에도 불구하고 충분히 민감하지 않은 경고 규칙이 발생할 수 있습니다. 이 시나리오는 일반적으로 메트릭의 분포가 매우 불규칙한 경우에 발생합니다. 다음 솔루션 중 하나를 고려하세요.
- 해당하는 경우 시나리오에 적합한 보완 메트릭 모니터링으로 이동합니다. 예를 들어 실패율이 아닌 성공률의 변경 내용을 확인합니다.
- 집계 세분성(기간)에 대해 다른 값을 선택해 봅니다.
- 지난 10일 동안 메트릭 동작에 중단과 같은 급격한 변화가 발생했는지 확인합니다. 급격한 변경은 메트릭에 대해 계산된 상한 및 하한 임계값에 영향을 주고 더 광범위하게 만들 수 있습니다. 중단이 임계값 계산에 더 이상 포함되지 않을 때까지 며칠을 기다립니다. 고급 설정에서 이전 데이터 무시 옵션을 사용하도록 경고 규칙을 편집할 수도 있습니다.
- 데이터에 주간 계절성이 있지만 메트릭에 사용할 수 있는 기록이 충분하지 않은 경우 계산된 임계값으로 인해 광범위한 상한과 하한이 발생할 수 있습니다. 예를 들어 계산은 평일과 주말을 동일한 방식으로 처리하고 항상 데이터에 맞지 않는 넓은 테두리를 빌드할 수 있습니다. 이 문제는 충분한 메트릭 기록을 사용할 수 있게 되면 저절로 해결됩니다. 그러면 올바른 계절성이 검색되고 계산된 임계값이 그에 따라 업데이트됩니다.
메트릭 값이 큰 변동을 보이는 경우 동적 임계값은 메트릭 값을 중심으로 넓은 모델을 빌드할 수 있으며, 이로 인해 예상보다 낮거나 높은 경계가 발생할 수 있습니다. 이 시나리오는 다음과 같은 경우에 발생할 수 있습니다.
- 민감도가 낮음으로 설정됩니다.
- 메트릭은 데이터에서 급증 또는 급락으로 나타나는 높은 분산과 함께 불규칙한 동작을 나타냅니다.
더 높은 민감도를 선택하거나 더 큰 Lookback 기간 값을 선택하여 모델을 덜 민감하게 만드는 것이 좋습니다. 또는 기록 데이터 무시 옵션을 사용하여 모델을 빌드하는 데 사용된 기록 데이터에서 최근의 불규칙성을 제외합니다.
동적 임계값 구성
동적 임계값을 구성하려면 경고 규칙을 만드는 절차를 따릅니다. 조건 탭에서 다음 설정을 사용합니다.
- 임계값에 대해 동적을 선택합니다.
- 집계 형식에서는 최대를 선택하지 않는 것이 좋습니다.
- 연산자의 경우 동작이 애플리케이션 사용량을 나타내지 않는 한 보다 큼을 선택합니다.
- 임계값 민감도에서 중간 또는 낮음을 선택하여 경고 노이즈를 줄입니다.
- 확인 간격에서 경고 규칙이 조건이 충족되는지 확인하는 빈도를 선택합니다. 경고의 비즈니스 영향을 최소화하려면 더 낮은 빈도를 사용하는 것이 좋습니다. 이 값이 Lookback 기간 값보다 작거나 같은지 확인합니다.
- Lookback 기간에 데이터를 확인할 때마다 다시 살펴보는 기간을 선택합니다. 이 값이 확인 간격 값보다 크거나 같은지 확인합니다.
- 고급 옵션에서 특정 기간 내에 경고를 트리거할 위반 수를 선택합니다. 필요에 따라 메트릭 기록 데이터 학습을 시작할 날짜를 설정하고 동적 임곗값을 계산합니다.
참고 항목
포털을 통해 만든 메트릭 경고 규칙은 대상 리소스와 동일한 리소스 그룹에 만들어집니다.
동적 임계값에 대한 차트
다음 차트에서는 메트릭, 해당 동적 임계값 제한 및 값이 허용되는 임계값을 벗어날 때 발생하는 일부 경고를 보여 줍니다.
다음 정보를 사용하여 차트를 해석합니다.
- 파란색 선: 시간에 따라 측정된 메트릭.
- 파란색 음영 영역: 메트릭에 대해 허용된 범위. 메트릭 값이 이 범위 내에 있으면 경고가 트리거되지 않습니다.
- 파란색 점: 집계된 메트릭 값. 차트의 일부를 선택한 채 마우스로 파란색 선 위를 가리키면 개별 집계 메트릭 값을 표시하는 파란색 점이 커서 아래에 나타납니다.
- 파란색 점이 있는 팝업 상자: 측정된 메트릭 값(파란색 점)과 허용되는 범위의 상한 및 하한 값.
- 검정색 원이 있는 빨간색 점: 허용된 범위에서 첫 번째 메트릭 값. 이 값은 메트릭 경고를 발생시키고 이를 활성 상태로 만듭니다.
- 빨간색 점: 허용되는 범위를 벗어난 다른 측정 값. 추가 메트릭 경고가 트리거되지 않지만 경고는 활성 상태로 유지됩니다.
- 빨강 영역: 메트릭 값이 허용되는 범위를 벗어난 시간. 후속 측정된 값이 허용되는 범위를 벗어나지 않는 한 경고는 활성 상태로 유지되며 새 경고는 발생하지 않습니다.
- 빨간색 영역의 끝: 허용되는 값으로의 반환. 파란색 줄이 허용되는 값 내부에 있으면 빨강 영역이 중지되고 측정된 값 선은 파란색으로 바뀝니다. 검은색 원이 있는 빨간색 점이 발생했을 때 발생하는 메트릭 경고의 상태는 해결됨으로 설정됩니다.
동적 임계값에서 지원되지 않는 메트릭
동적 임계값은 대부분의 메트릭을 지원하지만 다음 메트릭은 동적 임계값을 사용할 수 없습니다.
리소스 종류 | 메트릭 이름 |
---|---|
Microsoft.ClassicStorage/storageAccounts | UsedCapacity |
Microsoft.ClassicStorage/storageAccounts/blobServices | BlobCapacity |
Microsoft.ClassicStorage/storageAccounts/blobServices | BlobCount |
Microsoft.ClassicStorage/storageAccounts/blobServices | IndexCapacity |
Microsoft.ClassicStorage/storageAccounts/fileServices | FileCapacity |
Microsoft.ClassicStorage/storageAccounts/fileServices | FileCount |
Microsoft.ClassicStorage/storageAccounts/fileServices | FileShareCount |
Microsoft.ClassicStorage/storageAccounts/fileServices | FileShareSnapshotCount |
Microsoft.ClassicStorage/storageAccounts/fileServices | FileShareSnapshotSize |
Microsoft.ClassicStorage/storageAccounts/fileServices | FileShareQuota |
Microsoft.Compute/disks | 복합 디스크 읽기 바이트/초 |
Microsoft.Compute/disks | 복합 디스크 읽기 작업/초 |
Microsoft.Compute/disks | 복합 디스크 쓰기 바이트/초 |
Microsoft.Compute/disks | 복합 디스크 쓰기 작업/초 |
Microsoft.ContainerService/managedClusters | NodesCount |
Microsoft.ContainerService/managedClusters | PodCount |
Microsoft.ContainerService/managedClusters | CompletedJobsCount |
Microsoft.ContainerService/managedClusters | RestartingContainerCount |
Microsoft.ContainerService/managedClusters | OomKilledContainerCount |
Microsoft.Devices/IotHubs | TotalDeviceCount |
Microsoft.Devices/IotHubs | ConnectedDeviceCount |
Microsoft.Devices/IotHubs | TotalDeviceCount |
Microsoft.Devices/IotHubs | ConnectedDeviceCount |
Microsoft.DocumentDB/databaseAccounts | CassandraConnectionClosures |
Microsoft.EventHub/clusters | 크기 |
Microsoft.EventHub/namespaces | 크기 |
Microsoft.IoTCentral/IoTApps | connectedDeviceCount |
Microsoft.IoTCentral/IoTApps | provisionedDeviceCount |
Microsoft.Kubernetes/connectedClusters | NodesCount |
Microsoft.Kubernetes/connectedClusters | PodCount |
Microsoft.Kubernetes/connectedClusters | CompletedJobsCount |
Microsoft.Kubernetes/connectedClusters | RestartingContainerCount |
Microsoft.Kubernetes/connectedClusters | OomKilledContainerCount |
Microsoft.MachineLearningServices/workspaces/onlineEndpoints | RequestsPerMinute |
Microsoft.MachineLearningServices/workspaces/onlineEndpoints/deployments | DeploymentCapacity |
Microsoft.Maps/accounts | CreatorUsage |
Microsoft.Media/mediaservices/streamingEndpoints | EgressBandwidth |
Microsoft.Network/applicationGateways | 처리량 |
Microsoft.Network/azureFirewalls | 처리량 |
Microsoft.Network/expressRouteGateways | ExpressRouteGatewayPacketsPerSecond |
Microsoft.Network/expressRouteGateways | ExpressRouteGatewayNumberOfVmInVnet |
Microsoft.Network/expressRouteGateways | ExpressRouteGatewayFrequencyOfRoutesChanged |
Microsoft.Network/virtualNetworkGateways | ExpressRouteGatewayBitsPerSecond |
Microsoft.Network/virtualNetworkGateways | ExpressRouteGatewayPacketsPerSecond |
Microsoft.Network/virtualNetworkGateways | ExpressRouteGatewayNumberOfVmInVnet |
Microsoft.Network/virtualNetworkGateways | ExpressRouteGatewayFrequencyOfRoutesChanged |
Microsoft.ServiceBus/namespaces | 크기 |
Microsoft.ServiceBus/namespaces | 메시지 |
Microsoft.ServiceBus/namespaces | ActiveMessages |
Microsoft.ServiceBus/namespaces | DeadletteredMessages |
Microsoft.ServiceBus/namespaces | ScheduledMessages |
Microsoft.ServiceFabricMesh/applications | AllocatedCpu |
Microsoft.ServiceFabricMesh/applications | AllocatedMemory |
Microsoft.ServiceFabricMesh/applications | ActualCpu |
Microsoft.ServiceFabricMesh/applications | ActualMemory |
Microsoft.ServiceFabricMesh/applications | ApplicationStatus |
Microsoft.ServiceFabricMesh/applications | ServiceStatus |
Microsoft.ServiceFabricMesh/applications | ServiceReplicaStatus |
Microsoft.ServiceFabricMesh/applications | ContainerStatus |
Microsoft.ServiceFabricMesh/applications | RestartCount |
Microsoft.Storage/storageAccounts | UsedCapacity |
Microsoft.Storage/storageAccounts/blobServices | BlobCapacity |
Microsoft.Storage/storageAccounts/blobServices | BlobCount |
Microsoft.Storage/storageAccounts/blobServices | BlobProvisionedSize |
Microsoft.Storage/storageAccounts/blobServices | IndexCapacity |
Microsoft.Storage/storageAccounts/fileServices | FileCapacity |
Microsoft.Storage/storageAccounts/fileServices | FileCount |
Microsoft.Storage/storageAccounts/fileServices | FileShareCount |
Microsoft.Storage/storageAccounts/fileServices | FileShareSnapshotCount |
Microsoft.Storage/storageAccounts/fileServices | FileShareSnapshotSize |
Microsoft.Storage/storageAccounts/fileServices | FileShareCapacityQuota |
Microsoft.Storage/storageAccounts/fileServices | FileShareProvisionedIOPS |
관련 콘텐츠
동적 임계값에 대한 피드백이 있는 경우 이메일을 보내주세요.