다음을 통해 공유


일반 경고 스키마

공통 경고 스키마는 Azure Monitor 경고 알림의 사용을 표준화합니다. 지금까지 활동 로그, 메트릭 및 로그 검색 경고에는 각각 고유한 이메일 템플릿과 웹후크 스키마가 있었습니다. 공통 경고 스키마는 모든 경고 알림에 대해 하나의 표준화된 스키마를 제공합니다.

표준화된 스키마를 사용하면 통합 수를 최소화하여 통합 관리 및 유지 프로세스를 간소화하는 데 도움이 될 수 있습니다. 공통 스키마를 사용하면 Azure Portal과 Azure 모바일 앱 모두에서 더 풍부한 경고 소비 환경을 사용할 수 있습니다.

공통 경고 스키마는 다음에 대해 일관된 구조를 제공합니다.

  • 이메일 템플릿: 자세한 이메일 템플릿을 사용하여 문제를 한눈에 진단합니다. 포털의 경고 인스턴스 및 영향을 받는 리소스로 연결되는 포함 링크를 통해 수정 프로세스로 빠르게 이동할 수 있습니다.
  • JSON 구조: 일관된 JSON 구조를 사용하여 다음을 사용해 모든 경고 유형에 대한 통합을 구축합니다.
    • Azure Logic Apps
    • Azure 기능
    • Azure Automation Runbook

참고 항목

  • VM 인사이트에서 생성된 경고는 일반 스키마를 지원하지 않습니다.
  • 스마트 검색 경고는 기본적으로 공통 스키마를 사용합니다. 스마트 검색 경고에 대해 공통 스키마를 사용하도록 설정할 필요가 없습니다.

공통 스키마의 구조

공통 스키마에는 영향을 받는 리소스에 대한 정보와 다음 섹션의 경고 원인이 포함됩니다.

  • 필수: 심각도나 설명과 같은 경고 및 일반 경고 메타데이터의 영향을 받는 리소스를 설명하는 모든 경고 형식에서 사용되는 표준화된 필드입니다.

    리소스 그룹과 같은 조건에 따라 경고 인스턴스를 특정 팀으로 라우팅하려는 경우 필수 섹션의 필드를 사용하여 모든 경고 형식에 대한 라우팅 논리를 제공할 수 있습니다. 경고 알림을 받은 팀은 조사를 위해 컨텍스트 필드를 사용할 수 있습니다.

  • 경고 컨텍스트: 경고 형식에 따라 달라지는 필드입니다. 경고 컨텍스트 필드는 경고의 원인을 설명합니다. 예를 들어 메트릭 경고에는 경고 컨텍스트에서 메트릭 이름과 메트릭 값과 같은 필드가 포함됩니다. 활동 로그 경고에는 경고를 일으킨 이벤트에 대한 정보가 포함됩니다.

  • 사용자 지정 속성: 기본적으로 경고 페이로드에 포함되지 않은 추가 정보는 사용자 지정 속성을 사용하여 경고 페이로드에 포함될 수 있습니다. 사용자 지정 속성은 경고 규칙에 구성된 정보를 포함할 수 있는 키:값 쌍입니다.

샘플 경고 페이로드

{
  "schemaId": "azureMonitorCommonAlertSchema",
  "data": {
    "essentials": {
      "alertId": "/subscriptions/<subscription ID>/providers/Microsoft.AlertsManagement/alerts/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
      "alertRule": "WCUS-R2-Gen2",
      "severity": "Sev3",
      "signalType": "Metric",
      "monitorCondition": "Resolved",
      "monitoringService": "Platform",
      "alertTargetIDs": [
        "/subscriptions/<subscription ID>/resourcegroups/pipelinealertrg/providers/microsoft.compute/virtualmachines/wcus-r2-gen2"
      ],
      "configurationItems": [
        "wcus-r2-gen2"
      ],
      "originAlertId": "3f2d4487-b0fc-4125-8bd5-7ad17384221e_PipeLineAlertRG_microsoft.insights_metricAlerts_WCUS-R2-Gen2_-117781227",
      "firedDateTime": "2019-03-22T13:58:24.3713213Z",
      "resolvedDateTime": "2019-03-22T14:03:16.2246313Z",
      "description": "",
      "essentialsVersion": "1.0",
      "alertContextVersion": "1.0"
    },
    "alertContext": {
      "properties": null,
      "conditionType": "SingleResourceMultipleMetricCriteria",
      "condition": {
        "windowSize": "PT5M",
        "allOf": [
          {
            "metricName": "Percentage CPU",
            "metricNamespace": "Microsoft.Compute/virtualMachines",
            "operator": "GreaterThan",
            "threshold": "25",
            "timeAggregation": "Average",
            "dimensions": [
              {
                "name": "ResourceId",
                "value": "3efad9dc-3d50-4eac-9c87-8b3fd6f97e4e"
              }
            ],
            "metricValue": 7.727
          }
        ]
      }
    },
    "customProperties": {
      "Key1": "Value1",
      "Key2": "Value2"
    }
  }
}

일반 스키마를 사용하는 샘플 경고는 샘플 경고 페이로드를 참조하세요.

필수 필드

