Управление правилами генерации оповещений, созданными в предыдущих версиях

В этой статье описывается процесс управления правилами генерации оповещений, созданными в предыдущем пользовательском интерфейсе или с помощью версии API или более ранней 2018-04-16 версии. Правила генерации оповещений, созданные в последнем пользовательском интерфейсе, просматриваются и управляются в новом пользовательском интерфейсе, как описано в статье "Создание, просмотр и управление оповещениями поиска по журналам с помощью Azure Monitor".

Изменение возможностей создания правила генерации оповещений поиска по журналам

Текущий мастер правил генерации оповещений отличается от предыдущего интерфейса:

  • Ранее в полезные данные об активации оповещения и в связанные с ним уведомления добавлялись результаты поиска. Сообщение электронной почты включало только 10 строк из нефильтрованных результатов, а полезные данные веб-перехватчика содержали 1000 нефильтрованных результатов. Чтобы получить подробные сведения о контексте оповещения, чтобы выбрать соответствующее действие:
    • Рекомендуется использовать измерения. Измерения предоставляют значение столбца, которое запустило оповещение, которое дает контекст для того, почему оповещение было запущено и как устранить проблему.
    • Когда необходимо исследовать журналы, используйте ссылку в оповещении с результатами поиска в журналах.
    • Если вам нужны необработанные результаты поиска или какие-либо другие дополнительные настройки, используйте Azure Logic Apps.
  • Мастер создания нового правила генерации оповещений не поддерживает настройку полезных данных в формате JSON.
    • Используйте пользовательские свойства в новом API, чтобы добавить статические параметры и значения для них в действия веб-перехватчика, активируемые оповещением.
    • Для более сложных настроек используйте Azure Logic Apps.
  • Мастер создания правила генерации оповещений не поддерживает настройку темы сообщения электронной почты.
    • Клиенты часто используют настраиваемую тему сообщения электронной почты для указания ресурса, который создал оповещение, вместо правильного использования рабочей области Log Analytics. Используйте новый API, чтобы активировать оповещение требуемого ресурса с помощью столбца идентификатора ресурса.
    • Для более сложных настроек используйте Azure Logic Apps.

Управление правилами генерации оповещений, созданными в предыдущих версиях в портал Azure

  1. В портал Azure выберите нужный ресурс.

  2. В разделе Наблюдение выберите Оповещения.

  3. На верхней панели выберите правила генерации оповещений.

  4. Выберите правило генерации оповещений, которое вы хотите изменить.

  5. Выберите условие в разделе Условие.

  6. Откроется область логики "Настройка сигнала" с историческими данными для запроса, который отображается в виде графа. Вы можете изменить диапазон времени диаграммы, чтобы отобразить данные с последних шести часов на прошлой неделе. Если результаты запроса содержат суммированные данные или определенные столбцы без столбца времени, диаграмма отображает одно значение.

    Screenshot that shows the Configure signal logic pane.

  7. Измените условия правила генерации оповещений с помощью следующих разделов:

    • Поисковый запрос. В этом разделе можно изменить запрос.

    • Логика генерации оповещений: оповещения поиска по журналам могут быть основаны на двух типах мер:

      1. Количество результатов: количество записей, возвращаемых запросом.
      2. Измерение метрик: статистическое значение вычисляется с помощью summarize сгруппированных по выбранным выражениям и выбору bin(). Например:
        // Reported errors
        union Event, Syslog // Event table stores Windows event records, Syslog stores Linux records
        | where EventLevelName == "Error" // EventLevelName is used in the Event (Windows) records
        or SeverityLevel== "err" // SeverityLevel is used in Syslog (Linux) records
        | summarize AggregatedValue = count() by Computer, bin(TimeGenerated, 15m)
        

      Для логики генерации оповещений о метриках можно указать способ разделения оповещений по измерениям с помощью параметра "Агрегат". Выражение группирования строк должно быть уникальным и поддающимся сортировке.

      Функция bin() может привести к неравномерному интервалу времени, поэтому служба оповещений автоматически преобразует функцию bin() в функцию binat() с соответствующим временем во время выполнения, чтобы обеспечить результаты с фиксированной точкой.

      Примечание.

      Параметр "Разделение по измерениям оповещений " доступен только для текущего API scheduledQueryRules. Если вы используете устаревший API оповещений Log Analytics, необходимо переключиться. Дополнительные сведения о переключении. Оповещения, ориентированные на ресурсы, поддерживаются только в версии API и более поздних версиях 2021-08-01 .

      Screenshot that shows Aggregate on.

    • Период: выберите диапазон времени для оценки указанного условия с помощью параметра "Период".

  8. После завершения редактирования условий нажмите кнопку "Готово".

  9. Используйте данные предварительного просмотра, чтобы задать оператор, пороговое значение и частоту.

  10. Задайте количество нарушений для активации оповещения с помощью общих или последовательных нарушений.

  11. Нажмите кнопку Готово.

  12. Вы можете изменить описание и серьезность правила. Эти сведения используются во всех действиях оповещений. Вы также можете не активировать правило генерации оповещений при создании, нажав кнопку "Включить правило при создании".

  13. Выберите, нужно ли отключить действия правил в течение определенного периода времени после срабатывания оповещения, с помощью параметра Отключить оповещения. Правило по-прежнему будет запускаться и создавать оповещения, но действия не будут активированы для предотвращения шума. Значение "Отключить действие" должно быть больше частоты оповещений, которые должны быть эффективными.

    Screenshot that shows the Alert Details pane.

  14. Чтобы сделать оповещения с отслеживанием состояния, выберите автоматическое разрешение оповещений (предварительная версия).

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

  16. (Необязательно) Настройка действий в правилах генерации оповещений поиска по журналам:

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

    Screenshot that shows Action overrides for log search alerts.

  17. После завершения редактирования всех параметров правила генерации оповещений нажмите кнопку "Сохранить".

