새 경고 규칙 만들기

이 문서에서는 경고 규칙을 만드는 방법을 보여 줍니다. 여기에서 경고에 대해 자세히 알아봅니다.

다음을 결합하여 경고 규칙을 만듭니다.

  • 모니터링할 리소스
  • 리소스의 신호 또는 원격 분석 데이터
  • 조건

그런 후 다음을 사용하여 결과 경고 작업에 대해 이러한 요소를 정의합니다.

Azure Portal에서 새 경고 규칙 만들기

  1. 포털에서 모니터를 선택한 다음 경고를 선택합니다.

  2. + 만들기 메뉴를 확장하고 경고 규칙을 선택합니다.

    새 경고 규칙을 만드는 단계를 보여 주는 스크린샷

  3. 리소스 선택 창에서 경고 규칙의 범위를 설정합니다. 구독, 리소스 종류, 리소스 위치로 필터링하거나 검색할 수 있습니다.

    선택한 리소스에 대한 사용 가능한 신호 유형은 창의 오른쪽 하단에 있습니다.

    새 경고 규칙을 만들기 위한 리소스 선택 창을 보여 주는 스크린샷

  4. 선택한 범위에 추가되는 모든 향후 리소스를 포함하려면 모든 향후 리소스 포함을 선택합니다.

  5. 완료를 선택합니다.

  6. 페이지 하단에서 다음: 조건>을 선택합니다.

  7. 신호 선택 창에서 신호 유형모니터 서비스를 사용하여 신호 목록을 필터링합니다.

    • 신호 유형: 생성 중인 경고 규칙 유형입니다.
    • 모니터 서비스: 신호를 보내는 서비스입니다. 이 목록은 선택한 경고 규칙 유형에 따라 미리 채워집니다.

    이 표에서는 각 경고 규칙 유형에 사용할 수 있는 서비스에 대해 설명합니다.

    신호 유형 서비스 모니터링 Description
    메트릭 플랫폼 메트릭 신호의 경우 모니터 서비스는 메트릭 네임스페이스입니다. '플랫폼'은 메트릭이 리소스 공급자, 즉 'Azure'에서 제공됨을 의미합니다.
    Azure.ApplicationInsights Application Insights SDK에서 보낸 고객이 보고한 메트릭입니다.
    Azure.VM.Windows.GuestMetrics VM에서 실행되는 확장에 의해 수집되는 VM 게스트 메트릭입니다. 기본 제공 운영 체제 성능 카운터 및 사용자 지정 성능 카운터를 포함할 수 있습니다.
    <사용자 지정 네임스페이스> Azure Monitor 메트릭 API로 전송된 사용자 지정 메트릭을 포함하는 사용자 지정 메트릭 네임스페이스입니다.
    로그 Log Analytics '사용자 지정 로그 검색' 및 '로그(저장된 쿼리)' 신호를 제공하는 서비스입니다.
    활동 로그 활동 로그 – 관리 '관리' 활동 로그 이벤트를 제공하는 서비스입니다.
    활동 로그 – 정책 '정책' 활동 로그 이벤트를 제공하는 서비스입니다.
    활동 로그 – 자동 크기 조정 '자동 크기 조정' 활동 로그 이벤트를 제공하는 서비스입니다.
    활동 로그 – 보안 '보안' 활동 로그 이벤트를 제공하는 서비스입니다.
    리소스 상태 리소스 상태 리소스 수준 상태를 제공하는 서비스입니다.
    서비스 상태 서비스 상태 구독 수준 상태를 제공하는 서비스입니다.
  8. 신호 이름을 선택하고 생성 중인 경고 형식에 해당하는 아래 탭의 단계를 따릅니다.

    1. 신호 논리 구성 창에서 선택한 메트릭 신호의 결과를 미리 볼 수 있습니다. 다음 필드에 대한 값을 선택합니다.

      필드 Description
      시계열 선택 결과에 포함할 시계열을 선택합니다.
      차트 기간 결과에 포함할 기간을 선택합니다. 지난 6시간에서 마지막 주까지일 수 있습니다.
    2. (선택 사항) 신호 유형에 따라 크기로 분할 섹션이 표시될 수 있습니다.

      차원은 메트릭 값에 대한 추가 데이터를 포함하는 이름-값 쌍입니다. 차원을 사용하면 모든 차원 값의 집계를 모니터링하는 대신 메트릭을 필터링하고 특정 시계열을 모니터링할 수 있습니다. 차원은 숫자 또는 문자열 열일 수 있습니다.

      차원 값을 두 개 이상 선택하면 조합의 결과인 각 시계열이 자체 경고를 트리거하고 별도로 요금이 청구됩니다. 예를 들어 스토리지 계정의 트랜잭션 메트릭에는 각 트랜잭션에서 호출하는 API의 이름(예: GetBlob, DeleteBlob, PutPage)을 포함하는 API 이름 차원이 있을 수 있습니다. 특정 API(집계 데이터)에 트랜잭션 수가 많을 때 경고가 발생하도록 선택하거나 차원을 사용하여 특정 API에 대한 트랜잭션 수가 많을 때만 경고할 수 있습니다.

      필드 설명
      차원 이름 차원은 숫자 또는 문자열 열일 수 있습니다. 차원은 특정 시계열을 모니터링하고 발생한 경고에 대한 컨텍스트를 제공하는 데 사용됩니다.
      Azure 리소스 ID 열을 분할하면 지정된 리소스가 경고 대상이 됩니다. 검색되면 ResourceID 열이 자동으로 선택되고 실행된 경고의 컨텍스트가 레코드 리소스로 변경됩니다.
      연산자 차원 이름 및 값에 사용되는 연산자입니다.
      차원 값 차원 값은 지난 48시간 동안의 데이터를 기준으로 합니다. 사용자 지정 값 추가를 선택하여 사용자 지정 차원 값을 추가합니다.
      모든 미래 값 포함 선택한 차원에 추가되는 향후 값을 포함하려면 이 필드를 선택합니다.
    3. 경고 논리 섹션에서 다음을 수행합니다.

      필드 Description
      임계값 임계값을 정적 값 또는 동적 값을 기준으로 평가해야 하는지 여부를 선택합니다.
      정적 임계값은 구성한 임계값을 사용하여 규칙을 평가합니다.
      동적 임계값은 기계 학습 알고리즘을 사용하여 메트릭 동작 패턴을 지속적으로 학습하고 예기치 않은 동작에 대한 적절한 임계값을 계산합니다. 메트릭 경고에 대한 동적 임계값 사용에 대해 자세히 알아볼 수 있습니다.
      연산자 메트릭 값을 임계값과 비교할 연산자를 선택합니다.
      집계 유형 데이터 포인트에 적용할 집계 함수(합계, 개수, 평균, 최소 또는 최대)를 선택합니다.
      임계값 정적 임계값을 선택한 경우 조건 논리에 대한 임계값을 입력합니다.
      단위 선택한 메트릭 신호가 바이트, KB, MB 및 GB와 같은 다른 단위를 지원하고 정적 임계값을 선택한 경우 조건 논리의 단위를 입력합니다.
      임계값 민감도 동적 임계값을 선택한 경우 민감도 수준을 입력합니다. 민감도 수준은 경고를 트리거하는 데 필요한 메트릭 계열 패턴과의 편차 정도에 영향을 줍니다.
      집계 세분성 집계 형식 함수를 사용하여 데이터 요소를 그룹화하는 데 사용되는 간격을 선택합니다. 평가 빈도보다 큰 집계 세분성(기간)을 선택하여 추가된 시계열의 첫 번째 평가 기간이 누락될 가능성을 줄입니다.
      평가 빈도 경고 규칙 실행 빈도를 선택합니다. 집계 세분성보다 작은 빈도를 선택하여 평가에 대한 슬라이딩 윈도우를 생성합니다.
    4. 완료를 선택합니다.

    이제부터는 언제든지 검토 + 만들기 단추를 선택할 수 있습니다.

  9. 작업 탭에서 필요한 작업 그룹을 선택하거나 만듭니다.

  10. (선택 사항) 작업 그룹에 대한 데이터 처리가 특정 지역 내에서 수행되도록 하려면 작업 그룹을 처리할 다음 지역 중 하나에서 작업 그룹을 선택할 수 있습니다.

    • 스웨덴 중부
    • 독일 중서부

    참고

    지역 데이터 처리를 위한 지역을 지속적으로 추가하고 있습니다.

    새 경고 규칙을 만들 때 작업 탭의 스크린샷

  11. 세부 정보 탭에서 프로젝트 세부 정보를 정의합니다.

    • 구독을 선택합니다.
    • 리소스 그룹을 선택합니다.
    • (선택 사항) 범위가 아래 지역 중 하나로 정의된 사용자 지정 메트릭을 모니터링하는 메트릭 경고 규칙을 만들고 경고 규칙에 대한 데이터 처리가 해당 지역 내에서 발생하도록 하려는 경우 다음 지역 중 하나의 경고 규칙을 처리하도록 선택할 수 있습니다.
      • 북유럽
      • 서유럽
      • 스웨덴 중부
      • 독일 중서부

    참고

    지역 데이터 처리를 위한 지역을 지속적으로 추가하고 있습니다.

  12. 경고 규칙 세부 정보를 정의합니다.

    1. 심각도를 선택합니다.

    2. 경고 규칙 이름경고 규칙 설명 값을 입력합니다.

    3. 지역을 선택합니다.

    4. (선택 사항) 고급 옵션 섹션에서 여러 옵션을 설정할 수 있습니다.

      필드 Description
      만들어지면 바로 사용 경고 규칙 만들기가 완료되는 즉시 실행을 시작하려면 선택합니다.
      경고 자동 해결(미리 보기) 경고를 상태 저장으로 만들려면 선택합니다. 조건이 더 이상 충족되지 않으면 경고가 해결됩니다.
    5. (선택 사항) 이 경고 규칙에 대한 작업 그룹을 구성한 경우 경고 페이로드에 사용자 지정 속성을 추가하여 페이로드에 추가 정보를 추가할 수 있습니다. 사용자 지정 속성 섹션에서 페이로드에 포함할 사용자 지정 속성의 이름 속성을 추가합니다.

      새 경고 규칙을 만들 때 세부 정보 탭의 스크린샷

  13. 태그 탭에서 경고 규칙 리소스에 필요한 태그를 설정합니다.

    새 경고 규칙을 만들 때의 태그 탭 스크린샷

  14. 검토 + 만들기 탭에서 유효성 검사가 실행되고 문제에 대한 알림이 표시됩니다.

  15. 유효성 검사를 통과하고 설정을 검토했으면 만들기 단추를 선택합니다.

    새 경고 규칙을 만들 때 검토 및 만들기 탭의 스크린샷