필드 설명
alertId 경고 인스턴스를 식별하는 고유 리소스 ID입니다.
alertRule 경고 인스턴스를 생성한 경고 규칙의 이름입니다.
심각도 경고 심각도입니다. 가능한 값은 Sev0, Sev1, Sev2, Sev3 또는 Sev4입니다.
signalType 경고 규칙이 정의된 신호를 식별합니다. 가능한 값은 메트릭, 로그 또는 활동 로그입니다.
monitorCondition 경고가 발생할 때 경고의 모니터 조건은 실행됨으로 설정됩니다. 경고를 발생시킨 기본 조건이 사라지면 모니터 조건이 해결됨으로 설정됩니다.
monitoringService 경고를 생성한 모니터링 서비스 또는 솔루션입니다. 모니터링 서비스는 경고 컨텍스트에 있는 필드를 결정합니다.
alertTargetIDs 경고의 대상에 영향을 주는 Azure Resource Manager ID의 목록입니다. Log Analytics 작업 영역 또는 Application Insights 인스턴스에 정의된 로그 검색 경고의 경우 해당 작업 영역 또는 애플리케이션입니다.
configurationItems 경고의 영향을 받는 리소스 목록입니다.
경우에 따라 구성 항목이 경고 대상과 다를 수 있습니다. 예를 들어 Log Analytics 작업 영역에 정의된 로그에 대한 메트릭 또는 로그 검색 경고에서 구성 항목은 작업 영역이 아니라 데이터를 보내는 실제 리소스입니다.
  • 로그 검색 경고 API(Scheduled Query Rules) v2021-08-01에서 configurationItem 값은 _ResourceId, ResourceId, Resource, Computer의 순서로 명시적으로 정의된 차원에서 가져옵니다.
  • 로그 검색 경고 API의 이전 버전에서 configurationItem 값은 _ResourceId, ResourceId, Resource, Computer의 순서로 결과에서 암시적으로 가져옵니다.
ITSM 시스템에서 configurationItems 필드는 경고를 구성 관리 데이터베이스의 리소스에 연결하는 데 사용됩니다.
originAlertId 경고를 생성하는 모니터링 서비스에서 생성한 경고 인스턴스의 ID입니다.
firedDateTime 경고 인스턴스가 UTC(협정 세계시)로 실행된 날짜 및 시간입니다.
resolvedDateTime 경고 인스턴스의 모니터 조건이 UTC로 확인됨으로 설정된 날짜 및 시간입니다. 현재 메트릭 경고에만 적용됩니다.
description 경고 규칙에 정의된 설명입니다.
alertRuleID 경고 인스턴스를 생성한 경고 규칙의 ID입니다.
resourceType 경고의 영향을 받는 리소스 종류입니다.
resourceGroupName 영향을 받는 리소스의 리소스 그룹 이름입니다.
essentialsVersion 필수 섹션의 버전 번호입니다.
alertContextVersion alertContext 섹션의 버전 번호입니다.
investigationLink Azure Monitor에서 경고를 조사하기 위한 링크입니다. 현재 제한된 미리 보기 등록이 필요합니다.

메트릭 경고에 대한 경고 컨텍스트 필드

필드 설명
속성 선택 사항입니다. 고객 정의 속성 컬렉션입니다.
conditionType 경고 규칙에 대해 선택된 조건 형식:
- 정적 임계값
- 동적 임계값
- webtest
condition
windowSize 경고 규칙에서 분석한 기간입니다.
allOf 경고를 트리거하려면 경고 규칙에 정의된 모든 조건이 충족되어야 함을 나타냅니다.
alertSensitivity 동적 임계값이 있는 경고 규칙에서 규칙이 얼마나 중요한지 또는 값이 상한 또는 하한 임계값에서 벗어날 수 있는 정도를 나타냅니다.
failingPeriods 동적 임계값이 있는 경고 규칙에서 경고를 트리거할 경고 임계값을 충족하지 않는 평가 기간의 수입니다. 예를 들어, 마지막 5개의 평가 기간 중 3개가 경고 임계값 내에 있지 않을 때 경고가 트리거됨을 나타낼 수 있습니다.
numberOfEvaluationPeriods 총 평가 수입니다.
minFailingPeriodsToAlert 경고 규칙 조건을 충족하지 않는 최소 평가 수입니다.
ignoreDataBefore 선택 사항입니다. 동적 임계값이 있는 경고 규칙에서 임계값이 계산되는 날짜입니다. 이 값을 사용하여 규칙이 지정된 날짜 이전의 데이터를 사용하여 동적 임계값을 계산하지 않아야 함을 나타냅니다.
metricName 경고 규칙에서 모니터링하는 메트릭의 이름입니다.
metricNamespace 경고 규칙에서 모니터링하는 메트릭의 네임스페이스입니다.
operator 경고 규칙의 논리 연산자입니다.
threshold 경고 규칙에 정의된 임계값입니다. 동적 임계값이 있는 경고 규칙의 경우 이 값은 계산된 임계값입니다.
timeAggregation 경고 규칙의 집계 형식입니다.
dimensions 경고를 트리거한 메트릭 차원입니다.
name 차원 이름입니다.
value 차원 값입니다.
metricValue 임계값을 위반한 시점의 메트릭 값입니다.
webTestName 조건 형식이 webtest인 경우 웹 테스트의 이름입니다.
windowStartTime 경고가 발생한 평가 기간의 시작 시간입니다.
windowEndTime 경고가 발생한 평가 기간의 종료 시간입니다.