Управление оповещениями поиска по журналам с помощью PowerShell

Примечание.

Мы рекомендуем использовать модуль Azure Az PowerShell для взаимодействия с Azure. Чтобы начать работу, см. статью Установка Azure PowerShell. Дополнительные сведения см. в статье Перенос Azure PowerShell с AzureRM на Az.

Используйте следующие командлеты PowerShell для управления правилами с помощью API правил запланированных запросов:

  • New-AzScheduledQueryRule: командлет PowerShell для создания нового правила генерации оповещений поиска по журналам.
  • Set-AzScheduledQueryRule: командлет PowerShell для обновления существующего правила генерации оповещений поиска по журналам.
  • New-AzScheduledQueryRuleSource: командлет PowerShell для создания или обновления объекта, указывающего параметры источника для оповещения поиска по журналам. Используется в качестве входных данных командлетами New-AzScheduledQueryRule и Set-AzScheduledQueryRule.
  • New-AzScheduledQueryRuleSchedule: командлет PowerShell для создания или обновления объекта, указывающего параметры расписания для оповещения поиска по журналам. Используется в качестве входных данных командлетами New-AzScheduledQueryRule и Set-AzScheduledQueryRule.
  • New-AzScheduledQueryRuleAlertingAction: командлет PowerShell для создания или обновления объекта, указывающего параметры действия для оповещения поиска по журналам. Используется в качестве входных данных командлетами New-AzScheduledQueryRule и Set-AzScheduledQueryRule.
  • New-AzScheduledQueryRuleAznsActionGroup: командлет PowerShell для создания или обновления объекта, указывающего параметры группы действий для оповещения поиска по журналам. Используется в качестве входных данных командлетом New-AzScheduledQueryRuleAlertingAction .
  • New-AzScheduledQueryRuleTriggerCondition: командлет PowerShell для создания или обновления объекта, указывающего параметры условия триггера для оповещения поиска по журналам. Используется в качестве входных данных командлетом New-AzScheduledQueryRuleAlertingAction .
  • New-AzScheduledQueryRuleLogMetricTrigger: командлет PowerShell для создания или обновления объекта, указывающего параметры условия триггера метрик для оповещения поиска по журналам измерения метрик. Используется в качестве входных данных командлетом New-AzScheduledQueryRuleTriggerCondition .
  • Get-AzScheduledQueryRule: командлет PowerShell для перечисления существующих правил генерации оповещений поиска по журналам или определенного правила генерации оповещений поиска по журналам.
  • Update-AzScheduledQueryRule: командлет PowerShell для включения или отключения правила генерации оповещений поиска по журналам.
  • Remove-AzScheduledQueryRule: командлет PowerShell для удаления существующего правила генерации оповещений поиска по журналам.

Примечание.

ScheduledQueryRules Командлеты PowerShell могут управлять только правилами, созданными в этой версии API правил запланированных запросов. Правила генерации оповещений поиска журналов, созданные с помощью устаревшего API оповещений Log Analytics, можно управлять только с помощью PowerShell после перехода на API правил запланированных запросов.

Примеры действий по созданию правила генерации оповещений поиска по журналам с помощью PowerShell:

