Terraform для создания автоматической настройки правил виртуальной машины на основе операций записи на диск / сек или байтов записи на диск - PullRequest
0 голосов
/ 30 сентября 2019

На основе критериев правила автомасштабирования Я пытаюсь создать правило terraform azurerm_monitor_autoscale_setting, которое увеличивает / уменьшает узлы виртуальных машин на основе операций записи на диск / сек или дискаБайт записи . Метрический триггер выглядит следующим образом:

rule {
     metric_trigger {
            operator           = "GreaterThan"
            threshold          = 50
            time_grain         = "PT1M"
            statistic          = "Average"
            time_window        = "PT5M"
            metric_name        = "Disk Write Operations/Sec"
            time_aggregation   = "Average"
    }
}

Однако я считаю, что это неправильный синтаксис, поскольку, применяя скрипт terraform, он никогда не создает это правило. С другой стороны, замена правила на «Процент процессора» работает нормально. Кто-нибудь создал какие-либо показатели, кроме «Процент процессора» ? Можете ли вы помочь выяснить, как правильно сделать это в terraform?

1 Ответ

1 голос
/ 01 октября 2019

Вам не хватает metric_resource_id. Вы можете попробовать следующий пример, это работает на моей стороне.

resource "azurerm_monitor_autoscale_setting" "test" {
  name                = "myAutoscaleSetting"
  resource_group_name = "${azurerm_resource_group.test.name}"
  location            = "${azurerm_resource_group.test.location}"
  target_resource_id  = "${azurerm_virtual_machine_scale_set.test.id}"

  profile {
    name = "defaultProfile"

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

    rule {
      metric_trigger {
        metric_name        = "Disk Write Operations/Sec"
        metric_resource_id = "${azurerm_virtual_machine_scale_set.test.id}"
        time_grain         = "PT1M"
        statistic          = "Average"
        time_window        = "PT5M"
        time_aggregation   = "Average"
        operator           = "GreaterThan"
        threshold          = 75
      }

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

    rule {
      metric_trigger {
        metric_name        = "Disk Write Operations/Sec"
        metric_resource_id = "${azurerm_virtual_machine_scale_set.test.id}"
        time_grain         = "PT1M"
        statistic          = "Average"
        time_window        = "PT5M"
        time_aggregation   = "Average"
        operator           = "LessThan"
        threshold          = 25
      }

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

  notification {
    email {
      send_to_subscription_administrator    = true
      send_to_subscription_co_administrator = true
      custom_emails                         = ["admin@contoso.com"]
    }
  }
}

Результат: enter image description here enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...