Поделиться через


Общая схема оповещений

Общая схема оповещений стандартизирует потребление уведомлений об оповещениях Azure Monitor. Исторически журнал действий, метрики и оповещения поиска по журналам имеют собственные шаблоны электронной почты и схемы веб-перехватчика. Общая схема оповещений предоставляет одну стандартизованную схему для всех уведомлений оповещений.

Использование стандартизированной схемы помогает свести к минимуму количество интеграции, что упрощает процесс управления и поддержания интеграции. Общая схема обеспечивает более широкий уровень потребления оповещений как в портал Azure, так и в мобильном приложении Azure.

Общая схема генерации оповещений обеспечивает согласованную структуру:

  • Шаблоны электронной почты: используйте подробный шаблон электронной почты для диагностики проблем. Внедренные ссылки на экземпляр генерации оповещений на портале и затронутый ресурс позволяют быстро перейти к процессу исправления.
  • Структура JSON: используйте согласованную структуру JSON для создания интеграции для всех типов оповещений с помощью:
    • Приложения логики Azure
    • Функции Azure
    • Runbook службы автоматизации Azure

Примечание.

  • Оповещения, созданные аналитикой виртуальных машин , не поддерживают общую схему.
  • Оповещения интеллектуального обнаружения используют общую схему по умолчанию. Вам не нужно включить общую схему для оповещений интеллектуального обнаружения.

Структура общей схемы

Общая схема содержит сведения о затронутом ресурсе и причине оповещения в следующих разделах:

  • Основные сведения. Стандартные поля, используемые всеми типами оповещений, описывающими ресурс, затронутый оповещением и общими метаданными оповещения, например серьезностью или описанием.

    Если вы хотите перенаправить экземпляры оповещений в определенные команды на основе таких критериев, как группа ресурсов, можно использовать поля в разделе Essentials , чтобы обеспечить логику маршрутизации для всех типов оповещений. Затем команды, получающие уведомление об оповещении, могут использовать поля контекста для их исследования.

  • Контекст оповещения: поля, которые зависят от типа оповещения. Поля контекста оповещений описывают причину оповещения. Например, оповещение метрики содержит поля для имени и значения метрики в контексте оповещения, а оповещение журнала действий предоставляет сведения о событии, создавшем предупреждение.

  • Пользовательские свойства: дополнительные сведения, не включенные в полезные данные оповещения по умолчанию, можно включить в полезные данные оповещения с помощью настраиваемых свойств. Пользовательские свойства — это пара Key:Value , которая может включать любые сведения, настроенные в правиле генерации оповещений.

Примеры полезных данных оповещения

{
  "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"
    }
  }
}

Примеры оповещений, использующих общую схему, см. в разделе "Примеры полезных данных оповещений".

Основные поля

Поле Description
alertId Уникальный идентификатор ресурса, определяющий экземпляр оповещения.
alertRule Имя правила генерации оповещений, которое создало этот экземпляр оповещения.
Важность Уровень серьезности оповещения. Возможные значения: Sev0, Sev1, Sev2, Sev3 или Sev4.
signalType Определяет сигнал, для которого было определено это правило генерации оповещений. Возможные значения: метрика, журнал или журнал действий.
monitorCondition Когда срабатывает оповещение, для монитора оповещения устанавливается состояние Активировано. Когда устраняется базовое условие, которое вызвало оповещение, для монитора устанавливается состояние Устранено.
monitoringService Служба или решение мониторинга, создавшее это оповещение. Служба мониторинга определяет, какие поля находятся в контексте оповещения.
alertTargetIDs Список идентификаторов Azure Resource Manager, которые представляют затронутые оповещением объекты. Для оповещения поиска по журналам, определенного в рабочей области Log Analytics или экземпляре Application Insights, это соответствующая рабочая область или приложение.
configurationItems Список затронутых ресурсов оповещения.
В некоторых случаях элементы конфигурации могут отличаться от целевых объектов оповещений. Например, в оповещениях поиска по метрикам или журналам, определенных в рабочей области Log Analytics, элементы конфигурации являются фактическими ресурсами, отправляемыми данными, а не рабочей областью.
  • В API оповещений поиска по журналам (правила запланированных запросов) версии 2021-08-01 configurationItem значения взяты из явно определенных измерений в этом приоритете: _ResourceId, ResourceId, Resource. Computer
  • В более ранних версиях API configurationItem оповещений поиска по журналам значения принимаются неявно из результатов этого приоритета: _ResourceId, ResourceId, Resource. Computer
