Создание оповещений метрик в Azure CLI

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

Необходимые компоненты

  • Используйте среду Bash в Azure Cloud Shell. Дополнительные сведения см . в кратком руководстве по Bash в Azure Cloud Shell.

  • Если вы предпочитаете выполнять справочные команды CLI локально, установите Azure CLI. Если вы работаете в Windows или macOS, Azure CLI можно запустить в контейнере Docker. Дополнительные сведения см. в статье Как запустить Azure CLI в контейнере Docker.

    • Если вы используете локальную установку, выполните вход в Azure CLI с помощью команды az login. Чтобы выполнить аутентификацию, следуйте инструкциям в окне терминала. Сведения о других возможностях, доступных при входе, см. в статье Вход с помощью Azure CLI.

    • Установите расширение Azure CLI при первом использовании, когда появится соответствующий запрос. Дополнительные сведения о расширениях см. в статье Использование расширений с Azure CLI.

    • Выполните команду az version, чтобы узнать установленную версию и зависимые библиотеки. Чтобы обновиться до последней версии, выполните команду az upgrade.

Создание оповещения.

Это оповещение отслеживает существующую виртуальную машину с именем VM07 в группе ресурсов ContosoVMRG.

Вы можете создать группу ресурсов с помощью команды az group create. Сведения о создании виртуальных машин см. в статьях Создание виртуальной машины Windows с помощью Azure CLI и Создание виртуальной машины Linux с помощью Azure CLI, а также в описании команды az vm create.

# resource group name: ContosoVMRG
# virtual machine name: VM07

# Create scope
scope=$(az vm show --resource-group ContosoVMRG --name VM07 --output tsv --query id)

# Create action
action=$(az monitor action-group create --name ContosoWebhookAction \
  --resource-group ContosoVMRG --output tsv --query id \
  --action webhook https://alerts.contoso.com usecommonalertschema)

# Create condition
condition=$(az monitor metrics alert condition create --aggregation Average \
  --metric "Percentage CPU" --op GreaterThan --type static --threshold 90 --output tsv)

# Create metrics alert
az monitor metrics alert create --name alert-01 --resource-group ContosoVMRG \
  --scopes $scope --action $action --condition $condition --description "Test High CPU"

В этом примере используется тип выходных данных tsv, который не включает нежелательные символы, такие как кавычки. См. дополнительные сведения об эффективном использовании Azure CLI.

Создание оповещения с помощью измерения

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

# Create resource group
az group create --name ContosoRG --location eastus2
 
# Create application service plan
az appservice plan create --resource-group ContosoRG --name ContosoAppServicePlan \
   --is-linux --number-of-workers 4 --sku S1 
 
# Create scope
scope=$(az appservice plan show --resource-group ContosoRG --name ContosoAppServicePlan \
   --output tsv --query id) 
 
# Create dimension
dim01=$(az monitor metrics alert dimension create --name Instance --value * --op Include --output tsv)
 
# Create condition
condition=$(az monitor metrics alert condition create --aggregation Average \
   --metric CpuPercentage --op GreaterThan --type static --threshold 90 \
   --dimension $dim01 --output tsv)

Чтобы просмотреть список возможных метрик, выполните команду az monitor metrics list-definitions. Параметр --output выводит значения в удобном для чтения формате.

az monitor metrics list-definitions --resource $scope --output table 
 
# Create metrics alert
az monitor metrics alert create --name alert-02 --resource-group ContosoRG \
   --scopes $scope --condition $condition --description "Service Plan High CPU"

Очистка развертывания

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

az group delete --name ContosoVMRG

az group delete --name ContosoRG

Если вы использовали существующие ресурсы, которые следует оставить, используйте команду az monitor metrics alert delete, чтобы удалить тестовые оповещения.

az monitor metrics alert delete --name alert-01

az monitor metrics alert delete --name alert-02

Команды Azure CLI, используемые в этой статье

В рамках этой статьи использованы следующие команды Azure CLI.

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