CLI를 사용하여 새 경고 규칙 만들기

Azure CLI를 사용하여 새 경고 규칙을 만들 수 있습니다. 아래 코드 예는 Azure Cloud Shell을 사용하고 있습니다. Azure Monitor용 Azure CLI 명령의 전체 목록을 볼 수 있습니다.

  1. 포털에서 Cloud Shell을 선택하고 프롬프트에서 다음 명령을 사용합니다.

    메트릭 경고 규칙을 만들려면 az monitor metrics alert create 명령을 사용합니다. 메트릭 경고에 대한 CLI 참조 설명서az 모니터 메트릭 경고 만들기 섹션에서 메트릭 경고 규칙 만들기 명령에 대한 자세한 설명서를 볼 수 있습니다.

    VM의 평균 CPU 백분율이 90보다 큰지 모니터링하는 메트릭 경고 규칙을 만들려면:

     az monitor metrics alert create -n {nameofthealert} -g {ResourceGroup} --scopes {VirtualMachineResourceID} --condition "avg Percentage CPU > 90" --description {descriptionofthealert}
    

PowerShell을 사용하여 새 경고 규칙 만들기

  • PowerShell을 사용하여 메트릭 경고 규칙을 만들려면 다음 cmdlet을 사용합니다. Add-AzMetricAlertRuleV2
  • PowerShell을 사용하여 로그 경고 규칙을 만들려면 New-AzScheduledQueryRule cmdlet을 사용합니다.
  • PowerShell을 사용하여 활동 로그 경고 규칙을 만들려면 다음 cmdlet을 사용합니다. Set-AzActivityLogAlert

