以下 az-cli 命令不支持 Azure 应用服务上的自动缩放实例的指标。
# Create cpu autoscale rule
az monitor autoscale rule create --resource-group $COMMON_RESOURCE_GROUP_NAME \
--subscription $SUBSCRIPTION_ID \
--resource $WEBAPP_NAME \
--resource-type 'Microsoft.Web/sites' \
--autoscale-name "test" \
--condition "Percentage CPU > 75 avg 5m" \
--scale out 1
响应 - 引发“Microsoft.WindowsAzure.Management.Monitoring.MonitoringServiceException”类型的异常。[代码:“UnsupportedMetric”]
我遵循了这个 Microsoft 文档 - https://learn.microsoft.com/en-us/cli/azure/monitor/autoscale/rule?view=azure-cli-latest
我知道如何通过 azure 门户进行自动缩放,但我想使用脚本来执行此操作。
最佳答案
我能够通过以下步骤创建自动扩展策略和规则。
注意:这是特定于 Azure 服务计划的,但可能适用于其他 vms。
Azure 文档专门针对 VMSS - https://learn.microsoft.com/en-us/cli/azure/monitor/autoscale?view=azure-cli-latest因此我必须手动创建自动缩放和规则,并查看 JSON 输出以查看使用的实际指标名称。
RG="resource_group"
RESOURCE="service_plan_name"
首先,创建自动缩放
az monitor autoscale create -g $RG --resource $RESOURCE \
--min-count 1 --max-count 4 --count 1 --email-administrator \
--resource-type Microsoft.Web/serverfarms
然后,创建放大/缩小规则
az monitor autoscale rule create -g $RG --autoscale-name $RESOURCE \
--scale out 1 --condition "CpuPercentage > 80 avg 5m"
az monitor autoscale rule create -g $RG --autoscale-name $RESOURCE \
--scale in 1 --condition "CpuPercentage <= 40 avg 10m"
https://stackoverflow.com/questions/64115855/