다음을 통해 공유


이전 버전에서 만든 경고 규칙 관리

이 문서에서는 이전 UI에서 만든 경고 규칙을 관리하거나 API 버전 2018-04-16 이하를 사용하는 프로세스를 설명합니다. 최신 UI에서 만들어진 경고 규칙은 Azure Monitor를 사용하여 로그 검색 경고 만들기, 보기 및 관리에 설명된 대로 새 UI에서 보고 관리됩니다.

로그 검색 경고 규칙 만들기 환경에 대한 변경 내용

현재 경고 규칙 마법사는 이전 환경과 다릅니다.

  • 이전에는 검색 결과가 트리거된 경고의 페이로드 및 연관된 알림에 포함되었습니다. 이메일에는 필터링되지 않은 결과의 10개 행만 포함된 반면 웹후크 페이로드에는 필터링되지 않은 결과 1000개가 포함되어 있습니다. 적절한 작업을 결정할 수 있도록 경고에 대한 자세한 컨텍스트 정보를 얻으려면:
    • 차원을 사용하는 것이 좋습니다. 차원은 경고를 발생시킨 열 값을 제공하여 경고가 발생한 이유와 문제를 해결하는 방법에 대한 컨텍스트를 제공합니다.
    • 로그를 조사해야 할 때는 경고의 검색 결과 경고의 링크를 사용합니다.
    • 원시 검색 결과가 필요하거나 다른 고급 사용자 지정의 경우에는 Azure Logic Apps를 사용합니다.
  • 새 경고 규칙 마법사는 JSON 페이로드의 사용자 지정을 지원하지 않습니다.
    • 새 API에서 사용자 지정 속성을 사용하여 경고에 의해 트리거되는 웹후크 작업에 정적 매개 변수 및 관련 값을 추가합니다.
    • 고급 사용자 지정을 위해 Azure Logic Apps를 사용합니다.
  • 새 경고 규칙 마법사는 이메일 제목의 사용자 지정을 지원하지 않습니다.
    • 고객은 Log Analytics 작업 영역을 사용하는 대신 사용자 지정 이메일 제목을 사용하여 경고가 발생한 리소스를 나타내는 경우가 많습니다. 새 API를 사용하여 리소스 ID 열을 사용할 때 원하는 리소스에 대한 경고를 트리거합니다.
    • 고급 사용자 지정을 위해 Azure Logic Apps를 사용합니다.

