這些範例會使用 Azure CLI 命令在 Azure 監視器中建立計量警示監視器。 第一個範例會建立虛擬機器的警示。 第二個命令會建立其中包含 App Service 方案維度的警示。
必要條件
在 Azure Cloud Shell 中使用 Bash 環境。 如需詳細資訊,請參閱開始使用 Azure Cloud Shell。
若要在本地執行 CLI 參考命令,請安裝 Azure CLI。 若您在 Windows 或 macOS 上執行,請考慮在 Docker 容器中執行 Azure CLI。 如需詳細資訊,請參閱〈如何在 Docker 容器中執行 Azure CLI〉。
如果您使用的是本機安裝,請使用 az login 命令,透過 Azure CLI 來登入。 請遵循您終端機上顯示的步驟,完成驗證程序。 如需其他登入選項,請參閱 使用 Azure CLI 向 Azure 進行驗證。
出現提示時,請在第一次使用時安裝 Azure CLI 延伸模組。 如需擴充功能的詳細資訊,請參閱 使用和管理 Azure CLI 的擴充功能。
執行 az version 以尋找已安裝的版本和相依程式庫。 若要升級至最新版本,請執行 az upgrade。
建立警示
此警示會監視資源群組中名為 VM07ContosoVMRG 的現有虛擬機器。
使用 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 (顯示 AppService 計劃資訊)
- 請輸入命令:az group create 來建立群組。
- az group delete(刪除群組)
- az monitor action-group
- az 監視器指標警報條件創建
- az monitor metrics alert create(建立監視度量警報)
- az monitor metrics alert delete 刪除監控指標警報
- az 監控度量告警維度創建
- az monitor metrics list-definitions
- az vm show