你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
在 Azure CLI 中创建指标警报
这些示例使用 Azure CLI 命令在 Azure Monitor 中创建指标警报监视器。 第一个示例为虚拟机创建警报。 第二个命令创建一个警报,其中包含应用服务计划的维度。
必备条件
在 Azure Cloud Shell 中使用 Bash 环境。 有关详细信息,请参阅 Azure Cloud Shell 中的 Bash 快速入门。
如需在本地运行 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 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 命令:
- az appservice plan create
- az appservice plan show
- az group create
- az group delete
- az monitor action-group create
- az monitor metrics alert condition create
- az monitor metrics alert create
- az monitor metrics alert delete
- az monitor metrics alert dimension create
- az monitor metrics list-definitions
- az vm show