在 Azure CLI 中创建指标警报

这些示例使用 Azure CLI 命令在 Azure Monitor 中创建指标警报监视器。 第一个示例为虚拟机创建警报。 第二个命令创建一个警报,其中包含应用服务计划的维度。

先决条件

  • 如需在本地运行 CLI 参考命令,请安装 Azure CLI。 如果在 Windows 或 macOS 上运行,请考虑在 Docker 容器中运行 Azure CLI。 有关详细信息,请参阅如何在 Docker 容器中运行 Azure CLI

    • 如果使用的是本地安装,请使用 az login 命令登录到 Azure CLI。 若要完成身份验证过程,请遵循终端中显示的步骤。 有关其他登录选项,请参阅使用 Azure CLI 登录

    • 出现提示时,请在首次使用时安装 Azure CLI 扩展。 有关扩展详细信息,请参阅使用 Azure CLI 的扩展

    • 运行 az version 以查找安装的版本和依赖库。 若要升级到最新版本,请运行 az upgrade

创建警报

此警报监视 ContosoVMRG 资源组中名为 VM07 的现有虚拟机。

可以使用 az group create 命令创建资源组。 有关创建虚拟机的信息,请参阅使用 Azure CLI 创建 Windows 虚拟机使用 Azure CLI 创建 Linux 虚拟机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 chinanorth2
 
# 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 命令:

后续步骤