monitoringService = Platform인 경우 정적 임계값이 포함된 샘플 메트릭 경고

{
  "alertContext": {
      "properties": null,
      "conditionType": "SingleResourceMultipleMetricCriteria",
      "condition": {
        "windowSize": "PT5M",
        "allOf": [
          {
            "metricName": "Percentage CPU",
            "metricNamespace": "Microsoft.Compute/virtualMachines",
            "operator": "GreaterThan",
            "threshold": "25",
            "timeAggregation": "Average",
            "dimensions": [
              {
                "name": "ResourceId",
                "value": "3efad9dc-3d50-4eac-9c87-8b3fd6f97e4e"
              }
            ],
            "metricValue": 31.1105
          }
        ],
        "windowStartTime": "2019-03-22T13:40:03.064Z",
        "windowEndTime": "2019-03-22T13:45:03.064Z"
      }
    }
}

monitoringService = Platform인 경우 동적 임계값이 포함된 샘플 메트릭 경고

{
  "alertContext": {
      "properties": null,
      "conditionType": "DynamicThresholdCriteria",
      "condition": {
        "windowSize": "PT5M",
        "allOf": [
          {
            "alertSensitivity": "High",
            "failingPeriods": {
              "numberOfEvaluationPeriods": 1,
              "minFailingPeriodsToAlert": 1
            },
            "ignoreDataBefore": null,
            "metricName": "Egress",
            "metricNamespace": "microsoft.storage/storageaccounts",
            "operator": "GreaterThan",
            "threshold": "47658",
            "timeAggregation": "Total",
            "dimensions": [],
            "metricValue": 50101
          }
        ],
        "windowStartTime": "2021-07-20T05:07:26.363Z",
        "windowEndTime": "2021-07-20T05:12:26.363Z"
      }
    }
}

monitoringService = Platform인 경우 가용성 테스트에 대한 샘플 메트릭 경고

{
  "alertContext": {
      "properties": null,
      "conditionType": "WebtestLocationAvailabilityCriteria",
      "condition": {
        "windowSize": "PT5M",
        "allOf": [
          {
            "metricName": "Failed Location",
            "metricNamespace": null,
            "operator": "GreaterThan",
            "threshold": "2",
            "timeAggregation": "Sum",
            "dimensions": [],
            "metricValue": 5,
            "webTestName": "myAvailabilityTest-myApplication"
          }
        ],
        "windowStartTime": "2019-03-22T13:40:03.064Z",
        "windowEndTime": "2019-03-22T13:45:03.064Z"
      }
    }
}

로그 검색 경고에 대한 경고 컨텍스트 필드

참고 항목

공통 스키마를 사용하도록 설정하면 페이로드의 필드가 공통 스키마 필드로 초기화됩니다. 따라서 로그 검색 경고에는 공통 스키마와 관련하여 다음과 같은 제한 사항이 있습니다.

  • 공통 스키마는 사용자 지정 구성을 덮어쓰기 때문에 사용자 지정 이메일 제목 및/또는 JSON 페이로드와 함께 웹후크를 사용하는 로그 검색 경고에 대해 공통 스키마가 지원되지 않습니다.
  • 공통 스키마를 사용하는 경고는 경고당 크기 상한이 256KB입니다. 로그 검색 경고 페이로드에 경고가 최대 크기를 초과하게 만드는 검색 결과가 포함된 경우 검색 결과는 로그 검색 경고 페이로드에 포함되지 않습니다. IncludedSearchResults 플래그로 페이로드에 검색 결과가 포함되어 있는지 확인할 수 있습니다. 검색 결과가 포함되지 않은 경우 LinkToFilteredSearchResultsAPI 또는 LinkToSearchResultsAPI를 사용하여 Log Analytics API로 쿼리 결과에 액세스합니다.
필드 설명
SearchQuery 경고 규칙에 정의된 쿼리입니다.
SearchIntervalStartTimeUtc 경고가 발생한 평가 기간의 시작 시간(UTC 기준)입니다.
SearchIntervalEndTimeUtc 경고가 발생한 평가 기간의 종료 시간(UTC 기준)입니다.
ResultCount 쿼리에서 반환된 레코드 수입니다. 메트릭 측정 규칙의 경우 특정 차원 조합과 일치하는 숫자 또는 레코드입니다.
LinkToSearchResults 검색 결과에 대한 링크입니다.
LinkToFilteredSearchResultsUI 메트릭 측정 규칙의 경우 차원 조합으로 필터링된 후 검색 결과에 대한 링크입니다.
LinkToSearchResultsAPI Log Analytics API를 사용하는 쿼리 결과에 대한 링크입니다.
LinkToFilteredSearchResultsAPI 메트릭 측정 규칙의 경우 차원 조합으로 필터링된 후 Log Analytics API를 사용하는 검색 결과에 대한 링크입니다.
SearchIntervalDurationMin 검색 간격의 총 시간(분)입니다.
SearchIntervalInMin 검색 간격의 총 시간(분)입니다.
Threshold 경고 규칙에 정의된 임계값입니다.
연산자 경고 규칙에 정의된 연산자입니다.
ApplicationID 경고가 트리거된 Application Insights ID입니다.
차원 메트릭 측정 규칙의 경우 경고가 트리거된 메트릭 차원입니다.
name 차원 이름입니다.
value 차원 값입니다.
SearchResults 전체 검색 결과입니다.
table 검색 결과의 결과 테이블입니다.
name 검색 결과의 테이블 이름입니다.
테이블의 열입니다.
name 열 이름입니다.
type 열의 유형입니다.
rows 테이블의 행입니다.
DataSources 경고가 트리거된 데이터 원본입니다.
resourceID 경고의 영향을 받는 리소스 ID입니다.
테이블 쿼리에 포함된 초안 응답 테이블입니다.
IncludedSearchResults 페이로드에 결과가 포함되어야 하는지 여부를 나타내는 플래그입니다.
AlertType 경고 형식:
- 메트릭 측정
- 결과 수

