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

В этой статье описывается процесс управления правилами оповещений, созданными в предыдущем пользовательском интерфейсе или с помощью версии 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. Настройка логики сигнала:

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

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

      Если результаты запроса содержат суммированные данные или определенные столбцы без столбца времени, диаграмма отображает одно значение.

      Снимок экрана: панель

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

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

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

        • Количество результатов: количество записей, возвращаемых запросом.

        • Измерение метрик: Суммарное значение вычисляется путем группировки по выбранным выражениям и выбору summarize Рассмотрим пример.

          // 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)
          

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

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

        Примечание.

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

        Снимок экрана, на котором показан включенный режим агрегации.

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

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

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

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

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

  7. (Необязательно) Настройка действий:

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

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

  8. Задайте сведения о правиле генерации оповещений:

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

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

      Снимок экрана: параметр

    3. Чтобы сделать оповещения с сохранением состояния, выберите Автоматическое разрешение оповещений.

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

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

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

Примечание.

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

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

Командлет "PowerShell" Описание
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 Alert, можно управлять только с помощью 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

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