尝试通过 terraform 添加 LinuxDiagnostic Azure VM Extension 并出现错误 [英] Trying to add LinuxDiagnostic Azure VM Extension through terraform and getting errors
问题描述
我正在尝试通过 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屋!