Azure Portal에서 이전 버전으로 만든 경고 규칙 관리

  1. Azure 포털에서 원하는 리소스를 선택합니다.

  2. 모니터링에서 경고를 선택합니다.

  3. 위쪽 표시줄에서 경고 규칙을 선택합니다.

  4. 편집할 경고 규칙을 선택합니다.

  5. 조건 섹션에서 조건을 선택합니다.

  6. 쿼리에 대한 기록 데이터가 그래프로 표시되는 신호 논리 구성 창이 열립니다. 차트의 기간을 변경하여 지난 6시간에서 지난 주까지의 데이터를 표시할 수 있습니다. 쿼리 결과에 요약된 데이터 또는 시계열 없는 특정 열이 포함된 경우 차트에 단일 값이 표시됩니다.

  7. 다음 섹션을 사용하여 경고 규칙 조건을 편집합니다.

    • 검색 쿼리: 이 섹션에서 쿼리를 수정할 수 있습니다.

    • 경고 논리: 로그 검색 경고는 다음 두 가지 유형의 측정값을 기반으로 할 수 있습니다.

      1. 결과 수: 쿼리에서 반환하는 전체 레코드의 수입니다.
      2. 메트릭 측정: 집계 값은 선택한 식과 bin() 선택에 의해 그룹화된 summarize를 사용하여 계산됩니다. 예:
        // Reported errors
        union Event, Syslog // Event table stores Windows event records, Syslog stores Linux records
        | where EventLevelName == "Error" // EventLevelName is used in the Event (Windows) records
        or SeverityLevel== "err" // SeverityLevel is used in Syslog (Linux) records
        | summarize AggregatedValue = count() by Computer, bin(TimeGenerated, 15m)
        

      메트릭 측정 경고 논리의 경우 집계 기준 옵션을 사용하여 차원별로 경고를 분할하는 방법을 지정할 수 있습니다. 행 그룹화 식은 고유하고 정렬되어야 합니다.

      bin() 함수에서 시간 간격이 일정하지 않을 수 있으므로 경고 서비스는 런타임 시 자동으로 적절한 시간에 bin() 함수를 binat() 함수로 변환하여 고정 시점이 포함된 결과를 보장합니다.

      참고 항목

      차원별 경고 분할 옵션은 현재 scheduledQueryRules API에 대해서만 사용할 수 있습니다. 레거시 Log Analytics Alert API를 사용하는 경우 전환해야 합니다. 샘플링에 대해 자세히 알아보세요. 리소스 중심의 대규모 경고는 API 버전 2021-08-01 이상에서만 지원됩니다.

      집계를 보여 주는 스크린샷.

    • 기간: 기간 옵션을 사용하여 지정된 조건을 평가할 시간 범위를 선택합니다.

  8. 조건 편집을 마치면 완료를 선택합니다.

  9. 미리 보기 데이터를 사용하여 연산자, 임계값빈도를 설정합니다.

  10. 총계 또는 연속 위반을 사용하여 경고를 트리거할 위반 수를 설정합니다.

  11. 완료를 선택합니다.

  12. 설명심각도 규칙을 편집할 수 있습니다. 이러한 세부 정보는 모든 경고 작업에 사용됩니다. 만들면 바로 사용을 선택하여 생성 시 경고 규칙을 즉시 사용하도록 선택할 수 있습니다.

  13. 경고가 발생한 후 지정된 시간 동안 규칙 작업을 억제하려면 경고 표시 안 함 옵션을 사용합니다. 규칙은 계속 실행되고 경고를 만들지만 노이즈를 방지하기 위해 작업이 트리거되지 않습니다. 음소거 작업 값이 적용되려면 경고 빈도보다 커야 합니다.

    경고 세부 정보 창을 보여 주는 스크린샷.

  14. 경고를 상태 저장으로 설정하려면 자동으로 경고 해결(미리 보기)을 선택합니다.

  15. 경고 조건이 충족되면 경고 규칙이 하나 이상의 작업 그룹을 트리거할지 여부를 지정합니다. 수행할 수 있는 작업에 대한 제한은 Azure Monitor 서비스 제한을 참조하세요.

  16. (선택 사항) 로그 검색 경고 규칙에서 작업을 사용자 지정합니다.

    • 사용자 지정 이메일 제목: 이메일 작업의 이메일 제목을 재정의합니다. 메일 본문은 수정할 수 없으며, 이 필드는 이메일 주소에 대한 필드가 아닙니다.
    • 웹후크용 사용자 지정 JSON 페이로드 포함: 작업 그룹에 웹후크 작업이 있다고 가정하고 작업 그룹에서 사용하는 웹후크 JSON을 재정의합니다. 로그 검색 경고용 웹후크 작업에 대해 자세히 알아봅니다.

    로그 검색 경고에 대한 작업 재정의를 보여 주는 스크린샷.

  17. 모든 경고 규칙 옵션 편집을 마쳤으면 저장을 선택합니다.

PowerShell을 사용하여 로그 검색 경고 관리

참고 항목

Azure Az PowerShell 모듈을 사용하여 Azure와 상호 작용하는 것이 좋습니다. 시작하려면 Azure PowerShell 설치를 참조하세요. Az PowerShell 모듈로 마이그레이션하는 방법에 대한 자세한 내용은 Azure PowerShell을 AzureRM에서 Azure로 마이그레이션을 참조하세요.

다음 PowerShell cmdlet을 사용하여 Scheduled Query Rules API로 규칙을 관리합니다.

참고 항목

ScheduledQueryRules PowerShell cmdlet은 이 버전의 Scheduled Query Rules API에서 만들어진 규칙만 관리할 수 있습니다. 레거시 Log Analytics Alert API를 사용하여 만든 로그 검색 경고 규칙은 Scheduled Query Rules API로 전환한 이후에만 PowerShell을 사용하여 관리할 수 있습니다.

다음은 PowerShell을 사용하여 로그 검색 경고 규칙을 만드는 단계의 예입니다.