$source = New-AzScheduledQueryRuleSource -Query 'Heartbeat | summarize AggregatedValue = count() by bin(TimeGenerated, 5m), _ResourceId' -DataSourceId "/subscriptions/a123d7efg-123c-1234-5678-a12bc3defgh4/resourceGroups/contosoRG/providers/microsoft.OperationalInsights/workspaces/servicews"
$schedule = New-AzScheduledQueryRuleSchedule -FrequencyInMinutes 15 -TimeWindowInMinutes 30
$metricTrigger = New-AzScheduledQueryRuleLogMetricTrigger -ThresholdOperator "GreaterThan" -Threshold 2 -MetricTriggerType "Consecutive" -MetricColumn "_ResourceId"
$triggerCondition = New-AzScheduledQueryRuleTriggerCondition -ThresholdOperator "LessThan" -Threshold 5 -MetricTrigger $metricTrigger
$aznsActionGroup = New-AzScheduledQueryRuleAznsActionGroup -ActionGroup "/subscriptions/a123d7efg-123c-1234-5678-a12bc3defgh4/resourceGroups/contosoRG/providers/microsoft.insights/actiongroups/sampleAG" -EmailSubject "Custom email subject" -CustomWebhookPayload "{ `"alert`":`"#alertrulename`", `"IncludeSearchResults`":true }"
$alertingAction = New-AzScheduledQueryRuleAlertingAction -AznsAction $aznsActionGroup -Severity "3" -Trigger $triggerCondition
New-AzScheduledQueryRule -ResourceGroupName "contosoRG" -Location "Region Name for your Application Insights App or Log Analytics Workspace" -Action $alertingAction -Enabled $true -Description "Alert description" -Schedule $schedule -Source $source -Name "Alert Name"

Примеры действий по созданию правила генерации оповещений поиска по журналам с помощью PowerShell с запросами между ресурсами:

$authorized = @ ("/subscriptions/a123d7efg-123c-1234-5678-a12bc3defgh4/resourceGroups/contosoRG/providers/microsoft.OperationalInsights/workspaces/servicewsCrossExample", "/subscriptions/a123d7efg-123c-1234-5678-a12bc3defgh4/resourceGroups/contosoRG/providers/microsoft.insights/components/serviceAppInsights")
$source = New-AzScheduledQueryRuleSource -Query 'Heartbeat | summarize AggregatedValue = count() by bin(TimeGenerated, 5m), _ResourceId' -DataSourceId "/subscriptions/a123d7efg-123c-1234-5678-a12bc3defgh4/resourceGroups/contosoRG/providers/microsoft.OperationalInsights/workspaces/servicews" -AuthorizedResource $authorized
$schedule = New-AzScheduledQueryRuleSchedule -FrequencyInMinutes 15 -TimeWindowInMinutes 30
$metricTrigger = New-AzScheduledQueryRuleLogMetricTrigger -ThresholdOperator "GreaterThan" -Threshold 2 -MetricTriggerType "Consecutive" -MetricColumn "_ResourceId"
$triggerCondition = New-AzScheduledQueryRuleTriggerCondition -ThresholdOperator "LessThan" -Threshold 5 -MetricTrigger $metricTrigger
$aznsActionGroup = New-AzScheduledQueryRuleAznsActionGroup -ActionGroup "/subscriptions/a123d7efg-123c-1234-5678-a12bc3defgh4/resourceGroups/contosoRG/providers/microsoft.insights/actiongroups/sampleAG" -EmailSubject "Custom email subject" -CustomWebhookPayload "{ `"alert`":`"#alertrulename`", `"IncludeSearchResults`":true }"
$alertingAction = New-AzScheduledQueryRuleAlertingAction -AznsAction $aznsActionGroup -Severity "3" -Trigger $triggerCondition
New-AzScheduledQueryRule -ResourceGroupName "contosoRG" -Location "Region Name for your Application Insights App or Log Analytics Workspace" -Action $alertingAction -Enabled $true -Description "Alert description" -Schedule $schedule -Source $source -Name "Alert Name" 

Вы также можете создать оповещение поиска по журналам с помощью файлов шаблонов и параметров с помощью PowerShell:

Connect-AzAccount
Select-AzSubscription -SubscriptionName <yourSubscriptionName>
New-AzResourceGroupDeployment -Name AlertDeployment -ResourceGroupName ResourceGroupofTargetResource `
  -TemplateFile mylogalerttemplate.json -TemplateParameterFile mylogalerttemplate.parameters.json

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