В системах configurationItems ITSM поле используется для сопоставления оповещений с ресурсами в базе данных управления конфигурацией.
originAlertId Идентификатор экземпляра оповещения в том виде, в каком его создала служба мониторинга.
firedDateTime Дата и время создания экземпляра оповещения в формате UTC.
resolvedDateTime Дата и время установки состояния монитора Устранено для экземпляра оповещения в формате UTC. В настоящее время это применимо только к оповещениям метрик.
описание Описание, предоставленное в правиле генерации оповещений.
alertRuleID Идентификатор правила генерации оповещений, создающего экземпляр оповещения.
resourceType Тип ресурса, затронутый оповещением.
resourceGroupName Имя группы ресурсов для затронутого ресурса.
essentialsVersion Номер версии для раздела основных сведений.
alertContextVersion Номер версии для раздела alertContext.
investigationLink Ссылка на исследование оповещения в Azure Monitor. В настоящее время требуется ограниченная предварительная версия регистрации.

Поля контекста оповещения для оповещений метрик

Поле Description
свойства (Необязательно.) Коллекция определяемых клиентом свойств.
conditionType Тип условия, выбранного для правила генерации оповещений:
- статическое пороговое значение
— динамическое пороговое значение
- webtest
condition
windowSize Период времени, анализируемый правилом генерации оповещений.
allOf Указывает, что для активации оповещения необходимо выполнить все условия, определенные в правиле генерации оповещений.
alertSensitivity В правиле генерации оповещений с динамическим пороговым значением указывает, насколько учитывается правило или сколько значение может отклоняться от верхнего или нижнего порога.
сбойPeriods В правиле генерации оповещений с динамическим пороговым значением количество периодов оценки, которые не соответствуют пороговой величине генерации оповещений, которые активируют оповещение. Например, можно указать, что оповещение активируется, если 3 из последних пяти периодов оценки не являются пороговым значением оповещения.
numberOfEvaluationPeriods Общее количество вычислений.
minFailingPeriodsToAlert Минимальное количество вычислений, которые не соответствуют условиям правила генерации оповещений.
ignoreDataBefore (Необязательно.) В правиле генерации оповещений с динамическим пороговым значением вычисляется дата, из которой вычисляется пороговое значение. Используйте это значение, чтобы указать, что правило не должно вычислять динамическое пороговое значение с использованием данных до указанной даты.
metricName Имя метрики, отслеживаемой правилом генерации оповещений.
Пространство метрик Пространство имен метрик, отслеживаемых правилом генерации оповещений.
оператор Логический оператор правила генерации оповещений.
порог Пороговое значение, определенное в правиле генерации оповещений. Для правила генерации оповещений с динамическим пороговым значением является вычисляемое пороговое значение.
timeAggregation Тип агрегирования правила генерации оповещений.
dimensions Измерение метрик, активировав оповещение.
name Имя измерения.
значение Значение измерения.
metricValue Значение метрики в то время, когда оно нарушило пороговое значение.
webTestName Если тип условия имеет значение webtest, имя веб-теста.
windowStartTime Время начала окна оценки, в котором было запущено оповещение.
windowEndTime Время окончания окна оценки, в котором запускается оповещение.

Пример оповещений метрик со статическим пороговым значением, когда служба мониторинга = 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"
      }
    }
}

Пример оповещений метрик с динамическим пороговым значением, когда служба мониторинга = 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"
      }
    }
}

Пример оповещений метрик для тестов доступности, когда служба мониторинга = 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, так как общая схема перезаписывает пользовательские конфигурации.
  • Оповещения, использующие общую схему, имеют верхний размер 256 КБ на оповещение. Если полезные данные поиска по журналам содержат результаты поиска, которые приводят к превышению максимального размера оповещения, результаты поиска не внедрены в полезные данные оповещений поиска по журналам. Вы можете проверить, содержит ли полезные данные результаты поиска с флагом IncludedSearchResults . Используйте LinkToFilteredSearchResultsAPI или LinkToSearchResultsAPI для доступа к результатам запроса с ПОМОЩЬЮ API Log Analytics, если результаты поиска не включены.
