Создание оповещений на основе пользовательских журналов с помощью средства командной строки Azure

#azure #azure-cli #azure-monitoring #azure-alerts

#azure #azure-cli #azure-мониторинг #azure-оповещения

Вопрос:

Я попытался создать оповещение о показателях на основе пользовательского запроса журнала с помощью инструмента командной строки az. Что мне удалось до сих пор, так это;

  • сохранение пользовательского запроса журнала
  • создание группы действий для отправки сведений о предупреждении

Чего мне не удалось сделать, так это создать оповещение с помощью команды az monitor metrics alert create, чтобы оно основывалось на количестве результатов, возвращаемых сохраненным запросом loq. Можно ли создать оповещение о метрике на основе пользовательского запроса журнала с помощью инструмента командной строки az?

Ответ №1:

Если вы знаете команду, справочные сообщения, как правило, довольно полезны и подробны:

 az monitor scheduled-query create --help
  

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

 RESOURCE_GROUP="ResourceGroupName"
WORKSPACE_NAME="LogAnalyticsWorkspaceName"
ACTION_GROUP_NAME="ActionGroupName"

QUERY='AzureDiagnostics
| where Message contains "Connection successful"
| where TimeGenerated > ago(5m)
| order by TimeGenerated desc'

WORKSPACE_ID=$(az monitor log-analytics workspace show 
    --resource-group $RESOURCE_GROUP 
    --workspace-name $WORKSPACE_NAME 
    --query id --out tsv)

az monitor scheduled-query create 
    --name "TestScheduledQuery" 
    --resource-group $RESOURCE_GROUP 
    --scopes $WORKSPACE_ID 
    --description "Test rule" 
    --action $ACTION_GROUP_NAME 
    --evaluation-frequency 5m 
    --mute-actions-duration PT30M 
    --severity 3 
    --condition "count 'QRY1' > 0" 
    --condition-query QRY1="$QUERY"
  

В этом примере будет:

  • запускайте каждые 5 минут ( --evaluation-frequency )
  • ищите новые диагностики, соответствующие ограничениям, которые были созданы за последние 5 минут ( QUERY )
  • если количество совпадений больше нуля ( --condition ):
    • оно активирует оповещение (отправит электронное письмо и т. Д. В зависимости от группы действий в --action )
    • и как только предупреждение сработает, оно будет отключено на 30 минут, чтобы повторные оповещения никого не спамили ( --mute-actions-duration )

В любом случае большинство из этих параметров являются настройками по умолчанию, я просто определил их для ясности.

Ответ №2:

Пользовательские оповещения о поиске в журнале имеют тип microsoft.insights/scheduledqueryrules. Таким образом, вы можете использовать набор команд az monitor для управления правилами (ресурсами) запланированных запросов.

Чтобы создать запланированный запрос, используйте az monitor scheduled-query create команду:

 az monitor scheduled-query create --condition
                                  --name
                                  --resource-group
                                  --scopes
                                  [--action]
                                  [--description]
                                  [--disabled {false, true}]
                                  [--evaluation-frequency]
                                  [--location]
                                  [--mad]
                                  [--severity]
                                  [--tags]
                                  [--target-resource-type]
                                  [--window-size]
  

Проверьте ссылку на команду Azure CLI, чтобы узнать доступные параметры и их определения.

В этом документе описаны некоторые другие способы создания оповещений журнала: создание, просмотр и управление оповещениями журнала с помощью Azure Monitor