활동 로그 창에서 활동 로그 경고 규칙 만들기

이미 발생한 활동 로그 이벤트와 유사한 향후 이벤트에 대한 활동 로그 경고를 만들 수도 있습니다.

  1. 포털에서 활동 로그 창으로 이동합니다.

  2. 원하는 이벤트를 필터링하거나 찾은 다음 활동 로그 경고 추가를 선택하여 경고를 만듭니다.

    활동 로그 이벤트에서 경고 규칙을 만드는 스크린샷

  3. 이전에 선택한 활동 로그 이벤트에 따라 범위 및 조건이 이미 제공된 경고 규칙 만들기 마법사가 열립니다. 필요한 경우 이 단계에서 범위와 조건을 편집하고 수정할 수 있습니다. 기본적으로 새 규칙의 정확한 범위와 조건은 원래 이벤트 특성에서 복사됩니다. 예를 들어, 이벤트가 발생한 정확한 리소스와 이벤트를 시작한 특정 사용자 또는 서비스 이름은 모두 기본값으로 새 경고 규칙에 포함됩니다. 경고 규칙을 보다 일반화하려면 범위 및 조건을 적절하게 수정합니다("Azure Monitor 경고 창에서 경고 규칙 만들기" 섹션의 3-9단계 참조).

  4. Azure Portal에서 새 경고 규칙 만들기의 나머지 단계를 따릅니다.

