尝试通过 terraform 添加 LinuxDiagnostic Azure VM Extension 并出现错误 [英] Trying to add LinuxDiagnostic Azure VM Extension through terraform and getting errors

查看:13
本文介绍了尝试通过 terraform 添加 LinuxDiagnostic Azure VM Extension 并出现错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试通过 terraform 添加 LinuxDiagnostic 扩展.

虚拟机是:

azure_image_publisher = "红帽"azure_image_offer = "RHEL"azure_image_sku = "7.8"

我的部署如下所示:

资源azurerm_virtual_machine_extension"diagnostics_linux"{计数 = local.is_windows == 真?0 : 1名称=Linux诊断"virtual_machine_id = azurerm_virtual_machine.main.id发布者 = "Microsoft.Azure.Diagnostics"类型=Linux诊断"type_handler_version = "3.0"auto_upgrade_minor_version = "真"设置 = <<设置{"storageAccount": "${var.stackSettings.azurerm_storage_account.name}",ladCfg":{诊断监视器配置":{"eventVolume": "中",指标":{度量聚合":[{"scheduledTransferPeriod": "PT1M"},{"scheduledTransferPeriod": "PT1H"}],"resourceId": "/subscriptions/${var.stackSettings.azure_subscription_id}/resourceGroups/${var.stackSettings.azurerm_resource_group}/providers/Microsoft.Compute/virtualMachines/${azurerm_virtual_machine.main.id}"},"syslogEvents": {/** 系统日志列表 **/},"performanceCounters": {/** 性能计数器列表 **/}},sampleRateInSeconds":15}}设置protected_settings = <<设置{"storageAccountName": "${var.stackSettings.azurerm_storage_account.name}","storageAccountKey": "${var.stackSettings.azurerm_storage_account.primary_access_key}",storageAccountEndPoint":https://core.windows.net"}设置depends_on = [azurerm_virtual_machine.main]}

每次我尝试通过 terraform 申请时都会收到错误消息:

Error: Code="VMExtensionProvisioningError" Message="VM has reported a failure when processing extension 'LinuxDiagnostic'. Error message: "Extension operation Enable failed:'NoneType' object has no attribute 'get_fluentd_syslog_src_config'"

有关故障排除的更多信息,请访问 https://aka.ms/VMExtensionLinuxDiagnosticsTroubleshoot "在 ........modulesAzure-Serverv1main.tf 第 284 行,在资源azurerm_virtual_machine_extension"diagnostics_linux"中:284:资源azurerm_virtual_machine_extension"diagnostics_linux"{

我的 Windows 诊断扩展工作正常,我通过门户直接从工作部署中获取 JSON.

就我可能遗漏的东西寻求帮助.或者如果有人有 XML LAD 版本,我也会尝试(在任何地方都找不到).

谢谢!

编辑

完整的工作解决方案(包括获取讨厌的 SAS 令牌和读取 json 文件而不是巨大的 terrform 块!)地形配置:

/**Linux 诊断代理linux 诊断代理的工作相当复杂.你需要:1. 开始/到期时间的静态时间戳2. 来自具有自定义权限的存储帐户的 SAS 令牌3. 使用自定义清理导入多个大型 json这将处理以下所有内容**///== Provider 用于存储时间戳 SAS 令牌生命周期 ==//提供者时间"{版本=〜> 0.4"}//== 存储未来 10 年 ==//资源time_offset"linux_oms_sas_expiry"{计数 = local.is_windows == 真?0 : 1偏移年 = 10}//== 存储(现在 - 10)天以确保我们拥有有效的 SAS ==//资源time_offset"linux_oms_sas_start"{计数 = local.is_windows == 真?0 : 1偏移天数 = -10}//== 诊断扩展需要 SAS 令牌 ==///**权限基于此处的 linux powershell sas 创建:https://docs.microsoft.com/en-us/azure/virtual-machines/extensions/diagnostics-linux**/数据azurerm_storage_account_sas"linux_oms"{计数 = local.is_windows == 真?0 : 1connection_string = var.stackSettings.azurerm_storage_account.primary_connection_stringhttps_only = 真资源类型 {服务=真容器 = 真对象=真}服务 {斑点 = 真表=真队列 = 假文件 = 假}开始 = time_offset.linux_oms_sas_start[0].rfc3339到期 = time_offset.linux_oms_sas_expiry[0].rfc3339权限{读=真写=真删除 = 真清单 = 真添加=真创建 = 真更新=真进程=真}}//=== 安装诊断扩展 ===//资源azurerm_virtual_machine_extension"diagnostics_linux"{计数 = local.is_windows == 真?0 : 1名称=Linux诊断"virtual_machine_id = azurerm_virtual_machine.main.id发布者 = "Microsoft.Azure.Diagnostics"类型=Linux诊断"type_handler_version = "3.0"auto_upgrade_minor_version = "真"设置 = <<设置{"StorageAccount": "${var.stackSettings.azurerm_storage_account.name}",ladCfg":{诊断监视器配置":{"eventVolume": "中",指标":{度量聚合":[{"scheduledTransferPeriod": "PT1H"},{"scheduledTransferPeriod": "PT1M"}],"resourceId": "${azurerm_virtual_machine.main.id}"},"performanceCounters": ${file("${path.module}/azure_jsons/azure_extension_diagnostics_linux_performancecounters.json")},"syslogEvents": ${file("${path.module}/azure_jsons/azure_extension_diagnostics_linux_syslogevents.json")}},sampleRateInSeconds":15}}设置protected_settings = <<设置{"storageAccountName": "${var.stackSettings.azurerm_storage_account.name}","storageAccountSasToken": "${data.azurerm_storage_account_sas.linux_oms[0].sas}","storageAccountEndPoint": "https://core.windows.net",汇配置":{下沉": [{"name": "SyslogJsonBlob",类型":JsonBlob"},{"name": "LinuxCpuJsonBlob",类型":JsonBlob"}]}}设置depends_on = [azurerm_virtual_machine.main]}

azure_extension_diagnostics_linux_performancecounters.json:

<代码>{性能计数器配置":[{注释":[{"displayName": "磁盘读取客户操作系统",语言环境":en-us"}],类":磁盘","条件": "IsAggregate=TRUE","counter": "readbytespersecond","counterSpecifier": "/builtin/disk/readbytespersecond",类型":内置",单位":BytesPerSecond"},{注释":[{"displayName": "磁盘写入",语言环境":en-us"}],类":磁盘","条件": "IsAggregate=TRUE","counter": "writespersecond","counterSpecifier": "/builtin/disk/writespersecond",类型":内置",单位":CountPerSecond"},{注释":[{"displayName": "磁盘传输时间",语言环境":en-us"}],类":磁盘","条件": "IsAggregate=TRUE",计数器":平均传输时间","counterSpecifier": "/builtin/disk/averagetransfertime",类型":内置",单位":秒"},{注释":[{"displayName": "磁盘传输",语言环境":en-us"}],类":磁盘","条件": "IsAggregate=TRUE",计数器":传输每秒","counterSpecifier": "/builtin/disk/transferspersecond",类型":内置",单位":CountPerSecond"},{注释":[{"displayName": "磁盘写入客户操作系统",语言环境":en-us"}],类":磁盘","条件": "IsAggregate=TRUE","counter": "writebytespersecond","counterSpecifier": "/builtin/disk/writebytespersecond",类型":内置",单位":BytesPerSecond"},{注释":[{"displayName": "磁盘读取时间",语言环境":en-us"}],类":磁盘","条件": "IsAggregate=TRUE",计数器":平均读取时间","counterSpecifier": "/builtin/disk/averagereadtime",类型":内置",单位":秒"},{注释":[{"displayName": "磁盘写入时间",语言环境":en-us"}],类":磁盘","条件": "IsAggregate=TRUE",计数器":平均写入时间","counterSpecifier": "/builtin/disk/averagewritetime",类型":内置",单位":秒"},{注释":[{"displayName": "磁盘总字节数",语言环境":en-us"}],类":磁盘","条件": "IsAggregate=TRUE",计数器":字节每秒","counterSpecifier": "/builtin/disk/bytespersecond",类型":内置",单位":BytesPerSecond"},{注释":[{"displayName": "磁盘读取",语言环境":en-us"}],类":磁盘","条件": "IsAggregate=TRUE","counter": "readspersecond","counterSpecifier": "/builtin/disk/readspersecond",类型":内置",单位":CountPerSecond"},{注释":[{"displayName": "磁盘队列长度",语言环境":en-us"}],类":磁盘","条件": "IsAggregate=TRUE",计数器":平均磁盘队列长度","counterSpecifier": "/builtin/disk/averagediskqueuelength",类型":内置",单位":计数"},{注释":[{"displayName": "来宾操作系统中的网络",语言环境":en-us"}],类":网络",计数器":接收到的字节数","counterSpecifier": "/builtin/network/bytesreceived",类型":内置",单位":字节"},{注释":[{"displayName": "网络总字节数",语言环境":en-us"}],类":网络",计数器":字节总数","counterSpecifier": "/builtin/network/bytestotal",类型":内置",单位":字节"},{注释":[{"displayName": "联网来宾操作系统",语言环境":en-us"}],类":网络",计数器":传输的字节数","counterSpecifier": "/builtin/network/bytestransmitted",类型":内置",单位":字节"},{注释":[{"displayName": "网络冲突",语言环境":en-us"}],类":网络","counter": "totalcollisions","counterSpecifier": "/builtin/network/totalcollisions",类型":内置",单位":计数"},{注释":[{"displayName": "数据包接收错误",语言环境":en-us"}],类":网络",计数器":totalrxerrors","counterSpecifier": "/builtin/network/totalrxerrors",类型":内置",单位":计数"},{注释":[{"displayName": "发送的数据包",语言环境":en-us"}],类":网络",计数器":传输的数据包","counterSpecifier": "/builtin/network/packetstransmitted",类型":内置",单位":计数"},{注释":[{"displayName": "收到的数据包",语言环境":en-us"}],类":网络","counter": "收到的数据包","counterSpecifier": "/builtin/network/packetsreceived",类型":内置",单位":计数"},{注释":[{"displayName": "数据包发送错误",语言环境":en-us"}],类":网络",计数器":totaltxerrors","counterSpecifier": "/builtin/network/totaltxerrors",类型":内置",单位":计数"},{注释":[{"displayName": "文件系统传输/秒",语言环境":en-us"}],类":文件系统","条件": "IsAggregate=TRUE",计数器":传输每秒","counterSpecifier": "/builtin/filesystem/transferspersecond",类型":内置",单位":CountPerSecond"},{注释":[{"displayName": "文件系统 % 可用空间",语言环境":en-us"}],类":文件系统","条件": "IsAggregate=TRUE","counter": "percentfreespace","counterSpecifier": "/builtin/filesystem/percentfreespace",类型":内置",单位":百分比"},{注释":[{"displayName": "文件系统 % 已用空间",语言环境":en-us"}],类":文件系统","条件": "IsAggregate=TRUE","counter": "percentusedspace","counterSpecifier": "/builtin/filesystem/percentusedspace",类型":内置",单位":百分比"},{注释":[{"displayName": "文件系统已用空间",语言环境":en-us"}],类":文件系统","条件": "IsAggregate=TRUE",计数器":已用空间","counterSpecifier": "/builtin/filesystem/usedspace",类型":内置",单位":字节"},{注释":[{"displayName": "文件系统读取字节数/秒",语言环境":en-us"}],类":文件系统","条件": "IsAggregate=TRUE","counter": "bytesreadpersecond","counterSpecifier": "/builtin/filesystem/bytesreadpersecond",类型":内置",单位":CountPerSecond"},{注释":[{"displayName": "文件系统可用空间",语言环境":en-us"}],类":文件系统","条件": "IsAggregate=TRUE",计数器":自由空间","counterSpecifier": "/builtin/filesystem/freespace",类型":内置",单位":字节"},{注释":[{"displayName": "文件系统 % 空闲 inode",语言环境":en-us"}],类":文件系统","条件": "IsAggregate=TRUE","counter": "percentfreeinodes","counterSpecifier": "/builtin/filesystem/percentfreeinodes",类型":内置",单位":百分比"},{注释":[{"displayName": "文件系统字节/秒",语言环境":en-us"}],类":文件系统","条件": "IsAggregate=TRUE",计数器":字节每秒","counterSpecifier": "/builtin/filesystem/bytespersecond",类型":内置",单位":BytesPerSecond"},{注释":[{"displayName": "文件系统读取/秒",语言环境":en-us"}],类":文件系统","条件": "IsAggregate=TRUE","counter": "readspersecond","counterSpecifier": "/builtin/filesystem/readspersecond",类型":内置",单位":CountPerSecond"},{注释":[{"displayName": "文件系统写入字节/秒",语言环境":en-us"}],类":文件系统","条件": "IsAggregate=TRUE","counter": "byteswrittenpersecond","counterSpecifier": "/builtin/filesystem/byteswrittenpersecond",类型":内置",单位":CountPerSecond"},{注释":[{"displayName": "文件系统写入/秒",语言环境":en-us"}],类":文件系统","条件": "IsAggregate=TRUE","counter": "writespersecond","counterSpecifier": "/builtin/filesystem/writespersecond",类型":内置",单位":CountPerSecond"},{注释":[{"displayName": "文件系统使用的 inode 百分比",语言环境":en-us"}],类":文件系统","条件": "IsAggregate=TRUE",计数器":百分比","counterSpecifier": "/builtin/filesystem/percentusedinodes",类型":内置",单位":百分比"},{注释":[{"displayName": "CPU IO 等待时间",语言环境":en-us"}],类":处理器","条件": "IsAggregate=TRUE",计数器":百分比等待时间","counterSpecifier": "/builtin/processor/percentiowaittime",类型":内置",单位":百分比"},{注释":[{"displayName": "CPU 用户时间",语言环境":en-us"}],类":处理器","条件": "IsAggregate=TRUE","counter": "percentusertime","counterSpecifier": "/builtin/processor/percentusertime",类型":内置",单位":百分比"},{注释":[{"displayName": "CPU 美好时光",语言环境":en-us"}],类":处理器","条件": "IsAggregate=TRUE","counter": "percentnicetime","counterSpecifier": "/builtin/processor/percentnicetime",类型":内置",单位":百分比"},{注释":[{"displayName": "CPU 百分比来宾操作系统",语言环境":en-us"}],类":处理器","条件": "IsAggregate=TRUE","counter": "percentprocessortime","counterSpecifier": "/builtin/processor/percentprocessortime",类型":内置",单位":百分比"},{注释":[{"displayName": "CPU 中断时间",语言环境":en-us"}],类":处理器","条件": "IsAggregate=TRUE",计数器":百分比中断时间","counterSpecifier": "/builtin/processor/percentinterrupttime",类型":内置",单位":百分比"},{注释":[{"displayName": "CPU 空闲时间",语言环境":en-us"}],类":处理器","条件": "IsAggregate=TRUE",计数器":百分比时间","counterSpecifier": "/builtin/processor/percentidletime",类型":内置",单位":百分比"},{注释":[{"displayName": "CPU 特权时间",语言环境":en-us"}],类":处理器","条件": "IsAggregate=TRUE","counter": "percentprivilegedtime","counterSpecifier": "/builtin/processor/percentprivilegedtime",类型":内置",单位":百分比"},{注释":[{"displayName": "可用内存",语言环境":en-us"}],类":记忆",计数器":可用内存","counterSpecifier": "/builtin/memory/availablememory",类型":内置",单位":字节"},{注释":[{"displayName": "使用的交换百分比",语言环境":en-us"}],类":记忆","counter": "percentusedswap","counterSpecifier": "/builtin/memory/percentusedswap",类型":内置",单位":百分比"},{注释":[{"displayName": "内存使用",语言环境":en-us"}],类":记忆",计数器":已用内存","counterSpecifier": "/builtin/memory/usedmemory",类型":内置",单位":字节"},{注释":[{"displayName": "页面读取",语言环境":en-us"}],类":记忆","counter": "pagesreadpersec","counterSpecifier": "/builtin/memory/pagesreadpersec",类型":内置",单位":CountPerSecond"},{注释":[{"displayName": "交换可用",语言环境":en-us"}],类":记忆","counter": "availableswap","counterSpecifier": "/builtin/memory/availableswap",类型":内置",单位":字节"},{注释":[{"displayName": "可用交换百分比",语言环境":en-us"}],类":记忆","counter": "percentavailableswap","counterSpecifier": "/builtin/memory/percentavailableswap",类型":内置",单位":百分比"},{注释":[{"displayName": "可用内存百分比",语言环境":en-us"}],类":记忆","counter": "percentavailablememory","counterSpecifier": "/builtin/memory/percentavailablememory",类型":内置",单位":百分比"},{注释":[{"displayName": "页数",语言环境":en-us"}],类":记忆",计数器":pagespersec","counterSpecifier": "/builtin/memory/pagespersec",类型":内置",单位":CountPerSecond"},{注释":[{"displayName": "交换使用",语言环境":en-us"}],类":记忆",计数器":使用交换","counterSpecifier": "/builtin/memory/usedswap",类型":内置",单位":字节"},{注释":[{"displayName": "内存百分比",语言环境":en-us"}],类":记忆","counter": "percentusedmemory","counterSpecifier": "/builtin/memory/percentusedmemory",类型":内置",单位":百分比"},{注释":[{"displayName": "页面写入",语言环境":en-us"}],类":记忆","counter": "pageswrittenpersec","counterSpecifier": "/builtin/memory/pageswrittenpersec",类型":内置",单位":CountPerSecond"}]}

azure_extension_diagnostics_linux_syslogevents.json

<代码>{系统日志事件配置":{"LOG_AUTH": "LOG_DEBUG","LOG_AUTHPRIV": "LOG_DEBUG","LOG_CRON": "LOG_DEBUG","LOG_DAEMON": "LOG_DEBUG","LOG_FTP": "LOG_DEBUG","LOG_KERN": "LOG_DEBUG","LOG_LOCAL0": "LOG_DEBUG","LOG_LOCAL1": "LOG_DEBUG","LOG_LOCAL2": "LOG_DEBUG","LOG_LOCAL3": "LOG_DEBUG","LOG_LOCAL4": "LOG_DEBUG","LOG_LOCAL5": "LOG_DEBUG","LOG_LOCAL6": "LOG_DEBUG","LOG_LOCAL7": "LOG_DEBUG","LOG_LPR": "LOG_DEBUG","LOG_MAIL": "LOG_DEBUG","LOG_NEWS": "LOG_DEBUG","LOG_SYSLOG": "LOG_DEBUG","LOG_USER": "LOG_DEBUG",LOG_UUCP":LOG_DEBUG"}}

编辑 2

如果需要,准备使用模块:

正如我们所说,Terraform 尚不支持 Azure EVent hub 的 SAS 令牌(目前仅用于 azure 存储),因此我们不能使用 terraform 来执行此操作,我打开了一个 github issue,看看会不会加这个.

I am trying to get the LinuxDiagnostic extension to add via terraform.

The VM is:

azure_image_publisher = "Redhat"
azure_image_offer     = "RHEL"
azure_image_sku       = "7.8"

My deploy looks like this:

resource "azurerm_virtual_machine_extension" "diagnostics_linux" {
  count                      = local.is_windows == true ? 0 : 1
  name                       = "LinuxDiagnostic"
  virtual_machine_id         =  azurerm_virtual_machine.main.id
  publisher                  = "Microsoft.Azure.Diagnostics"
  type                       = "LinuxDiagnostic"
  type_handler_version       = "3.0"
  auto_upgrade_minor_version = "true"

  settings = <<SETTINGS
    {
        "storageAccount": "${var.stackSettings.azurerm_storage_account.name}",
        "ladCfg": {
                        "diagnosticMonitorConfiguration": {
                            "eventVolume": "Medium",
                            "metrics": {
                                "metricAggregation": [
                                    {
                                        "scheduledTransferPeriod": "PT1M"
                                    },
                                    {
                                        "scheduledTransferPeriod": "PT1H"
                                    }
                                ],
                                "resourceId": "/subscriptions/${var.stackSettings.azure_subscription_id}/resourceGroups/${var.stackSettings.azurerm_resource_group}/providers/Microsoft.Compute/virtualMachines/${azurerm_virtual_machine.main.id}"
                            },
                            "syslogEvents": { /** list of syslogs **/},
                            "performanceCounters": {/** list of perf counters **/}
                        },
                        "sampleRateInSeconds": 15
                    }
    }
    SETTINGS

  protected_settings = <<SETTINGS
    {
        "storageAccountName": "${var.stackSettings.azurerm_storage_account.name}",
        "storageAccountKey":  "${var.stackSettings.azurerm_storage_account.primary_access_key}",
        "storageAccountEndPoint": "https://core.windows.net"
    }
    SETTINGS

  depends_on = [azurerm_virtual_machine.main]
}

Every time I attempt to apply via terraform I receive the error:

Error: Code="VMExtensionProvisioningError" Message="VM has reported a failure when processing extension 'LinuxDiagnostic'. Error message: "Extension operation Enable failed:'NoneType' object has no attribute 'get_fluentd_syslog_src_config'"

More information on troubleshooting is available at https://aka.ms/VMExtensionLinuxDiagnosticsTroubleshoot "

  on ........modulesAzure-Serverv1main.tf line 284, in resource "azurerm_virtual_machine_extension" "diagnostics_linux":
 284: resource "azurerm_virtual_machine_extension" "diagnostics_linux" {

My windows diagnostic extension works fine and I took the JSON directly from a working deploy through the portal.

Looking for assistance as to what I could be missing. Or if someone has the XML LAD version, I would try that too (cannot find it anywhere).

Thanks!

EDIT

Full working solution (including getting the pesky SAS Token and reading from json files instead of giant terrform blocks!) Terraform Config:

/**
Linux Diagnostic Agent
The linux diagnostic agent is rather complicated to get working.
You need:
1. A static timestamp for start/expiry time
2. A SAS token from the storage account with custom permissions
3. Importing multiple large jsons with custom cleanup
This is taken care of for everything below
**/


//== Provider used to store timestamp SAS token lifetime ==//
provider "time" {
  version = "~> 0.4"
}

//== Store 10 years in the future ==//
resource "time_offset" "linux_oms_sas_expiry" {
  count = local.is_windows == true ? 0 : 1
  offset_years = 10
}

//== Store (now - 10) days to ensure we have valid SAS ==//
resource "time_offset" "linux_oms_sas_start" {
  count = local.is_windows == true ? 0 : 1
  offset_days = -10
}

//== SAS Token required for Diagnostic Extension ==//
/**
The permissions are based on the linux powershell sas creation here: https://docs.microsoft.com/en-us/azure/virtual-machines/extensions/diagnostics-linux
**/
data "azurerm_storage_account_sas" "linux_oms" {
  count = local.is_windows == true ? 0 : 1
  connection_string = var.stackSettings.azurerm_storage_account.primary_connection_string
  https_only        = true

  resource_types {
    service   = true
    container = true
    object    = true
  }

  services {
    blob  = true
    table = true
    queue = false
    file = false
  }

  start  = time_offset.linux_oms_sas_start[0].rfc3339
  expiry = time_offset.linux_oms_sas_expiry[0].rfc3339

  permissions {
    read    = true
    write   = true
    delete  = true
    list    = true
    add     = true
    create  = true
    update  = true
    process = true
  }
}

//=== Install Diagnostic Extension ===//
resource "azurerm_virtual_machine_extension" "diagnostics_linux" {
  count                      = local.is_windows == true ? 0 : 1
  name                       = "LinuxDiagnostic"
  virtual_machine_id         =  azurerm_virtual_machine.main.id
  publisher                  = "Microsoft.Azure.Diagnostics"
  type                       = "LinuxDiagnostic"
  type_handler_version       = "3.0"
  auto_upgrade_minor_version = "true"

  settings = <<SETTINGS
    {
      "StorageAccount": "${var.stackSettings.azurerm_storage_account.name}",
      "ladCfg": {
          "diagnosticMonitorConfiguration": {
                "eventVolume": "Medium", 
                "metrics": {
                     "metricAggregation": [
                        {
                            "scheduledTransferPeriod": "PT1H"
                        }, 
                        {
                            "scheduledTransferPeriod": "PT1M"
                        }
                    ], 
                    "resourceId": "${azurerm_virtual_machine.main.id}"
                },
                "performanceCounters": ${file("${path.module}/azure_jsons/azure_extension_diagnostics_linux_performancecounters.json")},
                "syslogEvents": ${file("${path.module}/azure_jsons/azure_extension_diagnostics_linux_syslogevents.json")}
          }, 
          "sampleRateInSeconds": 15
      }
    }
  SETTINGS

  protected_settings = <<SETTINGS
    {
        "storageAccountName": "${var.stackSettings.azurerm_storage_account.name}",
        "storageAccountSasToken": "${data.azurerm_storage_account_sas.linux_oms[0].sas}",
        "storageAccountEndPoint": "https://core.windows.net",
         "sinksConfig":  {
              "sink": [
                {
                    "name": "SyslogJsonBlob",
                    "type": "JsonBlob"
                },
                {
                    "name": "LinuxCpuJsonBlob",
                    "type": "JsonBlob"
                }
              ]
        }
    }
    SETTINGS

  depends_on = [azurerm_virtual_machine.main]
}

azure_extension_diagnostics_linux_performancecounters.json :

{
    "performanceCounterConfiguration": [
        {
            "annotation": [
                {
                    "displayName": "Disk read guest OS",
                    "locale": "en-us"
                }
            ],
            "class": "disk",
            "condition": "IsAggregate=TRUE",
            "counter": "readbytespersecond",
            "counterSpecifier": "/builtin/disk/readbytespersecond",
            "type": "builtin",
            "unit": "BytesPerSecond"
        },
        {
            "annotation": [
                {
                    "displayName": "Disk writes",
                    "locale": "en-us"
                }
            ],
            "class": "disk",
            "condition": "IsAggregate=TRUE",
            "counter": "writespersecond",
            "counterSpecifier": "/builtin/disk/writespersecond",
            "type": "builtin",
            "unit": "CountPerSecond"
        },
        {
            "annotation": [
                {
                    "displayName": "Disk transfer time",
                    "locale": "en-us"
                }
            ],
            "class": "disk",
            "condition": "IsAggregate=TRUE",
            "counter": "averagetransfertime",
            "counterSpecifier": "/builtin/disk/averagetransfertime",
            "type": "builtin",
            "unit": "Seconds"
        },
        {
            "annotation": [
                {
                    "displayName": "Disk transfers",
                    "locale": "en-us"
                }
            ],
            "class": "disk",
            "condition": "IsAggregate=TRUE",
            "counter": "transferspersecond",
            "counterSpecifier": "/builtin/disk/transferspersecond",
            "type": "builtin",
            "unit": "CountPerSecond"
        },
        {
            "annotation": [
                {
                    "displayName": "Disk write guest OS",
                    "locale": "en-us"
                }
            ],
            "class": "disk",
            "condition": "IsAggregate=TRUE",
            "counter": "writebytespersecond",
            "counterSpecifier": "/builtin/disk/writebytespersecond",
            "type": "builtin",
            "unit": "BytesPerSecond"
        },
        {
            "annotation": [
                {
                    "displayName": "Disk read time",
                    "locale": "en-us"
                }
            ],
            "class": "disk",
            "condition": "IsAggregate=TRUE",
            "counter": "averagereadtime",
            "counterSpecifier": "/builtin/disk/averagereadtime",
            "type": "builtin",
            "unit": "Seconds"
        },
        {
            "annotation": [
                {
                    "displayName": "Disk write time",
                    "locale": "en-us"
                }
            ],
            "class": "disk",
            "condition": "IsAggregate=TRUE",
            "counter": "averagewritetime",
            "counterSpecifier": "/builtin/disk/averagewritetime",
            "type": "builtin",
            "unit": "Seconds"
        },
        {
            "annotation": [
                {
                    "displayName": "Disk total bytes",
                    "locale": "en-us"
                }
            ],
            "class": "disk",
            "condition": "IsAggregate=TRUE",
            "counter": "bytespersecond",
            "counterSpecifier": "/builtin/disk/bytespersecond",
            "type": "builtin",
            "unit": "BytesPerSecond"
        },
        {
            "annotation": [
                {
                    "displayName": "Disk reads",
                    "locale": "en-us"
                }
            ],
            "class": "disk",
            "condition": "IsAggregate=TRUE",
            "counter": "readspersecond",
            "counterSpecifier": "/builtin/disk/readspersecond",
            "type": "builtin",
            "unit": "CountPerSecond"
        },
        {
            "annotation": [
                {
                    "displayName": "Disk queue length",
                    "locale": "en-us"
                }
            ],
            "class": "disk",
            "condition": "IsAggregate=TRUE",
            "counter": "averagediskqueuelength",
            "counterSpecifier": "/builtin/disk/averagediskqueuelength",
            "type": "builtin",
            "unit": "Count"
        },
        {
            "annotation": [
                {
                    "displayName": "Network in guest OS",
                    "locale": "en-us"
                }
            ],
            "class": "network",
            "counter": "bytesreceived",
            "counterSpecifier": "/builtin/network/bytesreceived",
            "type": "builtin",
            "unit": "Bytes"
        },
        {
            "annotation": [
                {
                    "displayName": "Network total bytes",
                    "locale": "en-us"
                }
            ],
            "class": "network",
            "counter": "bytestotal",
            "counterSpecifier": "/builtin/network/bytestotal",
            "type": "builtin",
            "unit": "Bytes"
        },
        {
            "annotation": [
                {
                    "displayName": "Network out guest OS",
                    "locale": "en-us"
                }
            ],
            "class": "network",
            "counter": "bytestransmitted",
            "counterSpecifier": "/builtin/network/bytestransmitted",
            "type": "builtin",
            "unit": "Bytes"
        },
        {
            "annotation": [
                {
                    "displayName": "Network collisions",
                    "locale": "en-us"
                }
            ],
            "class": "network",
            "counter": "totalcollisions",
            "counterSpecifier": "/builtin/network/totalcollisions",
            "type": "builtin",
            "unit": "Count"
        },
        {
            "annotation": [
                {
                    "displayName": "Packets received errors",
                    "locale": "en-us"
                }
            ],
            "class": "network",
            "counter": "totalrxerrors",
            "counterSpecifier": "/builtin/network/totalrxerrors",
            "type": "builtin",
            "unit": "Count"
        },
        {
            "annotation": [
                {
                    "displayName": "Packets sent",
                    "locale": "en-us"
                }
            ],
            "class": "network",
            "counter": "packetstransmitted",
            "counterSpecifier": "/builtin/network/packetstransmitted",
            "type": "builtin",
            "unit": "Count"
        },
        {
            "annotation": [
                {
                    "displayName": "Packets received",
                    "locale": "en-us"
                }
            ],
            "class": "network",
            "counter": "packetsreceived",
            "counterSpecifier": "/builtin/network/packetsreceived",
            "type": "builtin",
            "unit": "Count"
        },
        {
            "annotation": [
                {
                    "displayName": "Packets sent errors",
                    "locale": "en-us"
                }
            ],
            "class": "network",
            "counter": "totaltxerrors",
            "counterSpecifier": "/builtin/network/totaltxerrors",
            "type": "builtin",
            "unit": "Count"
        },
        {
            "annotation": [
                {
                    "displayName": "Filesystem transfers/sec",
                    "locale": "en-us"
                }
            ],
            "class": "filesystem",
            "condition": "IsAggregate=TRUE",
            "counter": "transferspersecond",
            "counterSpecifier": "/builtin/filesystem/transferspersecond",
            "type": "builtin",
            "unit": "CountPerSecond"
        },
        {
            "annotation": [
                {
                    "displayName": "Filesystem % free space",
                    "locale": "en-us"
                }
            ],
            "class": "filesystem",
            "condition": "IsAggregate=TRUE",
            "counter": "percentfreespace",
            "counterSpecifier": "/builtin/filesystem/percentfreespace",
            "type": "builtin",
            "unit": "Percent"
        },
        {
            "annotation": [
                {
                    "displayName": "Filesystem % used space",
                    "locale": "en-us"
                }
            ],
            "class": "filesystem",
            "condition": "IsAggregate=TRUE",
            "counter": "percentusedspace",
            "counterSpecifier": "/builtin/filesystem/percentusedspace",
            "type": "builtin",
            "unit": "Percent"
        },
        {
            "annotation": [
                {
                    "displayName": "Filesystem used space",
                    "locale": "en-us"
                }
            ],
            "class": "filesystem",
            "condition": "IsAggregate=TRUE",
            "counter": "usedspace",
            "counterSpecifier": "/builtin/filesystem/usedspace",
            "type": "builtin",
            "unit": "Bytes"
        },
        {
            "annotation": [
                {
                    "displayName": "Filesystem read bytes/sec",
                    "locale": "en-us"
                }
            ],
            "class": "filesystem",
            "condition": "IsAggregate=TRUE",
            "counter": "bytesreadpersecond",
            "counterSpecifier": "/builtin/filesystem/bytesreadpersecond",
            "type": "builtin",
            "unit": "CountPerSecond"
        },
        {
            "annotation": [
                {
                    "displayName": "Filesystem free space",
                    "locale": "en-us"
                }
            ],
            "class": "filesystem",
            "condition": "IsAggregate=TRUE",
            "counter": "freespace",
            "counterSpecifier": "/builtin/filesystem/freespace",
            "type": "builtin",
            "unit": "Bytes"
        },
        {
            "annotation": [
                {
                    "displayName": "Filesystem % free inodes",
                    "locale": "en-us"
                }
            ],
            "class": "filesystem",
            "condition": "IsAggregate=TRUE",
            "counter": "percentfreeinodes",
            "counterSpecifier": "/builtin/filesystem/percentfreeinodes",
            "type": "builtin",
            "unit": "Percent"
        },
        {
            "annotation": [
                {
                    "displayName": "Filesystem bytes/sec",
                    "locale": "en-us"
                }
            ],
            "class": "filesystem",
            "condition": "IsAggregate=TRUE",
            "counter": "bytespersecond",
            "counterSpecifier": "/builtin/filesystem/bytespersecond",
            "type": "builtin",
            "unit": "BytesPerSecond"
        },
        {
            "annotation": [
                {
                    "displayName": "Filesystem reads/sec",
                    "locale": "en-us"
                }
            ],
            "class": "filesystem",
            "condition": "IsAggregate=TRUE",
            "counter": "readspersecond",
            "counterSpecifier": "/builtin/filesystem/readspersecond",
            "type": "builtin",
            "unit": "CountPerSecond"
        },
        {
            "annotation": [
                {
                    "displayName": "Filesystem write bytes/sec",
                    "locale": "en-us"
                }
            ],
            "class": "filesystem",
            "condition": "IsAggregate=TRUE",
            "counter": "byteswrittenpersecond",
            "counterSpecifier": "/builtin/filesystem/byteswrittenpersecond",
            "type": "builtin",
            "unit": "CountPerSecond"
        },
        {
            "annotation": [
                {
                    "displayName": "Filesystem writes/sec",
                    "locale": "en-us"
                }
            ],
            "class": "filesystem",
            "condition": "IsAggregate=TRUE",
            "counter": "writespersecond",
            "counterSpecifier": "/builtin/filesystem/writespersecond",
            "type": "builtin",
            "unit": "CountPerSecond"
        },
        {
            "annotation": [
                {
                    "displayName": "Filesystem % used inodes",
                    "locale": "en-us"
                }
            ],
            "class": "filesystem",
            "condition": "IsAggregate=TRUE",
            "counter": "percentusedinodes",
            "counterSpecifier": "/builtin/filesystem/percentusedinodes",
            "type": "builtin",
            "unit": "Percent"
        },
        {
            "annotation": [
                {
                    "displayName": "CPU IO wait time",
                    "locale": "en-us"
                }
            ],
            "class": "processor",
            "condition": "IsAggregate=TRUE",
            "counter": "percentiowaittime",
            "counterSpecifier": "/builtin/processor/percentiowaittime",
            "type": "builtin",
            "unit": "Percent"
        },
        {
            "annotation": [
                {
                    "displayName": "CPU user time",
                    "locale": "en-us"
                }
            ],
            "class": "processor",
            "condition": "IsAggregate=TRUE",
            "counter": "percentusertime",
            "counterSpecifier": "/builtin/processor/percentusertime",
            "type": "builtin",
            "unit": "Percent"
        },
        {
            "annotation": [
                {
                    "displayName": "CPU nice time",
                    "locale": "en-us"
                }
            ],
            "class": "processor",
            "condition": "IsAggregate=TRUE",
            "counter": "percentnicetime",
            "counterSpecifier": "/builtin/processor/percentnicetime",
            "type": "builtin",
            "unit": "Percent"
        },
        {
            "annotation": [
                {
                    "displayName": "CPU percentage guest OS",
                    "locale": "en-us"
                }
            ],
            "class": "processor",
            "condition": "IsAggregate=TRUE",
            "counter": "percentprocessortime",
            "counterSpecifier": "/builtin/processor/percentprocessortime",
            "type": "builtin",
            "unit": "Percent"
        },
        {
            "annotation": [
                {
                    "displayName": "CPU interrupt time",
                    "locale": "en-us"
                }
            ],
            "class": "processor",
            "condition": "IsAggregate=TRUE",
            "counter": "percentinterrupttime",
            "counterSpecifier": "/builtin/processor/percentinterrupttime",
            "type": "builtin",
            "unit": "Percent"
        },
        {
            "annotation": [
                {
                    "displayName": "CPU idle time",
                    "locale": "en-us"
                }
            ],
            "class": "processor",
            "condition": "IsAggregate=TRUE",
            "counter": "percentidletime",
            "counterSpecifier": "/builtin/processor/percentidletime",
            "type": "builtin",
            "unit": "Percent"
        },
        {
            "annotation": [
                {
                    "displayName": "CPU privileged time",
                    "locale": "en-us"
                }
            ],
            "class": "processor",
            "condition": "IsAggregate=TRUE",
            "counter": "percentprivilegedtime",
            "counterSpecifier": "/builtin/processor/percentprivilegedtime",
            "type": "builtin",
            "unit": "Percent"
        },
        {
            "annotation": [
                {
                    "displayName": "Memory available",
                    "locale": "en-us"
                }
            ],
            "class": "memory",
            "counter": "availablememory",
            "counterSpecifier": "/builtin/memory/availablememory",
            "type": "builtin",
            "unit": "Bytes"
        },
        {
            "annotation": [
                {
                    "displayName": "Swap percent used",
                    "locale": "en-us"
                }
            ],
            "class": "memory",
            "counter": "percentusedswap",
            "counterSpecifier": "/builtin/memory/percentusedswap",
            "type": "builtin",
            "unit": "Percent"
        },
        {
            "annotation": [
                {
                    "displayName": "Memory used",
                    "locale": "en-us"
                }
            ],
            "class": "memory",
            "counter": "usedmemory",
            "counterSpecifier": "/builtin/memory/usedmemory",
            "type": "builtin",
            "unit": "Bytes"
        },
        {
            "annotation": [
                {
                    "displayName": "Page reads",
                    "locale": "en-us"
                }
            ],
            "class": "memory",
            "counter": "pagesreadpersec",
            "counterSpecifier": "/builtin/memory/pagesreadpersec",
            "type": "builtin",
            "unit": "CountPerSecond"
        },
        {
            "annotation": [
                {
                    "displayName": "Swap available",
                    "locale": "en-us"
                }
            ],
            "class": "memory",
            "counter": "availableswap",
            "counterSpecifier": "/builtin/memory/availableswap",
            "type": "builtin",
            "unit": "Bytes"
        },
        {
            "annotation": [
                {
                    "displayName": "Swap percent available",
                    "locale": "en-us"
                }
            ],
            "class": "memory",
            "counter": "percentavailableswap",
            "counterSpecifier": "/builtin/memory/percentavailableswap",
            "type": "builtin",
            "unit": "Percent"
        },
        {
            "annotation": [
                {
                    "displayName": "Mem. percent available",
                    "locale": "en-us"
                }
            ],
            "class": "memory",
            "counter": "percentavailablememory",
            "counterSpecifier": "/builtin/memory/percentavailablememory",
            "type": "builtin",
            "unit": "Percent"
        },
        {
            "annotation": [
                {
                    "displayName": "Pages",
                    "locale": "en-us"
                }
            ],
            "class": "memory",
            "counter": "pagespersec",
            "counterSpecifier": "/builtin/memory/pagespersec",
            "type": "builtin",
            "unit": "CountPerSecond"
        },
        {
            "annotation": [
                {
                    "displayName": "Swap used",
                    "locale": "en-us"
                }
            ],
            "class": "memory",
            "counter": "usedswap",
            "counterSpecifier": "/builtin/memory/usedswap",
            "type": "builtin",
            "unit": "Bytes"
        },
        {
            "annotation": [
                {
                    "displayName": "Memory percentage",
                    "locale": "en-us"
                }
            ],
            "class": "memory",
            "counter": "percentusedmemory",
            "counterSpecifier": "/builtin/memory/percentusedmemory",
            "type": "builtin",
            "unit": "Percent"
        },
        {
            "annotation": [
                {
                    "displayName": "Page writes",
                    "locale": "en-us"
                }
            ],
            "class": "memory",
            "counter": "pageswrittenpersec",
            "counterSpecifier": "/builtin/memory/pageswrittenpersec",
            "type": "builtin",
            "unit": "CountPerSecond"
        }
    ]
}

azure_extension_diagnostics_linux_syslogevents.json

{
    "syslogEventConfiguration": {
        "LOG_AUTH": "LOG_DEBUG",
        "LOG_AUTHPRIV": "LOG_DEBUG",
        "LOG_CRON": "LOG_DEBUG",
        "LOG_DAEMON": "LOG_DEBUG",
        "LOG_FTP": "LOG_DEBUG",
        "LOG_KERN": "LOG_DEBUG",
        "LOG_LOCAL0": "LOG_DEBUG",
        "LOG_LOCAL1": "LOG_DEBUG",
        "LOG_LOCAL2": "LOG_DEBUG",
        "LOG_LOCAL3": "LOG_DEBUG",
        "LOG_LOCAL4": "LOG_DEBUG",
        "LOG_LOCAL5": "LOG_DEBUG",
        "LOG_LOCAL6": "LOG_DEBUG",
        "LOG_LOCAL7": "LOG_DEBUG",
        "LOG_LPR": "LOG_DEBUG",
        "LOG_MAIL": "LOG_DEBUG",
        "LOG_NEWS": "LOG_DEBUG",
        "LOG_SYSLOG": "LOG_DEBUG",
        "LOG_USER": "LOG_DEBUG",
        "LOG_UUCP": "LOG_DEBUG"
    }
}

EDIT 2

Ready to go module if needed: https://github.com/elongstreet88/terraform-linuxdiagnostic-agent-module

解决方案

AS pointed out above you need to add sas token for storage account, output this storage account SAS token using terraform an then input this in the protected settings that way ( I will copy-past my full config to help.... ) :

                resource "azurerm_virtual_machine_extension" "nva1_diag_setting" {
                 name                 = "${var.current-name-convention-core-module}-nva1-ub16-LinuxDiagnostics"
                 virtual_machine_id = "${azurerm_virtual_machine.nva1-ub16.id}"
                 publisher                     = "Microsoft.Azure.Diagnostics"
                 type                          = "LinuxDiagnostic"
                 type_handler_version          = "3.0"
                 auto_upgrade_minor_version    = "true"

                  settings = <<SETTINGS
                        {
                        "StorageAccount": "${var.stor-log-repo-name}",
                        "ladCfg": {
                            "diagnosticMonitorConfiguration": {
                            "eventVolume": "Medium", 
                            "metrics": {
                                "metricAggregation": [
                                {
                                    "scheduledTransferPeriod": "PT1H"
                                }, 
                                {
                                    "scheduledTransferPeriod": "PT1M"
                                }
                                ], 
                                "resourceId": "${azurerm_virtual_machine.nva1-ub16.id}"
                            }, 
                            "performanceCounters": {
                                "performanceCounterConfiguration": [
                                {
                                    "annotation": [
                                    {
                                        "displayName": "Disk read guest OS", 
                                        "locale": "en-us"
                                    }
                                    ], 
                                    "class": "disk", 
                                    "condition": "IsAggregate=TRUE", 
                                    "counter": "readbytespersecond", 
                                    "counterSpecifier": "/builtin/disk/readbytespersecond", 
                                    "type": "builtin", 
                                    "unit": "BytesPerSecond"
                                }, 
                                {
                                    "annotation": [
                                    {
                                        "displayName": "Disk writes", 
                                        "locale": "en-us"
                                    }
                                    ], 
                                    "class": "disk", 
                                    "condition": "IsAggregate=TRUE", 
                                    "counter": "writespersecond", 
                                    "counterSpecifier": "/builtin/disk/writespersecond", 
                                    "type": "builtin", 
                                    "unit": "CountPerSecond"
                                }, 
                                {
                                    "annotation": [
                                    {
                                        "displayName": "Disk transfer time", 
                                        "locale": "en-us"
                                    }
                                    ], 
                                    "class": "disk", 
                                    "condition": "IsAggregate=TRUE", 
                                    "counter": "averagetransfertime", 
                                    "counterSpecifier": "/builtin/disk/averagetransfertime", 
                                    "type": "builtin", 
                                    "unit": "Seconds"
                                }, 
                                {
                                    "annotation": [
                                    {
                                        "displayName": "Disk transfers", 
                                        "locale": "en-us"
                                    }
                                    ], 
                                    "class": "disk", 
                                    "condition": "IsAggregate=TRUE", 
                                    "counter": "transferspersecond", 
                                    "counterSpecifier": "/builtin/disk/transferspersecond", 
                                    "type": "builtin", 
                                    "unit": "CountPerSecond"
                                }, 
                                {
                                    "annotation": [
                                    {
                                        "displayName": "Disk write guest OS", 
                                        "locale": "en-us"
                                    }
                                    ], 
                                    "class": "disk", 
                                    "condition": "IsAggregate=TRUE", 
                                    "counter": "writebytespersecond", 
                                    "counterSpecifier": "/builtin/disk/writebytespersecond", 
                                    "type": "builtin", 
                                    "unit": "BytesPerSecond"
                                }, 
                                {
                                    "annotation": [
                                    {
                                        "displayName": "Disk read time", 
                                        "locale": "en-us"
                                    }
                                    ], 
                                    "class": "disk", 
                                    "condition": "IsAggregate=TRUE", 
                                    "counter": "averagereadtime", 
                                    "counterSpecifier": "/builtin/disk/averagereadtime", 
                                    "type": "builtin", 
                                    "unit": "Seconds"
                                }, 
                                {
                                    "annotation": [
                                    {
                                        "displayName": "Disk write time", 
                                        "locale": "en-us"
                                    }
                                    ], 
                                    "class": "disk", 
                                    "condition": "IsAggregate=TRUE", 
                                    "counter": "averagewritetime", 
                                    "counterSpecifier": "/builtin/disk/averagewritetime", 
                                    "type": "builtin", 
                                    "unit": "Seconds"
                                }, 
                                {
                                    "annotation": [
                                    {
                                        "displayName": "Disk total bytes", 
                                        "locale": "en-us"
                                    }
                                    ], 
                                    "class": "disk", 
                                    "condition": "IsAggregate=TRUE", 
                                    "counter": "bytespersecond", 
                                    "counterSpecifier": "/builtin/disk/bytespersecond", 
                                    "type": "builtin", 
                                    "unit": "BytesPerSecond"
                                }, 
                                {
                                    "annotation": [
                                    {
                                        "displayName": "Disk reads", 
                                        "locale": "en-us"
                                    }
                                    ], 
                                    "class": "disk", 
                                    "condition": "IsAggregate=TRUE", 
                                    "counter": "readspersecond", 
                                    "counterSpecifier": "/builtin/disk/readspersecond", 
                                    "type": "builtin", 
                                    "unit": "CountPerSecond"
                                }, 
                                {
                                    "annotation": [
                                    {
                                        "displayName": "Disk queue length", 
                                        "locale": "en-us"
                                    }
                                    ], 
                                    "class": "disk", 
                                    "condition": "IsAggregate=TRUE", 
                                    "counter": "averagediskqueuelength", 
                                    "counterSpecifier": "/builtin/disk/averagediskqueuelength", 
                                    "type": "builtin", 
                                    "unit": "Count"
                                }, 
                                {
                                    "annotation": [
                                    {
                                        "displayName": "Network in guest OS", 
                                        "locale": "en-us"
                                    }
                                    ], 
                                    "class": "network", 
                                    "counter": "bytesreceived", 
                                    "counterSpecifier": "/builtin/network/bytesreceived", 
                                    "type": "builtin", 
                                    "unit": "Bytes"
                                }, 
                                {
                                    "annotation": [
                                    {
                                        "displayName": "Network total bytes", 
                                        "locale": "en-us"
                                    }
                                    ], 
                                    "class": "network", 
                                    "counter": "bytestotal", 
                                    "counterSpecifier": "/builtin/network/bytestotal", 
                                    "type": "builtin", 
                                    "unit": "Bytes"
                                }, 
                                {
                                    "annotation": [
                                    {
                                        "displayName": "Network out guest OS", 
                                        "locale": "en-us"
                                    }
                                    ], 
                                    "class": "network", 
                                    "counter": "bytestransmitted", 
                                    "counterSpecifier": "/builtin/network/bytestransmitted", 
                                    "type": "builtin", 
                                    "unit": "Bytes"
                                }, 
                                {
                                    "annotation": [
                                    {
                                        "displayName": "Network collisions", 
                                        "locale": "en-us"
                                    }
                                    ], 
                                    "class": "network", 
                                    "counter": "totalcollisions", 
                                    "counterSpecifier": "/builtin/network/totalcollisions", 
                                    "type": "builtin", 
                                    "unit": "Count"
                                }, 
                                {
                                    "annotation": [
                                    {
                                        "displayName": "Packets received errors", 
                                        "locale": "en-us"
                                    }
                                    ], 
                                    "class": "network", 
                                    "counter": "totalrxerrors", 
                                    "counterSpecifier": "/builtin/network/totalrxerrors", 
                                    "type": "builtin", 
                                    "unit": "Count"
                                }, 
                                {
                                    "annotation": [
                                    {
                                        "displayName": "Packets sent", 
                                        "locale": "en-us"
                                    }
                                    ], 
                                    "class": "network", 
                                    "counter": "packetstransmitted", 
                                    "counterSpecifier": "/builtin/network/packetstransmitted", 
                                    "type": "builtin", 
                                    "unit": "Count"
                                }, 
                                {
                                    "annotation": [
                                    {
                                        "displayName": "Packets received", 
                                        "locale": "en-us"
                                    }
                                    ], 
                                    "class": "network", 
                                    "counter": "packetsreceived", 
                                    "counterSpecifier": "/builtin/network/packetsreceived", 
                                    "type": "builtin", 
                                    "unit": "Count"
                                }, 
                                {
                                    "annotation": [
                                    {
                                        "displayName": "Packets sent errors", 
                                        "locale": "en-us"
                                    }
                                    ], 
                                    "class": "network", 
                                    "counter": "totaltxerrors", 
                                    "counterSpecifier": "/builtin/network/totaltxerrors", 
                                    "type": "builtin", 
                                    "unit": "Count"
                                }, 
                                {
                                    "annotation": [
                                    {
                                        "displayName": "Filesystem transfers/sec", 
                                        "locale": "en-us"
                                    }
                                    ], 
                                    "class": "filesystem", 
                                    "condition": "IsAggregate=TRUE", 
                                    "counter": "transferspersecond", 
                                    "counterSpecifier": "/builtin/filesystem/transferspersecond", 
                                    "type": "builtin", 
                                    "unit": "CountPerSecond"
                                }, 
                                {
                                    "annotation": [
                                    {
                                        "displayName": "Filesystem % free space", 
                                        "locale": "en-us"
                                    }
                                    ], 
                                    "class": "filesystem", 
                                    "condition": "IsAggregate=TRUE", 
                                    "counter": "percentfreespace", 
                                    "counterSpecifier": "/builtin/filesystem/percentfreespace", 
                                    "type": "builtin", 
                                    "unit": "Percent"
                                }, 
                                {
                                    "annotation": [
                                    {
                                        "displayName": "Filesystem % used space", 
                                        "locale": "en-us"
                                    }
                                    ], 
                                    "class": "filesystem", 
                                    "condition": "IsAggregate=TRUE", 
                                    "counter": "percentusedspace", 
                                    "counterSpecifier": "/builtin/filesystem/percentusedspace", 
                                    "type": "builtin", 
                                    "unit": "Percent"
                                }, 
                                {
                                    "annotation": [
                                    {
                                        "displayName": "Filesystem used space", 
                                        "locale": "en-us"
                                    }
                                    ], 
                                    "class": "filesystem", 
                                    "condition": "IsAggregate=TRUE", 
                                    "counter": "usedspace", 
                                    "counterSpecifier": "/builtin/filesystem/usedspace", 
                                    "type": "builtin", 
                                    "unit": "Bytes"
                                }, 
                                {
                                    "annotation": [
                                    {
                                        "displayName": "Filesystem read bytes/sec", 
                                        "locale": "en-us"
                                    }
                                    ], 
                                    "class": "filesystem", 
                                    "condition": "IsAggregate=TRUE", 
                                    "counter": "bytesreadpersecond", 
                                    "counterSpecifier": "/builtin/filesystem/bytesreadpersecond", 
                                    "type": "builtin", 
                                    "unit": "CountPerSecond"
                                }, 
                                {
                                    "annotation": [
                                    {
                                        "displayName": "Filesystem free space", 
                                        "locale": "en-us"
                                    }
                                    ], 
                                    "class": "filesystem", 
                                    "condition": "IsAggregate=TRUE", 
                                    "counter": "freespace", 
                                    "counterSpecifier": "/builtin/filesystem/freespace", 
                                    "type": "builtin", 
                                    "unit": "Bytes"
                                }, 
                                {
                                    "annotation": [
                                    {
                                        "displayName": "Filesystem % free inodes", 
                                        "locale": "en-us"
                                    }
                                    ], 
                                    "class": "filesystem", 
                                    "condition": "IsAggregate=TRUE", 
                                    "counter": "percentfreeinodes", 
                                    "counterSpecifier": "/builtin/filesystem/percentfreeinodes", 
                                    "type": "builtin", 
                                    "unit": "Percent"
                                }, 
                                {
                                    "annotation": [
                                    {
                                        "displayName": "Filesystem bytes/sec", 
                                        "locale": "en-us"
                                    }
                                    ], 
                                    "class": "filesystem", 
                                    "condition": "IsAggregate=TRUE", 
                                    "counter": "bytespersecond", 
                                    "counterSpecifier": "/builtin/filesystem/bytespersecond", 
                                    "type": "builtin", 
                                    "unit": "BytesPerSecond"
                                }, 
                                {
                                    "annotation": [
                                    {
                                        "displayName": "Filesystem reads/sec", 
                                        "locale": "en-us"
                                    }
                                    ], 
                                    "class": "filesystem", 
                                    "condition": "IsAggregate=TRUE", 
                                    "counter": "readspersecond", 
                                    "counterSpecifier": "/builtin/filesystem/readspersecond", 
                                    "type": "builtin", 
                                    "unit": "CountPerSecond"
                                }, 
                                {
                                    "annotation": [
                                    {
                                        "displayName": "Filesystem write bytes/sec", 
                                        "locale": "en-us"
                                    }
                                    ], 
                                    "class": "filesystem", 
                                    "condition": "IsAggregate=TRUE", 
                                    "counter": "byteswrittenpersecond", 
                                    "counterSpecifier": "/builtin/filesystem/byteswrittenpersecond", 
                                    "type": "builtin", 
                                    "unit": "CountPerSecond"
                                }, 
                                {
                                    "annotation": [
                                    {
                                        "displayName": "Filesystem writes/sec", 
                                        "locale": "en-us"
                                    }
                                    ], 
                                    "class": "filesystem", 
                                    "condition": "IsAggregate=TRUE", 
                                    "counter": "writespersecond", 
                                    "counterSpecifier": "/builtin/filesystem/writespersecond", 
                                    "type": "builtin", 
                                    "unit": "CountPerSecond"
                                }, 
                                {
                                    "annotation": [
                                    {
                                        "displayName": "Filesystem % used inodes", 
                                        "locale": "en-us"
                                    }
                                    ], 
                                    "class": "filesystem", 
                                    "condition": "IsAggregate=TRUE", 
                                    "counter": "percentusedinodes", 
                                    "counterSpecifier": "/builtin/filesystem/percentusedinodes", 
                                    "type": "builtin", 
                                    "unit": "Percent"
                                }, 
                                {
                                    "annotation": [
                                    {
                                        "displayName": "CPU IO wait time", 
                                        "locale": "en-us"
                                    }
                                    ], 
                                    "class": "processor", 
                                    "condition": "IsAggregate=TRUE", 
                                    "counter": "percentiowaittime", 
                                    "counterSpecifier": "/builtin/processor/percentiowaittime", 
                                    "type": "builtin", 
                                    "unit": "Percent"
                                }, 
                                {
                                    "annotation": [
                                    {
                                        "displayName": "CPU user time", 
                                        "locale": "en-us"
                                    }
                                    ], 
                                    "class": "processor", 
                                    "condition": "IsAggregate=TRUE", 
                                    "counter": "percentusertime", 
                                    "counterSpecifier": "/builtin/processor/percentusertime", 
                                    "type": "builtin", 
                                    "unit": "Percent"
                                }, 
                                {
                                    "annotation": [
                                    {
                                        "displayName": "CPU nice time", 
                                        "locale": "en-us"
                                    }
                                    ], 
                                    "class": "processor", 
                                    "condition": "IsAggregate=TRUE", 
                                    "counter": "percentnicetime", 
                                    "counterSpecifier": "/builtin/processor/percentnicetime", 
                                    "type": "builtin", 
                                    "unit": "Percent"
                                }, 
                                {
                                    "annotation": [
                                    {
                                        "displayName": "CPU percentage guest OS", 
                                        "locale": "en-us"
                                    }
                                    ], 
                                    "class": "processor", 
                                    "condition": "IsAggregate=TRUE", 
                                    "counter": "percentprocessortime", 
                                    "counterSpecifier": "/builtin/processor/percentprocessortime", 
                                    "type": "builtin", 
                                    "unit": "Percent"
                                }, 
                                {
                                    "annotation": [
                                    {
                                        "displayName": "CPU interrupt time", 
                                        "locale": "en-us"
                                    }
                                    ], 
                                    "class": "processor", 
                                    "condition": "IsAggregate=TRUE", 
                                    "counter": "percentinterrupttime", 
                                    "counterSpecifier": "/builtin/processor/percentinterrupttime", 
                                    "type": "builtin", 
                                    "unit": "Percent"
                                }, 
                                {
                                    "annotation": [
                                    {
                                        "displayName": "CPU idle time", 
                                        "locale": "en-us"
                                    }
                                    ], 
                                    "class": "processor", 
                                    "condition": "IsAggregate=TRUE", 
                                    "counter": "percentidletime", 
                                    "counterSpecifier": "/builtin/processor/percentidletime", 
                                    "type": "builtin", 
                                    "unit": "Percent"
                                }, 
                                {
                                    "annotation": [
                                    {
                                        "displayName": "CPU privileged time", 
                                        "locale": "en-us"
                                    }
                                    ], 
                                    "class": "processor", 
                                    "condition": "IsAggregate=TRUE", 
                                    "counter": "percentprivilegedtime", 
                                    "counterSpecifier": "/builtin/processor/percentprivilegedtime", 
                                    "type": "builtin", 
                                    "unit": "Percent"
                                }, 
                                {
                                    "annotation": [
                                    {
                                        "displayName": "Memory available", 
                                        "locale": "en-us"
                                    }
                                    ], 
                                    "class": "memory", 
                                    "counter": "availablememory", 
                                    "counterSpecifier": "/builtin/memory/availablememory", 
                                    "type": "builtin", 
                                    "unit": "Bytes"
                                }, 
                                {
                                    "annotation": [
                                    {
                                        "displayName": "Swap percent used", 
                                        "locale": "en-us"
                                    }
                                    ], 
                                    "class": "memory", 
                                    "counter": "percentusedswap", 
                                    "counterSpecifier": "/builtin/memory/percentusedswap", 
                                    "type": "builtin", 
                                    "unit": "Percent"
                                }, 
                                {
                                    "annotation": [
                                    {
                                        "displayName": "Memory used", 
                                        "locale": "en-us"
                                    }
                                    ], 
                                    "class": "memory", 
                                    "counter": "usedmemory", 
                                    "counterSpecifier": "/builtin/memory/usedmemory", 
                                    "type": "builtin", 
                                    "unit": "Bytes"
                                }, 
                                {
                                    "annotation": [
                                    {
                                        "displayName": "Page reads", 
                                        "locale": "en-us"
                                    }
                                    ], 
                                    "class": "memory", 
                                    "counter": "pagesreadpersec", 
                                    "counterSpecifier": "/builtin/memory/pagesreadpersec", 
                                    "type": "builtin", 
                                    "unit": "CountPerSecond"
                                }, 
                                {
                                    "annotation": [
                                    {
                                        "displayName": "Swap available", 
                                        "locale": "en-us"
                                    }
                                    ], 
                                    "class": "memory", 
                                    "counter": "availableswap", 
                                    "counterSpecifier": "/builtin/memory/availableswap", 
                                    "type": "builtin", 
                                    "unit": "Bytes"
                                }, 
                                {
                                    "annotation": [
                                    {
                                        "displayName": "Swap percent available", 
                                        "locale": "en-us"
                                    }
                                    ], 
                                    "class": "memory", 
                                    "counter": "percentavailableswap", 
                                    "counterSpecifier": "/builtin/memory/percentavailableswap", 
                                    "type": "builtin", 
                                    "unit": "Percent"
                                }, 
                                {
                                    "annotation": [
                                    {
                                        "displayName": "Mem. percent available", 
                                        "locale": "en-us"
                                    }
                                    ], 
                                    "class": "memory", 
                                    "counter": "percentavailablememory", 
                                    "counterSpecifier": "/builtin/memory/percentavailablememory", 
                                    "type": "builtin", 
                                    "unit": "Percent"
                                }, 
                                {
                                    "annotation": [
                                    {
                                        "displayName": "Pages", 
                                        "locale": "en-us"
                                    }
                                    ], 
                                    "class": "memory", 
                                    "counter": "pagespersec", 
                                    "counterSpecifier": "/builtin/memory/pagespersec", 
                                    "type": "builtin", 
                                    "unit": "CountPerSecond"
                                }, 
                                {
                                    "annotation": [
                                    {
                                        "displayName": "Swap used", 
                                        "locale": "en-us"
                                    }
                                    ], 
                                    "class": "memory", 
                                    "counter": "usedswap", 
                                    "counterSpecifier": "/builtin/memory/usedswap", 
                                    "type": "builtin", 
                                    "unit": "Bytes"
                                }, 
                                {
                                    "annotation": [
                                    {
                                        "displayName": "Memory percentage", 
                                        "locale": "en-us"
                                    }
                                    ], 
                                    "class": "memory", 
                                    "counter": "percentusedmemory", 
                                    "counterSpecifier": "/builtin/memory/percentusedmemory", 
                                    "type": "builtin", 
                                    "unit": "Percent"
                                }, 
                                {
                                    "annotation": [
                                    {
                                        "displayName": "Page writes", 
                                        "locale": "en-us"
                                    }
                                    ], 
                                    "class": "memory", 
                                    "counter": "pageswrittenpersec", 
                                    "counterSpecifier": "/builtin/memory/pageswrittenpersec", 
                                    "type": "builtin", 
                                    "unit": "CountPerSecond"
                                }
                                ]
                            }, 
                            "syslogEvents": {
                                "syslogEventConfiguration": {
                                "LOG_AUTH": "LOG_DEBUG", 
                                "LOG_AUTHPRIV": "LOG_DEBUG", 
                                "LOG_CRON": "LOG_DEBUG", 
                                "LOG_DAEMON": "LOG_DEBUG", 
                                "LOG_FTP": "LOG_DEBUG", 
                                "LOG_KERN": "LOG_DEBUG", 
                                "LOG_LOCAL0": "LOG_DEBUG", 
                                "LOG_LOCAL1": "LOG_DEBUG", 
                                "LOG_LOCAL2": "LOG_DEBUG", 
                                "LOG_LOCAL3": "LOG_DEBUG", 
                                "LOG_LOCAL4": "LOG_DEBUG", 
                                "LOG_LOCAL5": "LOG_DEBUG", 
                                "LOG_LOCAL6": "LOG_DEBUG", 
                                "LOG_LOCAL7": "LOG_DEBUG", 
                                "LOG_LPR": "LOG_DEBUG", 
                                "LOG_MAIL": "LOG_DEBUG", 
                                "LOG_NEWS": "LOG_DEBUG", 
                                "LOG_SYSLOG": "LOG_DEBUG", 
                                "LOG_USER": "LOG_DEBUG", 
                                "LOG_UUCP": "LOG_DEBUG"
                                }
                            }
                            }, 
                            "sampleRateInSeconds": 15
                        }
                        }


                SETTINGS

                  protected_settings = <<PROTECTED_SETTINGS
                {
                  "storageAccountName": "${var.stor-log-repo-name}",
                  "storageAccountSasToken": "${var.stor-log-repo-sas}",
                  "sinksConfig": 
                      {
                        "sink": [
                          {
                              "name": "SyslogJsonBlob",
                              "type": "JsonBlob"
                          },
                          {
                              "name": "LinuxCpuJsonBlob",
                              "type": "JsonBlob"
                          }
                        ]
                  }
                }


                PROTECTED_SETTINGS
                }

Then you will have this kind of data in your storage account :

As we speak, Terraform does not support SAS token ( yet ) for Azure EVent hub ( only for azure storage for now ) , so we cannot use terraform to do that, I opened a github issue, let's see if this is going to be added.

这篇关于尝试通过 terraform 添加 LinuxDiagnostic Azure VM Extension 并出现错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