일반 경고 스키마

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

표준화된 스키마를 사용하면 통합 수를 최소화하여 통합을 관리하고 기본 프로세스를 간소화할 수 있습니다. 일반적인 스키마를 사용하면 Azure Portal과 Azure 모바일 앱 모두에서 더 풍부한 경고 사용 환경을 사용할 수 있습니다.

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

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

참고 항목

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

공통 스키마의 구조

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

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

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

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

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

샘플 경고 페이로드

{
  "schemaId": "azureMonitorCommonAlertSchema",
  "data": {
    "essentials": {
      "alertId": "/subscriptions/<subscription ID>/providers/Microsoft.AlertsManagement/alerts/b9569717-bc32-442f-add5-83a997729330",
      "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(예약된 쿼리 규칙) v2021-08-01 configurationItem 에서 값은 이 우선 순위Resource_ResourceIdResourceIdComputer에서 명시적으로 정의된 차원에서 가져옵니다.
  • 이전 버전의 로그 검색 경고 API configurationItem 에서 값은 이 우선 순위의 결과에서 암시적으로 가져옵니다. _ResourceIdResourceIdResourceComputer
ITSM 시스템에서 configurationItems 필드는 경고를 구성 관리 데이터베이스의 리소스에 연결하는 데 사용됩니다.
originAlertId 경고를 생성하는 모니터링 서비스에서 생성한 경고 인스턴스의 ID입니다.
firedDateTime 경고 인스턴스가 UTC(협정 세계시)로 실행된 날짜 및 시간입니다.
resolvedDateTime 경고 인스턴스의 모니터 조건이 UTC로 확인됨으로 설정된 날짜 및 시간입니다. 현재 메트릭 경고에만 적용됩니다.
description 경고 규칙에 정의된 설명입니다.
essentialsVersion 필수 섹션의 버전 번호입니다.
alertContextVersion alertContext 섹션의 버전 번호입니다.

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

필드 설명
속성 (선택 사항) 고객 정의 속성의 컬렉션입니다.
conditionType 경고 규칙에 대해 선택한 조건 유형입니다.
- 정적 임계값
- 동적 임계값
-Webtest
condition
windowSize 경고 규칙에 의해 분석된 기간입니다.
allOf 경고를 트리거하려면 경고 규칙에 정의된 모든 조건을 충족해야 임을 나타냅니다.
alertSensitivity 동적 임계값이 있는 경고 규칙에서 규칙이 얼마나 중요한지 또는 값이 상한 또는 하한 임계값에서 얼마나 벗어날 수 있는지를 나타냅니다.
failPeriods 동적 임계값이 있는 경고 규칙에서 경고를 트리거하는 경고 임계값을 충족하지 않는 평가 기간의 수입니다. 예를 들어 최근 5개 평가 기간 중 3개가 경고 임계값 내에 있지 않을 때 경고가 트리거됨을 나타낼 수 있습니다.
numberOfEvaluationPeriods 총 평가 수입니다.
minFailingPeriodsToAlert 경고 규칙 조건을 충족하지 않는 최소 평가 수입니다.
ignoreDataBefore (선택 사항) 동적 임계값이 있는 경고 규칙에서 임계값이 계산되는 날짜입니다. 이 값을 사용하여 규칙이 지정된 날짜 이전의 데이터를 사용하여 동적 임계값을 계산해서는 안 됨을 나타냅니다.
metricName 경고 규칙에 의해 모니터링되는 메트릭의 이름입니다.
metricNamespace 경고 규칙에 의해 모니터링되는 메트릭의 네임스페이스입니다.
operator 경고 규칙의 논리 연산자입니다.
threshold 경고 규칙에 정의된 임계값입니다. 동적 임계값을 사용하는 경고 규칙의 경우 이 값은 계산된 임계값입니다.
timeAggregation 경고 규칙의 집계 유형입니다.
dimensions 경고를 트리거한 메트릭 차원입니다.
name 차원 이름입니다.
value 차원 값입니다.
metricValue 임계값을 위반한 시점의 메트릭 값입니다.
webTestName 조건 유형이면 webtest의 이름입니다 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 포함되어 있는지 검사 수 있습니다. 검색 결과가 포함되지 않은 경우 Log Analytics API사용하여 쿼리 결과를 사용 LinkToFilteredSearchResultsAPI 하거나 LinkToSearchResultsAPI 액세스합니다.
필드 설명
SearchQuery 경고 규칙에 정의된 쿼리입니다.
SearchIntervalStartTimeUtc 경고가 UTC에서 발생한 평가 창의 시작 시간입니다.
SearchIntervalEndTimeUtc 경고가 UTC에서 발생한 평가 창의 종료 시간입니다.
ResultCount 쿼리에서 반환된 레코드 수입니다. 메트릭 측정 규칙의 경우 특정 차원 조합과 일치하는 숫자 또는 레코드입니다.
LinkToSearchResults 검색 결과에 대한 링크입니다.
LinkToFilteredSearchResultsUI 메트릭 측정 규칙의 경우 차원 조합으로 필터링된 후 검색 결과에 대한 링크입니다.
LinkToSearchResultsAPI Log Analytics API를 사용하여 쿼리 결과에 대한 링크입니다.
LinkToFilteredSearchResultsAPI 메트릭 측정 규칙의 경우 차원 조합으로 필터링된 후 Log Analytics API를 사용하여 검색 결과에 대한 링크입니다.
SearchIntervalDurationMin 검색 간격의 총 분 수입니다.
SearchIntervalInMin 검색 간격의 총 분 수입니다.
임계값 경고 규칙에 정의된 임계값입니다.
연산자 경고 규칙에 정의된 연산자입니다.
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/a5ea55e2-7482-49ba-90b3-60e7496dd873/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": "8e20151d-75b2-4d66-b965-153fb69d65a6",
    "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/a5ea27e2-7482-49ba-90b3-52e7496dd873/resourcegroups/test/providers/microsoft.operationalinsights/workspaces/test",
          "tables": [
            "Heartbeat"
          ]
        }
      ]
    },
    "IncludedSearchResults": "True",
    "AlertType": "Metric measurement"
  }
}