monitoringService = Log Analytics일 때 샘플 로그 검색 경고

{
  "alertContext": {
    "SearchQuery": "Perf | where ObjectName == \"Processor\" and CounterName == \"% Processor Time\" | summarize AggregatedValue = avg(CounterValue) by bin(TimeGenerated, 5m), Computer",
    "SearchIntervalStartTimeUtc": "3/22/2019 1:36:31 PM",
    "SearchIntervalEndtimeUtc": "3/22/2019 1:51:31 PM",
    "ResultCount": 2,
    "LinkToSearchResults": "https://portal.azure.com/#Analyticsblade/search/index?_timeInterval.intervalEnd=2018-03-26T09%3a10%3a40.0000000Z&_timeInterval.intervalDuration=3600&q=Usage",
    "LinkToFilteredSearchResultsUI": "https://portal.azure.com/#Analyticsblade/search/index?_timeInterval.intervalEnd=2018-03-26T09%3a10%3a40.0000000Z&_timeInterval.intervalDuration=3600&q=Usage",
    "LinkToSearchResultsAPI": "https://api.loganalytics.io/v1/workspaces/workspaceID/query?query=Heartbeat&timespan=2020-05-07T18%3a11%3a51.0000000Z%2f2020-05-07T18%3a16%3a51.0000000Z",
    "LinkToFilteredSearchResultsAPI": "https://api.loganalytics.io/v1/workspaces/workspaceID/query?query=Heartbeat&timespan=2020-05-07T18%3a11%3a51.0000000Z%2f2020-05-07T18%3a16%3a51.0000000Z",
    "SeverityDescription": "Warning",
    "WorkspaceId": "12345a-1234b-123c-123d-12345678e",
    "SearchIntervalDurationMin": "15",
    "AffectedConfigurationItems": [
      "INC-Gen2Alert"
    ],
    "SearchIntervalInMinutes": "15",
    "Threshold": 10000,
    "Operator": "Less Than",
    "Dimensions": [
      {
        "name": "Computer",
        "value": "INC-Gen2Alert"
      }
    ],
    "SearchResults": {
      "tables": [
        {
          "name": "PrimaryResult",
          "columns": [
            {
              "name": "$table",
              "type": "string"
            },
            {
              "name": "Computer",
              "type": "string"
            },
            {
              "name": "TimeGenerated",
              "type": "datetime"
            }
          ],
          "rows": [
            [
              "Fabrikam",
              "33446677a",
              "2018-02-02T15:03:12.18Z"
            ],
            [
              "Contoso",
              "33445566b",
              "2018-02-02T15:16:53.932Z"
            ]
          ]
        }
      ],
      "dataSources": [
        {
          "resourceId": "/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourcegroups/test/providers/microsoft.operationalinsights/workspaces/test",
          "tables": [
            "Heartbeat"
          ]
        }
      ]
    },
    "IncludedSearchResults": "True",
    "AlertType": "Metric measurement"
  }
}

monitoringService = Application Insights인 경우 샘플 로그 검색 경고

{
  "alertContext": {
    "SearchQuery": "requests | where resultCode == \"500\" | summarize AggregatedValue = Count by bin(Timestamp, 5m), IP",
    "SearchIntervalStartTimeUtc": "3/22/2019 1:36:33 PM",
    "SearchIntervalEndtimeUtc": "3/22/2019 1:51:33 PM",
    "ResultCount": 2,
    "LinkToSearchResults": "https://portal.azure.com/AnalyticsBlade/subscriptions/12345a-1234b-123c-123d-12345678e/?query=search+*+&timeInterval.intervalEnd=2018-03-26T09%3a10%3a40.0000000Z&_timeInterval.intervalDuration=3600&q=Usage",
    "LinkToFilteredSearchResultsUI": "https://portal.azure.com/AnalyticsBlade/subscriptions/12345a-1234b-123c-123d-12345678e/?query=search+*+&timeInterval.intervalEnd=2018-03-26T09%3a10%3a40.0000000Z&_timeInterval.intervalDuration=3600&q=Usage",
    "LinkToSearchResultsAPI": "https://api.applicationinsights.io/v1/apps/0MyAppId0/metrics/requests/count",
    "LinkToFilteredSearchResultsAPI": "https://api.applicationinsights.io/v1/apps/0MyAppId0/metrics/requests/count",
    "SearchIntervalDurationMin": "15",
    "SearchIntervalInMinutes": "15",
    "Threshold": 10000.0,
    "Operator": "Less Than",
    "ApplicationId": "00001111-aaaa-2222-bbbb-3333cccc4444",
    "Dimensions": [
      {
        "name": "IP",
        "value": "1.1.1.1"
      }
    ],
    "SearchResults": {
      "tables": [
        {
          "name": "PrimaryResult",
          "columns": [
            {
              "name": "$table",
              "type": "string"
            },
            {
              "name": "Id",
              "type": "string"
            },
            {
              "name": "Timestamp",
              "type": "datetime"
            }
          ],
          "rows": [
            [
              "Fabrikam",
              "33446677a",
              "2018-02-02T15:03:12.18Z"
            ],
            [
              "Contoso",
              "33445566b",
              "2018-02-02T15:16:53.932Z"
            ]
          ]
        }
      ],
      "dataSources": [
        {
          "resourceId": "/subscriptions/cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a/resourcegroups/test/providers/microsoft.operationalinsights/workspaces/test",
          "tables": [
            "Heartbeat"
          ]
        }
      ]
    },
    "IncludedSearchResults": "True",
    "AlertType": "Metric measurement"
  }
}