Azure Resource Manager 템플릿을 사용하여 활동 로그 경고 규칙 만들기

Azure Resource Manager 템플릿을 사용하여 활동 로그 경고 규칙을 만들려면 microsoft.insights/activityLogAlerts 리소스를 만들고 모든 관련 속성을 입력합니다.

참고

활동 로그 경고를 정의할 수 있는 가장 높은 수준은 구독 수준입니다. 구독별로 경고할 경고를 정의합니다. 두 개의 구독에 대한 경고를 정의할 수 없습니다.

다음 필드는 조건 필드에 대한 Azure Resource Manager 템플릿의 옵션입니다. (Resource Health, AdvisorService Health 필드에는 추가 속성 필드가 있습니다.)

필드 Description
resourceId 경고가 생성된 활동 로그 이벤트에서 영향을 받는 리소스의 리소스 ID입니다.
category 활동 로그 이벤트의 범주입니다. 가능한 값은 Administrative, ServiceHealth, ResourceHealth, Autoscale, Security, Recommendation 또는 Policy입니다.
caller 활동 로그 이벤트의 작업을 수행한 사용자의 메일 주소 또는 Azure Active Directory 식별자입니다.
수준 경고에 대한 활동 로그 이벤트의 작업 수준입니다. 가능한 값은 Critical, Error, Warning, Informational 또는 Verbose입니다.
operationName 활동 로그 이벤트의 작업 이름입니다. 가능한 값은 Microsoft.Resources/deployments/write입니다.
resourceGroup 활동 로그 이벤트에서 영향을 받는 리소스의 리소스 그룹 이름입니다.
resourceProvider 자세한 내용은 Azure 리소스 공급자 및 유형을 참조하세요. 리소스 공급자를 Azure 서비스로 매핑하는 목록은 Azure 서비스용 리소스 공급자를 참조하세요.
상태 활동 이벤트의 작업 상태를 설명하는 문자열입니다. 가능한 값은 Started, In Progress, Succeeded, Failed, Active 또는 Resolved입니다.
subStatus 일반적으로 이 필드는 해당 REST 호출의 HTTP 상태 코드입니다. 이 필드에는 하위 상태를 설명하는 다른 문자열도 포함될 수 있습니다. HTTP 상태 코드의 예로는 OK (HTTP 상태 코드: 200), No Content (HTTP 상태 코드: 204) 및 Service Unavailable (HTTP 상태 코드: 503) 등이 있습니다.
resourceType 이벤트의 영향을 받은 리소스 종류입니다. 예: Microsoft.Resources/deployments.