monitoringService = 로그 경고 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\":\"e9a02282-074f-45cf-93b0-50568e0e7e50\",\"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\":\"9778283b-b94c-4ac6-8a41-d5b493d03aa3\",\"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier\":\"9778283b-b94c-4ac6-8a41-d5b493d03aa3\",\"http://schemas.microsoft.com/identity/claims/tenantid\":\"12345a-1234b-123c-123d-12345678e\",\"uti\":\"v5wYC9t9ekuA2rkZSVZbAA\",\"ver\":\"1.0\"}",
      "caller": "9778283b-b94c-4ac6-8a41-d5b493d03aa3",
      "correlationId": "8ee9c32a-92a1-4a8f-989c-b0ba09292a91",
      "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": "f3cf2430-1ee3-4158-8e35-7a1d615acfc7",
    "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 경고의 필드에 대한 자세한 내용은 Prometheus 규칙 그룹(미리 보기)에 대한 Azure Monitor 관리 서비스를 참조하세요.

샘플 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에서 공통 스키마 사용

Screenshot that shows the common alert schema opt in.

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

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

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

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

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

다음 REST API 요청을 만들거나 업데이트 합니다.

  • 이메일 작업 "John Doe의 이메일"에 대한 일반적인 경고 스키마를 사용하도록 설정합니다.
  • 이메일 작업 "Jane Smith의 이메일"에 대한 일반적인 경고 스키마를 사용하지 않도록 설정합니다.
  • 웹후크 작업 "샘플 웹후크"에 대한 일반적인 경고 스키마를 사용하도록 설정합니다.
{
  "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": {}
}

다음 단계