monitoringService = Log Alerts V2인 경우 샘플 로그 검색 경고

참고 항목

API 버전 2020-05-01의 로그 검색 경고 규칙은 공통 스키마만 지원하는 이 페이로드 형식을 사용합니다. 이 버전을 사용하면 검색 결과가 로그 검색 경고 페이로드에 포함되지 않습니다. 차원을 사용하여 실행된 경고에 대한 컨텍스트를 제공합니다. LinkToFilteredSearchResultsAPI 또는 LinkToSearchResultsAPI를 사용하여 Log Analytics API로 쿼리 결과에 액세스할 수도 있습니다. 결과를 포함해야 하는 경우 제공된 링크가 있는 논리 앱을 사용하여 사용자 지정 페이로드를 생성합니다.

{
  "alertContext": {
    "properties": {
      "name1": "value1",
      "name2": "value2"
    },
    "conditionType": "LogQueryCriteria",
    "condition": {
      "windowSize": "PT10M",
      "allOf": [
        {
          "searchQuery": "Heartbeat",
          "metricMeasureColumn": "CounterValue",
          "targetResourceTypes": "['Microsoft.Compute/virtualMachines']",
          "operator": "LowerThan",
          "threshold": "1",
          "timeAggregation": "Count",
          "dimensions": [
            {
              "name": "Computer",
              "value": "TestComputer"
            }
          ],
          "metricValue": 0.0,
          "failingPeriods": {
            "numberOfEvaluationPeriods": 1,
            "minFailingPeriodsToAlert": 1
          },
          "linkToSearchResultsUI": "https://portal.azure.com#@12345a-1234b-123c-123d-12345678e/blade/Microsoft_Azure_Monitoring_Logs/LogsBlade/source/Alerts.EmailLinks/scope/%7B%22resources%22%3A%5B%7B%22resourceId%22%3A%22%2Fsubscriptions%212345a-1234b-123c-123d-12345678e%2FresourceGroups%2FContoso%2Fproviders%2FMicrosoft.Compute%2FvirtualMachines%2FContoso%22%7D%5D%7D/q/eJzzSE0sKklKTSypUSjPSC1KVQjJzE11T81LLUosSU1RSEotKU9NzdNIAfJKgDIaRgZGBroG5roGliGGxlYmJlbGJnoGEKCpp4dDmSmKMk0A/prettify/1/timespan/2020-07-07T13%3a54%3a34.0000000Z%2f2020-07-09T13%3a54%3a34.0000000Z",
          "linkToFilteredSearchResultsUI": "https://portal.azure.com#@12345a-1234b-123c-123d-12345678e/blade/Microsoft_Azure_Monitoring_Logs/LogsBlade/source/Alerts.EmailLinks/scope/%7B%22resources%22%3A%5B%7B%22resourceId%22%3A%22%2Fsubscriptions%212345a-1234b-123c-123d-12345678e%2FresourceGroups%2FContoso%2Fproviders%2FMicrosoft.Compute%2FvirtualMachines%2FContoso%22%7D%5D%7D/q/eJzzSE0sKklKTSypUSjPSC1KVQjJzE11T81LLUosSU1RSEotKU9NzdNIAfJKgDIaRgZGBroG5roGliGGxlYmJlbGJnoGEKCpp4dDmSmKMk0A/prettify/1/timespan/2020-07-07T13%3a54%3a34.0000000Z%2f2020-07-09T13%3a54%3a34.0000000Z",
          "linkToSearchResultsAPI": "https://api.loganalytics.io/v1/subscriptions/12345a-1234b-123c-123d-12345678e/resourceGroups/Contoso/providers/Microsoft.Compute/virtualMachines/Contoso/query?query=Heartbeat%7C%20where%20TimeGenerated%20between%28datetime%282020-07-09T13%3A44%3A34.0000000%29..datetime%282020-07-09T13%3A54%3A34.0000000%29%29&timespan=2020-07-07T13%3a54%3a34.0000000Z%2f2020-07-09T13%3a54%3a34.0000000Z",
          "linkToFilteredSearchResultsAPI": "https://api.loganalytics.io/v1/subscriptions/12345a-1234b-123c-123d-12345678e/resourceGroups/Contoso/providers/Microsoft.Compute/virtualMachines/Contoso/query?query=Heartbeat%7C%20where%20TimeGenerated%20between%28datetime%282020-07-09T13%3A44%3A34.0000000%29..datetime%282020-07-09T13%3A54%3A34.0000000%29%29&timespan=2020-07-07T13%3a54%3a34.0000000Z%2f2020-07-09T13%3a54%3a34.0000000Z"
        }
      ],
      "windowStartTime": "2020-07-07T13:54:34Z",
      "windowEndTime": "2020-07-09T13:54:34Z"
    }
  }
}

