在 Azure CLI 中建立計量警示
這些範例會使用 Azure CLI 命令在 Azure 監視器中建立計量警示監視器。 第一個範例會建立虛擬機器的警示。 第二個命令會建立其中包含 App Service 方案維度的警示。
必要條件
在 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。
建立警示
此警示會監視資源群組中名為 VM07
ContosoVMRG
的現有虛擬機器。
使用 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。
使用維度建立警示
此範例會建立 App Service 方案,然後為其建立計量警示。 此範例會使用維度,來指定 App Service 方案的所有執行個體都屬於此計量。 此範例會建立資源群組和應用程式服務方案。
# 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-definition 命令。 參數 --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
- 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