$source = New-AzScheduledQueryRuleSource -Query 'Heartbeat | summarize AggregatedValue = count() by bin(TimeGenerated, 5m), _ResourceId' -DataSourceId "/subscriptions/a123d7efg-123c-1234-5678-a12bc3defgh4/resourceGroups/contosoRG/providers/microsoft.OperationalInsights/workspaces/servicews"
$schedule = New-AzScheduledQueryRuleSchedule -FrequencyInMinutes 15 -TimeWindowInMinutes 30
$metricTrigger = New-AzScheduledQueryRuleLogMetricTrigger -ThresholdOperator "GreaterThan" -Threshold 2 -MetricTriggerType "Consecutive" -MetricColumn "_ResourceId"
$triggerCondition = New-AzScheduledQueryRuleTriggerCondition -ThresholdOperator "LessThan" -Threshold 5 -MetricTrigger $metricTrigger
$aznsActionGroup = New-AzScheduledQueryRuleAznsActionGroup -ActionGroup "/subscriptions/a123d7efg-123c-1234-5678-a12bc3defgh4/resourceGroups/contosoRG/providers/microsoft.insights/actiongroups/sampleAG" -EmailSubject "Custom email subject" -CustomWebhookPayload "{ `"alert`":`"#alertrulename`", `"IncludeSearchResults`":true }"
$alertingAction = New-AzScheduledQueryRuleAlertingAction -AznsAction $aznsActionGroup -Severity "3" -Trigger $triggerCondition
New-AzScheduledQueryRule -ResourceGroupName "contosoRG" -Location "Region Name for your Application Insights App or Log Analytics Workspace" -Action $alertingAction -Enabled $true -Description "Alert description" -Schedule $schedule -Source $source -Name "Alert Name"

교차 리소스 쿼리가 포함된 PowerShell을 사용하여 로그 검색 경고 규칙을 만드는 예제 단계는 다음과 같습니다.

$authorized = @ ("/subscriptions/a123d7efg-123c-1234-5678-a12bc3defgh4/resourceGroups/contosoRG/providers/microsoft.OperationalInsights/workspaces/servicewsCrossExample", "/subscriptions/a123d7efg-123c-1234-5678-a12bc3defgh4/resourceGroups/contosoRG/providers/microsoft.insights/components/serviceAppInsights")
$source = New-AzScheduledQueryRuleSource -Query 'Heartbeat | summarize AggregatedValue = count() by bin(TimeGenerated, 5m), _ResourceId' -DataSourceId "/subscriptions/a123d7efg-123c-1234-5678-a12bc3defgh4/resourceGroups/contosoRG/providers/microsoft.OperationalInsights/workspaces/servicews" -AuthorizedResource $authorized
$schedule = New-AzScheduledQueryRuleSchedule -FrequencyInMinutes 15 -TimeWindowInMinutes 30
$metricTrigger = New-AzScheduledQueryRuleLogMetricTrigger -ThresholdOperator "GreaterThan" -Threshold 2 -MetricTriggerType "Consecutive" -MetricColumn "_ResourceId"
$triggerCondition = New-AzScheduledQueryRuleTriggerCondition -ThresholdOperator "LessThan" -Threshold 5 -MetricTrigger $metricTrigger
$aznsActionGroup = New-AzScheduledQueryRuleAznsActionGroup -ActionGroup "/subscriptions/a123d7efg-123c-1234-5678-a12bc3defgh4/resourceGroups/contosoRG/providers/microsoft.insights/actiongroups/sampleAG" -EmailSubject "Custom email subject" -CustomWebhookPayload "{ `"alert`":`"#alertrulename`", `"IncludeSearchResults`":true }"
$alertingAction = New-AzScheduledQueryRuleAlertingAction -AznsAction $aznsActionGroup -Severity "3" -Trigger $triggerCondition
New-AzScheduledQueryRule -ResourceGroupName "contosoRG" -Location "Region Name for your Application Insights App or Log Analytics Workspace" -Action $alertingAction -Enabled $true -Description "Alert description" -Schedule $schedule -Source $source -Name "Alert Name" 

PowerShell을 사용하여 템플릿 및 매개 변수 파일을 사용하여 로그 검색 경고를 만들 수도 있습니다.

Connect-AzAccount
Select-AzSubscription -SubscriptionName <yourSubscriptionName>
New-AzResourceGroupDeployment -Name AlertDeployment -ResourceGroupName ResourceGroupofTargetResource `
  -TemplateFile mylogalerttemplate.json -TemplateParameterFile mylogalerttemplate.parameters.json

다음 단계