Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何为linux诊断设置azurerm\u虚拟机\u扩展_Azure_Terraform_Azure Virtual Machine_Terraform Provider Azure_Azure Diagnostics - Fatal编程技术网

如何为linux诊断设置azurerm\u虚拟机\u扩展

如何为linux诊断设置azurerm\u虚拟机\u扩展,azure,terraform,azure-virtual-machine,terraform-provider-azure,azure-diagnostics,Azure,Terraform,Azure Virtual Machine,Terraform Provider Azure,Azure Diagnostics,我一直在努力用terraform自动设置linux诊断设置。我可以创建扩展,但是它似乎没有报告指标,如果我尝试在azure门户中编辑它,它将无法保存。希望你们能指出我错在哪里 resource "azurerm_virtual_machine_extension" "vm_linux_diagnostics" { name = "LinuxDiagnostics" virtual_machine_id = azurerm

我一直在努力用terraform自动设置linux诊断设置。我可以创建扩展,但是它似乎没有报告指标,如果我尝试在azure门户中编辑它,它将无法保存。希望你们能指出我错在哪里

resource "azurerm_virtual_machine_extension" "vm_linux_diagnostics" {
    name                       = "LinuxDiagnostics"
    virtual_machine_id         = azurerm_virtual_machine.vm.id
    publisher                  = "Microsoft.Azure.Diagnostics"
    type                       = "LinuxDiagnostic"
    type_handler_version       = "3.0"
    auto_upgrade_minor_version = "true"

    protected_settings         = <<PROTECTED_SETTINGS
      {
          "storageAccountName": "${var.metrics_storage_account_name}",
          "storageAccountSasToken": "${var.metrics_storage_account_token}"
      }
    PROTECTED_SETTINGS

    settings = <<SETTINGS
      {
        "StorageAccount": "${var.metrics_storage_account_name}",
        "ladCfg": {
          "diagnosticMonitorConfiguration": {
            "eventVolume": "Medium",
            "metrics": {
              "metricAggregation": [
                {
                  "scheduledTransferPeriod": "PT1M"
                },
                {
                  "scheduledTransferPeriod": "PT1H"
                }
              ],
              "resourceId": "${azurerm_virtual_machine.vm.id}"
            },
            "performanceCounters": {
              "performanceCounterConfiguration": [
                {
                  "annotation": [
                    {
                      "displayName": "Filesystem % used space",
                      "locale": "en-us"
                    }
                  ],
                  "class": "filesystem",
                  "condition": "IsAggregate=TRUE",
                  "counter": "percentusedspace",
                  "counterSpecifier": "/builtin/filesystem/percentusedspace",
                  "sampleRate": "PT15S",
                  "type": "builtin",
                  "unit": "Percent"
                }
              ]
            },
            "syslogEvents": {
              "syslogEventConfiguration": {}
            }
          },
          "sampleRateInSeconds": 15
        }
      }
    SETTINGS
}
资源“azurerm\u虚拟机\u扩展”“虚拟机\u linux\u诊断”{
name=“LinuxDiagnostics”
virtual\u machine\u id=azurerm\u virtual\u machine.vm.id
publisher=“Microsoft.Azure.Diagnostics”
type=“LinuxDiagnostic”
键入\u handler\u version=“3.0”
自动升级\u次要\u版本=“真”

受保护的\u设置=答案是不再报告度量值,我必须安装telegraf并以这种方式报告磁盘使用量度量值。然后您发出azurerm\u监视器\u度量值\u警报,如下所示:

resource "azurerm_monitor_metric_alert" "diskUsage" {
  name                = "vm-disk-usage-alert"
  resource_group_name = var.resource_group
  scopes              = [azurerm_virtual_machine.vm.id]
  window_size         = "PT1H"
  frequency           = "PT30M"

  criteria {
    metric_namespace = "telegraf/disk"
    metric_name      = "used_percent"
    aggregation      = "Maximum"
    operator         = "GreaterThan"
    threshold        = 80
  }

  action {
    action_group_id = var.action_group_id
  }
}

答案是不再报告指标,我必须安装telegraf并以这种方式报告磁盘使用率指标。然后,您会发出azurerm_monitor_metric_警报,如下所示:

resource "azurerm_monitor_metric_alert" "diskUsage" {
  name                = "vm-disk-usage-alert"
  resource_group_name = var.resource_group
  scopes              = [azurerm_virtual_machine.vm.id]
  window_size         = "PT1H"
  frequency           = "PT30M"

  criteria {
    metric_namespace = "telegraf/disk"
    metric_name      = "used_percent"
    aggregation      = "Maximum"
    operator         = "GreaterThan"
    threshold        = 80
  }

  action {
    action_group_id = var.action_group_id
  }
}