이 예에서는 조건을 관리 범주로 설정합니다.

"condition": {
          "allOf": [
            {
              "field": "category",
              "equals": "Administrative"
            },
            {
              "field": "resourceType",
              "equals": "Microsoft.Resources/deployments"
            }
          ]
        }

다음은 관리 조건을 사용하여 활동 로그 경고 규칙을 만드는 템플릿의 예입니다.

{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "activityLogAlertName": {
      "type": "string",
      "metadata": {
        "description": "Unique name (within the Resource Group) for the Activity log alert."
      }
    },
    "activityLogAlertEnabled": {
      "type": "bool",
      "defaultValue": true,
      "metadata": {
        "description": "Indicates whether or not the alert is enabled."
      }
    },
    "actionGroupResourceId": {
      "type": "string",
      "metadata": {
        "description": "Resource Id for the Action group."
      }
    }
  },
  "resources": [   
    {
      "type": "Microsoft.Insights/activityLogAlerts",
      "apiVersion": "2017-04-01",
      "name": "[parameters('activityLogAlertName')]",      
      "location": "Global",
      "properties": {
        "enabled": "[parameters('activityLogAlertEnabled')]",
        "scopes": [
            "[subscription().id]"
        ],        
        "condition": {
          "allOf": [
            {
              "field": "category",
              "equals": "Administrative"
            },
            {
              "field": "operationName",
              "equals": "Microsoft.Resources/deployments/write"
            },
            {
              "field": "resourceType",
              "equals": "Microsoft.Resources/deployments"
            }
          ]
        },
        "actions": {
          "actionGroups":
          [
            {
              "actionGroupId": "[parameters('actionGroupResourceId')]"
            }
          ]
        }
      }
    }
  ]
}

이 샘플 JSON은 예를 들어 sampleActivityLogAlert.json으로 저장할 수 있습니다. Azure Portal에서 Azure Resource Manager를 사용하여 샘플을 배포할 수 있습니다.

활동 로그 필드에 대한 자세한 내용은 Azure 활동 로그 이벤트 스키마를 참조하세요.

참고

새로운 활동 로그 경고 규칙이 활성화되는 데에는 최대 5분이 걸릴 수 있습니다.

REST API를 사용하여 새 활동 로그 경고 규칙 만들기

Azure Monitor 활동 로그 경고 API는 REST API입니다. Azure Resource Manager REST API와 완전히 호환됩니다. Resource Manager cmdlet 또는 Azure CLI를 사용하여 PowerShell에서 사용할 수 있습니다.

참고

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

PowerShell을 사용하여 Resource Manager 템플릿 배포

PowerShell을 사용하여 이전 섹션 섹션에 표시된 샘플 Resource Manager 템플릿을 배포하려면 다음 명령을 사용합니다.

New-AzResourceGroupDeployment -ResourceGroupName "myRG" -TemplateFile sampleActivityLogAlert.json -TemplateParameterFile sampleActivityLogAlert.parameters.json

sampleActivityLogAlert.parameters.json 파일에는 경고 규칙 생성에 필요한 매개 변수에 대해 제공된 값이 있습니다.

로그 경고 규칙 만들기 환경 변경

새 로그 경고 규칙을 만드는 경우 현재 경고 규칙 마법사가 이전 환경과 약간 다릅니다.

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

다음 단계