활동 로그 경고에 대한 경고 컨텍스트 필드

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

monitoringService = 활동 로그 - 관리인 경우 샘플 활동 로그 경고

{
  "alertContext": {
      "authorization": {
        "action": "Microsoft.Compute/virtualMachines/restart/action",
        "scope": "/subscriptions/<subscription ID>/resourceGroups/PipeLineAlertRG/providers/Microsoft.Compute/virtualMachines/WCUS-R2-ActLog"
      },
      "channels": "Operation",
      "claims": "{\"aud\":\"https://management.core.windows.net/\",\"iss\":\"https://sts.windows.net/12345a-1234b-123c-123d-12345678e/\",\"iat\":\"1553260826\",\"nbf\":\"1553260826\",\"exp\":\"1553264726\",\"aio\":\"42JgYNjdt+rr+3j/dx68v018XhuFAwA=\",\"appid\":\"11112222-bbbb-3333-cccc-4444dddd5555\",\"appidacr\":\"2\",\"http://schemas.microsoft.com/identity/claims/identityprovider\":\"https://sts.windows.net/12345a-1234b-123c-123d-12345678e/\",\"http://schemas.microsoft.com/identity/claims/objectidentifier\":\"22223333-cccc-4444-dddd-5555eeee6666\",\"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier\":\"22223333-cccc-4444-dddd-5555eeee6666\",\"http://schemas.microsoft.com/identity/claims/tenantid\":\"12345a-1234b-123c-123d-12345678e\",\"uti\":\"v5wYC9t9ekuA2rkZSVZbAA\",\"ver\":\"1.0\"}",
      "caller": "22223333-cccc-4444-dddd-5555eeee6666",
      "correlationId": "aaaa0000-bb11-2222-33cc-444444dddddd",
      "eventSource": "Administrative",
      "eventTimestamp": "2019-03-22T13:56:31.2917159+00:00",
      "eventDataId": "161fda7e-1cb4-4bc5-9c90-857c55a8f57b",
      "level": "Informational",
      "operationName": "Microsoft.Compute/virtualMachines/restart/action",
      "operationId": "310db69b-690f-436b-b740-6103ab6b0cba",
      "status": "Succeeded",
      "subStatus": "",
      "submissionTimestamp": "2019-03-22T13:56:54.067593+00:00"
    }
}

monitoringService = 활동 로그 - 정책인 경우 샘플 활동 로그 경고

{
  "alertContext": {
    "authorization": {
      "action": "Microsoft.Resources/checkPolicyCompliance/read",
      "scope": "/subscriptions/<GUID>"
    },
    "channels": "Operation",
    "claims": "{\"aud\":\"https://management.azure.com/\",\"iss\":\"https://sts.windows.net/<GUID>/\",\"iat\":\"1566711059\",\"nbf\":\"1566711059\",\"exp\":\"1566740159\",\"aio\":\"42FgYOhynHNw0scy3T/bL71+xLyqEwA=\",\"appid\":\"<GUID>\",\"appidacr\":\"2\",\"http://schemas.microsoft.com/identity/claims/identityprovider\":\"https://sts.windows.net/<GUID>/\",\"http://schemas.microsoft.com/identity/claims/objectidentifier\":\"<GUID>\",\"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier\":\"<GUID>\",\"http://schemas.microsoft.com/identity/claims/tenantid\":\"<GUID>\",\"uti\":\"Miy1GzoAG0Scu_l3m1aIAA\",\"ver\":\"1.0\"}",
    "caller": "<GUID>",
    "correlationId": "<GUID>",
    "eventSource": "Policy",
    "eventTimestamp": "2019-08-25T11:11:34.2269098+00:00",
    "eventDataId": "<GUID>",
    "level": "Warning",
    "operationName": "Microsoft.Authorization/policies/audit/action",
    "operationId": "<GUID>",
    "properties": {
      "isComplianceCheck": "True",
      "resourceLocation": "eastus2",
      "ancestors": "<GUID>",
      "policies": "[{\"policyDefinitionId\":\"/providers/Microsoft.Authorization/policyDefinitions/<GUID>/\",\"policySetDefinitionId\":\"/providers/Microsoft.Authorization/policySetDefinitions/<GUID>/\",\"policyDefinitionReferenceId\":\"vulnerabilityAssessmentMonitoring\",\"policySetDefinitionName\":\"<GUID>\",\"policyDefinitionName\":\"<GUID>\",\"policyDefinitionEffect\":\"AuditIfNotExists\",\"policyAssignmentId\":\"/subscriptions/<GUID>/providers/Microsoft.Authorization/policyAssignments/SecurityCenterBuiltIn/\",\"policyAssignmentName\":\"SecurityCenterBuiltIn\",\"policyAssignmentScope\":\"/subscriptions/<GUID>\",\"policyAssignmentSku\":{\"name\":\"A1\",\"tier\":\"Standard\"},\"policyAssignmentParameters\":{}}]"
    },
    "status": "Succeeded",
    "subStatus": "",
    "submissionTimestamp": "2019-08-25T11:12:46.1557298+00:00"
  }
}

