Добавление настройки Diagnosti c в виртуальную машину с помощью расширения Terraform - PullRequest
0 голосов
/ 07 августа 2020

Я добавляю расширение Diagnosti c в виртуальную машину windows, используя terraform.

 resource "azurerm_virtual_machine_extension" "VMDiagnosticsSettings" {
  name                 = "${azurerm_virtual_machine.vm.name}-DiagnosticSettings"
  virtual_machine_id         = "${azurerm_virtual_machine.vm.id}"
  publisher                  = "Microsoft.Azure.Diagnostics"
  type                       = "IaaSDiagnostics"
  type_handler_version       = "1.9"
  auto_upgrade_minor_version = "true"
  settings = <<SETTINGS
    {
      "StorageAccount": "${data.azurerm_key_vault_secret.storage_acc.value}",
      "WadCfg": {
          "diagnosticMonitorConfiguration": {
                "eventVolume": "Medium", 
                "metrics": {
                     "metricAggregation": [
                        {
                            "scheduledTransferPeriod": "PT1H"
                        }, 
                        {
                            "scheduledTransferPeriod": "PT1M"
                        }
                    ], 
                    "resourceId": "${azurerm_virtual_machine.vm.id}"
                },
                "PerformanceCounters": ${file("${path.module}/Win-DiagnosticsConfiguration.json")}, 
            "sampleRateInSeconds": 15
        }
    }
}
  SETTINGS
  protected_settings = <<PROTECTED_SETTINGS
    {
      "storageAccountName": "${data.azurerm_key_vault_secret.diagnostic_acc_name.value}",
      "storageAccountKey": "${data.azurerm_key_vault_secret.diagnostic_acc_key.value}"
    }
  PROTECTED_SETTINGS
} 

В Azure Portal на вновь созданной виртуальной машине под расширениями отображается добавленное расширение, но когда я открываю Diagnosti c настройка, при которой окно загрузки никогда не открывается, чтобы увидеть счетчики.

Win-DiagnosticsConfiguration. json

{
    "scheduledTransferPeriod": "PT1M",
    "PerformanceCounterConfiguration": [
        {
            "counterSpecifier": "\\Processor(_Total)\\% Processor Time",
            "sampleRate": "PT1M",
            "unit": "percent"
        }
    ]
}

1 Ответ

1 голос
/ 10 августа 2020

Вероятно, вы пропустили не ту counterSpecifier. Вы можете отредактировать Win-DiagnosticsConfiguration. json на

{
    "scheduledTransferPeriod": "PT1M",
    "PerformanceCounterConfiguration": [
      {
        "counterSpecifier": "\\Processor Information(_Total)\\% Processor Time",
        "unit": "Percent",
        "sampleRate": "PT60S"
      }
    ]
  }

Я пробовал и работал на своей стороне.

enter image description here

Здесь - это минимальный пример файла настроек publi c, который позволяет собирать журналы диагностики c инфраструктуры, единый счетчик производительности и единый журнал событий.

{
  "StorageAccount": "mystorageaccount",
  "WadCfg": {
    "DiagnosticMonitorConfiguration": {
      "overallQuotaInMB": 5120,
      "PerformanceCounters": {
        "scheduledTransferPeriod": "PT1M",
        "PerformanceCounterConfiguration": [
          {
            "counterSpecifier": "\\Processor Information(_Total)\\% Processor Time",
            "unit": "Percent",
            "sampleRate": "PT60S"
          }
        ]
      },
      "WindowsEventLog": {
        "scheduledTransferPeriod": "PT1M",
        "DataSource": [
          {
            "name": "Application!*[System[(Level=1 or Level=2 or Level=3)]]"
          }
        ]
      }
    }
  }
}
...