Общая схема оповещений
Общая схема оповещений стандартизирует потребление уведомлений об оповещениях 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, элементы конфигурации являются фактическими ресурсами, отправляемыми данными, а не рабочей областью.
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×pan=2020-05-07T18%3a11%3a51.0000000Z%2f2020-05-07T18%3a16%3a51.0000000Z",
"LinkToFilteredSearchResultsAPI": "https://api.loganalytics.io/v1/workspaces/workspaceID/query?query=Heartbeat×pan=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×pan=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×pan=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
- Откройте любое существующее или новое действие в группе действий.
- Выберите Да, чтобы включить общую схему оповещений.
Включение общей схемы с помощью REST API
Вы также можете использовать API групп действий, чтобы согласиться на использование общей схемы оповещений. При создании или обновлении вызова REST API
- Задайте флаг useCommonAlertSchema, чтобы
true
включить общую схему. - Задайте флаг useCommonAlertSchema, чтобы
false
использовать не общую схему для электронной почты, веб-перехватчика, Logic Apps, Функции Azure или действий runbook службы автоматизации.
Пример вызова 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": {}
}