【问题标题】:Error creating auto-scaling rule for app service using terraform in azure在 azure 中使用 terraform 为应用服务创建自动缩放规则时出错
【发布时间】:2020-02-27 14:59:57
【问题描述】:
resource "azurerm_monitor_autoscale_setting" "test" {
  name                = "AutoscaleSetting"
  resource_group_name = "${azurerm_resource_group.main.name}"
  location            = "${azurerm_resource_group.main.location}"
  target_resource_id  = "${azurerm_app_service_plan.main.id}"

 profile {
name = "defaultProfile"

capacity {
  default = 1
  minimum = 1
  maximum = 10
}

rule {
  metric_trigger {
    metric_name        = "Percentage CPU"
    metric_resource_id = "${azurerm_app_service_plan.main.id}"
    time_grain         = "PT1M"
    statistic          = "Average"
    time_window        = "PT5M"
    time_aggregation   = "Average"
    operator           = "GreaterThan"
    threshold          = 80
  }

  scale_action {
    direction = "Increase"
    type      = "ChangeCount"
    value     = "1"
    cooldown  = "PT1M"
  }
}

rule {
  metric_trigger {
    metric_name        = "Percentage CPU"
    metric_resource_id = "${azurerm_app_service_plan.main.id}"
    time_grain         = "PT1M"
    statistic          = "Average"
    time_window        = "PT5M"
    time_aggregation   = "Average"
    operator           = "LessThan"
    threshold          = 80
  }

  scale_action {
    direction = "Decrease"
    type      = "ChangeCount"
    value     = "1"
    cooldown  = "PT1M"
  }
}}   

我尝试在 azure 上的 terraform 中设置自动缩放规则。这样做时会引发此错误。请帮忙。这是什么错误,如何解决?

错误:创建自动缩放设置“AutoscaleSetting”时出错(资源 组“sm-prod-resources”): Insights.AutoscaleSettingsClient#CreateOrUpdate:响应失败 请求:StatusCode=400 - 原始错误:autorest/azure:服务 返回错误。状态 = 400 代码 =“不支持的度量标准” Message="异常类型 'Microsoft.WindowsAzure.Management.Monitoring.MonitoringServiceException' 被扔了。”

【问题讨论】:

  • 你能从你的 tf 文件中发布你的 terraform 资源块吗?
  • 还有问题吗?它解决了你的问题吗?请让我知道是什么状态。

标签: azure azure-web-app-service azure-app-service-plans terraform-provider-azure app-service-environment


【解决方案1】:

错误表明它是一个UnsupportedMetric。根据 Terraform 中的文档,它是这样描述的:

metric_name - (必需)定义什么的度量的名称 规则监视器,例如虚拟机规模集的百分比 CPU 和应用服务计划的 CpuPercentage。

我认为这只是你犯的一个错误,带有“Percentage CPU”的名称是虚拟机规模集,你需要将它更改为“CpuPercentage”,它是你的应用服务计划想。详情请见metric_name

【讨论】:

  • @SiddhiMorajkar 好吧,那么请接受它作为答案。
  • @SiddhiMorajkar 为什么在解决您的问题后不接受我的回答?您只需点击按钮,这不难。
  • 我遇到了完全相同的问题。在本地,通过使用度量名称“ScaleIn”和“ScaleOut”,我能够毫无问题地运行 terraform 计划。但是当我在管道中运行 terraform apply 时,它会失败
  • @ccoutinho 也许你可以添加一个新的问题与新的细节。
猜你喜欢
  • 2021-10-30
  • 1970-01-01
  • 2021-09-16
  • 2018-09-20
  • 2020-07-25
  • 2022-01-13
  • 2022-09-23
  • 2021-10-16
  • 2020-11-20
相关资源
最近更新 更多