monitoringService = 활동 로그 - 자동 크기 조정인 경우 샘플 활동 로그 경고

{
  "alertContext": {
    "channels": "Admin, Operation",
    "claims": "{\"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/spn\":\"Microsoft.Insights/autoscaleSettings\"}",
    "caller": "Microsoft.Insights/autoscaleSettings",
    "correlationId": "<GUID>",
    "eventSource": "Autoscale",
    "eventTimestamp": "2019-08-21T16:17:47.1551167+00:00",
    "eventDataId": "<GUID>",
    "level": "Informational",
    "operationName": "Microsoft.Insights/AutoscaleSettings/Scaleup/Action",
    "operationId": "<GUID>",
    "properties": {
      "description": "The autoscale engine attempting to scale resource '/subscriptions/d<GUID>/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachineScaleSets/testVMSS' from 9 instances count to 10 instances count.",
      "resourceName": "/subscriptions/<GUID>/resourceGroups/voiceassistancedemo/providers/Microsoft.Compute/virtualMachineScaleSets/alexademo",
      "oldInstancesCount": "9",
      "newInstancesCount": "10",
      "activeAutoscaleProfile": "{\r\n  \"Name\": \"Auto created scale condition\",\r\n  \"Capacity\": {\r\n    \"Minimum\": \"1\",\r\n    \"Maximum\": \"10\",\r\n    \"Default\": \"1\"\r\n  },\r\n  \"Rules\": [\r\n    {\r\n      \"MetricTrigger\": {\r\n        \"Name\": \"Percentage CPU\",\r\n        \"Namespace\": \"microsoft.compute/virtualmachinescalesets\",\r\n        \"Resource\": \"/subscriptions/<GUID>/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachineScaleSets/testVMSS\",\r\n        \"ResourceLocation\": \"eastus\",\r\n        \"TimeGrain\": \"PT1M\",\r\n        \"Statistic\": \"Average\",\r\n        \"TimeWindow\": \"PT5M\",\r\n        \"TimeAggregation\": \"Average\",\r\n        \"Operator\": \"GreaterThan\",\r\n        \"Threshold\": 0.0,\r\n        \"Source\": \"/subscriptions/<GUID>/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachineScaleSets/testVMSS\",\r\n        \"MetricType\": \"MDM\",\r\n        \"Dimensions\": [],\r\n        \"DividePerInstance\": false\r\n      },\r\n      \"ScaleAction\": {\r\n        \"Direction\": \"Increase\",\r\n        \"Type\": \"ChangeCount\",\r\n        \"Value\": \"1\",\r\n        \"Cooldown\": \"PT1M\"\r\n      }\r\n    }\r\n  ]\r\n}",
      "lastScaleActionTime": "Wed, 21 Aug 2019 16:17:47 GMT"
    },
    "status": "Succeeded",
    "submissionTimestamp": "2019-08-21T16:17:47.2410185+00:00"
  }
}

monitoringService = 활동 로그 - 보안인 경우 샘플 활동 로그 경고

{
  "alertContext": {
    "channels": "Operation",
    "correlationId": "<GUID>",
    "eventSource": "Security",
    "eventTimestamp": "2019-08-26T08:34:14+00:00",
    "eventDataId": "<GUID>",
    "level": "Informational",
    "operationName": "Microsoft.Security/locations/alerts/activate/action",
    "operationId": "<GUID>",
    "properties": {
      "threatStatus": "Quarantined",
      "category": "Virus",
      "threatID": "2147519003",
      "filePath": "C:\\AlertGeneration\\test.eicar",
      "protectionType": "Windows Defender",
      "actionTaken": "Blocked",
      "resourceType": "Virtual Machine",
      "severity": "Low",
      "compromisedEntity": "testVM",
      "remediationSteps": "[\"No user action is necessary\"]",
      "attackedResourceType": "Virtual Machine"
    },
    "status": "Active",
    "submissionTimestamp": "2019-08-26T09:28:58.3019107+00:00"
  }
}

monitoringService = ServiceHealth인 경우 샘플 활동 로그 경고

{
  "alertContext": {
    "authorization": null,
    "channels": 1,
    "claims": null,
    "caller": null,
    "correlationId": "bbbb1111-cc22-3333-44dd-555555eeeeee",
    "eventSource": 2,
    "eventTimestamp": "2019-06-24T11:31:19.0312699+00:00",
    "httpRequest": null,
    "eventDataId": "<GUID>",
    "level": 3,
    "operationName": "Microsoft.ServiceHealth/maintenance/action",
    "operationId": "<GUID>",
    "properties": {
      "title": "Azure Synapse Analytics Scheduled Maintenance Pending",
      "service": "Azure Synapse Analytics",
      "region": "East US",
      "communication": "<MESSAGE>",
      "incidentType": "Maintenance",
      "trackingId": "<GUID>",
      "impactStartTime": "2019-06-26T04:00:00Z",
      "impactMitigationTime": "2019-06-26T12:00:00Z",
      "impactedServices": "[{\"ImpactedRegions\":[{\"RegionName\":\"East US\"}],\"ServiceName\":\"Azure Synapse Analytics\"}]",
      "impactedServicesTableRows": "<tr>\r\n<td align='center' style='padding: 5px 10px; border-right:1px solid black; border-bottom:1px solid black'>Azure Synapse Analytics</td>\r\n<td align='center' style='padding: 5px 10px; border-bottom:1px solid black'>East US<br></td>\r\n</tr>\r\n",
      "defaultLanguageTitle": "Azure Synapse Analytics Scheduled Maintenance Pending",
      "defaultLanguageContent": "<MESSAGE>",
      "stage": "Planned",
      "communicationId": "<GUID>",
      "maintenanceId": "<GUID>",
      "isHIR": "false",
      "version": "0.1.1"
    },
    "status": "Active",
    "subStatus": null,
    "submissionTimestamp": "2019-06-24T11:31:31.7147357+00:00",
    "ResourceType": null
  }
}