Поле Description
SearchQuery Запрос, определенный в правиле генерации оповещений.
SearchIntervalStartTimeUtc Время начала окна оценки, в котором оповещение было запущено в формате UTC.
SearchIntervalEndTimeUtc Время окончания окна оценки, в котором оповещение было запущено в формате UTC.
ResultCount Количество записей, возвращаемых запросом. Для правил измерения метрик число или записи, соответствующие определенной комбинации измерений.
LinkToSearchResults Ссылка на результаты поиска.
LinkToFilteredSearchResultsUI Для правил измерения метрик ссылка на результаты поиска после фильтрации по сочетаниям измерений.
LinkToSearchResultsAPI Ссылка на результаты запроса с помощью API Log Analytics.
LinkToFilteredSearchResultsAPI Для правил измерения метрик ссылка на результаты поиска с помощью API Log Analytics после фильтрации по сочетаниям измерений.
SearchIntervalDurationMin Общее количество минут в интервале поиска.
SearchIntervalInMin Общее количество минут в интервале поиска.
За пороговое значение Пороговое значение, определенное в правиле генерации оповещений.
Оператор Оператор, определенный в правиле генерации оповещений.
ApplicationID Идентификатор Application Insights, для которого активируется оповещение.
Измерения Для правил измерения метрик измерения метрик, для которых активируется оповещение.
name Имя измерения.
значение Значение измерения.
SearchResults Полные результаты поиска.
table Таблица результатов в результатах поиска.
name Имя таблицы в результатах поиска.
столбцы Столбцы в таблице.
name Имя столбца.
type Тип столбца.
строк Строки в таблице.
DataSources Источники данных, в которых активируется оповещение.
resourceID Идентификатор ресурса, затронутый оповещением.
В таблицах Черновики таблиц ответов, включенные в запрос.
ВключенныеsearchResults Флаг, указывающий, должна ли полезные данные содержать результаты.
AlertType Тип оповещения:
- Измерение метрик
— количество результатов

Пример оповещения поиска по журналам, когда служба мониторинга = 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"
  }
}

Пример оповещений поиска по журналам, когда служба мониторинга = 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"
  }
}

Пример оповещений поиска по журналам, когда служба мониторинга = оповещения журнала версии 2

Примечание.

Правила генерации оповещений поиска журналов из API версии 2020-05-01 используют этот тип полезных данных, который поддерживает только общую схему. Результаты поиска не внедрены в полезные данные оповещений поиска по журналам при использовании этой версии. Используйте измерения для предоставления контекста для запуска оповещений. Вы также можете использовать LinkToFilteredSearchResultsAPI или LinkToSearchResultsAPI получать доступ к результатам запроса с помощью API Log Analytics. Если необходимо внедрить результаты, используйте приложение логики с предоставленными ссылками для создания пользовательской полезных данных.

{
  "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.

Пример оповещений журнала действий, когда служба мониторинга = журнал действий — административный

{
  "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"
    }
}

Пример оповещения журнала действий, когда служба мониторинга = журнал действий — политика

{
  "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"
  }
}

Пример оповещения журнала действий, когда служба мониторинга = журнал действий — автомасштабирование

{
  "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"
  }
}

Пример оповещения журнала действий при мониторинге = журнал действий — безопасность

{
  "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"
  }
}

Пример оповещения журнала действий при мониторинге = 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
  }
}

Пример оповещения журнала действий при мониторинге = 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 или REST API. Схемы определяются на уровне действия. Например, необходимо отдельно включить схему для действия электронной почты и действия веб-перехватчика.

Включение общей схемы в портал Azure

Снимок экрана: включение стандартной схемы оповещений.

  1. Откройте любое существующее или новое действие в группе действий.
  2. Выберите Да, чтобы включить общую схему оповещений.

Включение общей схемы с помощью REST API

Вы также можете использовать API групп действий, чтобы согласиться на использование общей схемы оповещений. При создании или обновлении вызова REST API

  • Задайте флаг useCommonAlertSchema, чтобы true включить общую схему.
  • Задайте флаг useCommonAlertSchema, чтобы false использовать не общую схему для электронной почты, веб-перехватчика, Logic Apps, Функции Azure или действий runbook службы автоматизации.

Пример вызова REST API для использования общей схемы

Следующий запрос REST API:

  • Включает общую схему оповещений для действия электронной почты "Электронная почта Джона Doe".
  • Отключает общую схему оповещений для действия электронной почты "Электронная почта Джейн Смит".
  • Включает общую схему оповещений для действия веб-перехватчика "Пример веб-перехватчика".
{
  "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": {}
}

Следующие шаги