【问题标题】:Adding Diagnostic setting to Virtual Machine using Terraform extension使用 Terraform 扩展向虚拟机添加诊断设置
【发布时间】:2020-08-07 11:27:05
【问题描述】:

我正在使用 terraform 向 Windows 虚拟机添加诊断扩展。

 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 门户中,在扩展下新创建的虚拟机下,它显示添加了扩展,但是当我打开诊断设置时,它一直在加载窗口,从未打开过查看计数器。

Win-DiagnosticsConfiguration.json

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

【问题讨论】:

    标签: azure virtual-machine terraform-provider-azure azure-diagnostics


    【解决方案1】:

    你可能传错了counterSpecifier。您可以将 Win-DiagnosticsConfiguration.json 编辑为

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

    我试过了,并在我身边工作。

    Here 是一个最小的公共设置文件示例,可以收集诊断基础设施日志、单个性能计数器和单个事件日志。

    {
      "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)]]"
              }
            ]
          }
        }
      }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-01-28
      • 2022-08-18
      • 2021-07-11
      • 2021-02-23
      • 1970-01-01
      • 2021-07-26
      • 2022-12-21
      相关资源
      最近更新 更多