monitoringService = ResourceHealth인 경우 샘플 활동 로그 경고

{
  "alertContext": {
    "channels": "Admin, Operation",
    "correlationId": "<GUID>",
    "eventSource": "ResourceHealth",
    "eventTimestamp": "2019-06-24T15:42:54.074+00:00",
    "eventDataId": "<GUID>",
    "level": "Informational",
    "operationName": "Microsoft.Resourcehealth/healthevent/Activated/action",
    "operationId": "<GUID>",
    "properties": {
      "title": "This virtual machine is stopping and deallocating as requested by an authorized user or process",
      "details": null,
      "currentHealthStatus": "Unavailable",
      "previousHealthStatus": "Available",
      "type": "Downtime",
      "cause": "UserInitiated"
    },
    "status": "Active",
    "submissionTimestamp": "2019-06-24T15:45:20.4488186+00:00"
  }
}

Prometheus 경고에 대한 경고 컨텍스트 필드

Prometheus 경고의 필드에 대한 자세한 내용은 Azure Monitor Prometheus용 관리 서비스(미리 보기)를 참조하세요.

샘플 Prometheus 경고

{
  "alertContext": {
    "interval": "PT1M",
    "expression": "sql_up > 0",
    "expressionValue": "0",
    "for": "PT2M",
    "labels": {
      "Environment": "Prod",
      "cluster": "myCluster1"
    },
    "annotations": {
      "summary": "alert on SQL availability"
    },
    "ruleGroup": "/subscriptions/<subscription ID>/resourceGroups/myResourceGroup/providers/Microsoft.AlertsManagement/prometheusRuleGroups/myRuleGroup"
  }
}

사용자 지정 속성 필드

경고를 생성한 경고 규칙에 작업 그룹이 포함된 경우 사용자 지정 속성에 경고에 대한 추가 정보가 포함될 수 있습니다. 사용자 지정 속성 섹션에는 웹후크 알림에 추가되는 "key: value" 개체가 포함되어 있습니다.

사용자 지정 속성이 경고 규칙에 설정되지 않은 경우 이 필드는 null입니다.

일반 경고 스키마를 사용하도록 설정

Azure Portal에서 작업 그룹을 사용하거나 REST API를 사용하여 공통 경고 스키마를 사용하도록 설정합니다. 스키마는 작업 수준에서 정의됩니다. 예를 들어, 이메일 작업과 웹후크 작업에 대한 스키마를 별도로 사용하도록 설정해야 합니다.

Azure Portal에서 공통 스키마 사용

공통 경고 스키마 옵트인을 보여 주는 스크린샷

  1. 작업 그룹에서 기존 작업 또는 새 작업을 엽니다.
  2. 를 선택하여 공통 경고 스키마를 사용하도록 설정합니다.

REST API를 사용하여 공통 스키마 사용

작업 그룹 API를 사용하여 일반 경고 스키마를 옵트인할 수도 있습니다. 만들기 또는 업데이트 REST API 호출에서

  • 공통 스키마를 사용하도록 설정하려면 "useCommonAlertSchema" 플래그를 true로 설정합니다.
  • "useCommonAlertSchema" 플래그를 false로 설정하여 이메일, 웹후크, Logic Apps, Azure Functions 또는 Automation Runbook 작업에 일반적이지 않은 스키마를 사용합니다.

공통 스키마를 사용하기 위한 샘플 REST API 호출

다음 만들기 또는 업데이트 REST API 요청:

  • 이메일 작업 "John Doe's email"에 대한 일반 경고 스키마를 사용하도록 설정
  • 이메일 작업 "Jane Smith's email"에 대한 일반 경고 스키마를 사용하지 않도록 설정
  • 웹후크 작업 "Sample webhook"에 대한 일반 경고 스키마를 사용하도록 설정
{
  "properties": {
    "groupShortName": "sample",
    "enabled": true,
    "emailReceivers": [
      {
        "name": "John Doe's email",
        "emailAddress": "johndoe@email.com",
        "useCommonAlertSchema": true
      },
      {
        "name": "Jane Smith's email",
        "emailAddress": "janesmith@email.com",
        "useCommonAlertSchema": false
      }
    ],
    "smsReceivers": [
      {
        "name": "John Doe's mobile",
        "countryCode": "1",
        "phoneNumber": "1234567890"
      },
      {
        "name": "Jane Smith's mobile",
        "countryCode": "1",
        "phoneNumber": "0987654321"
      }
    ],
    "webhookReceivers": [
      {
        "name": "Sample webhook",
        "serviceUri": "http://www.example.com/webhook",
        "useCommonAlertSchema": true
      }
    ]
  },
  "location": "Global",
  "tags": {}
}

다음 단계