为VMSS添加Azure诊断设置



我目前运行的是Linux VMSS和使用terraform创建的Ubuntu 20.04虚拟机。我希望添加Linux Azure诊断(LAD)扩展,以便向虚拟机启用诊断日志。以下是我当前的地形资源

resource "time_offset" "linux_oms_sas_start" {
offset_days = -1
}
resource "time_offset" "linux_oms_sas_expiry" {
offset_years = 5
}
data "azurerm_storage_account_sas" "linux_oms" {
connection_string = var.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.rfc3339
expiry = time_offset.linux_oms_sas_expiry.rfc3339
permissions {
read    = true
write   = true
delete  = true
list    = true
add     = true
create  = true
update  = true
process = true
}
depends_on = [time_offset.linux_oms_sas_start,time_offset.linux_oms_sas_expiry]
}
resource "azurerm_virtual_machine_scale_set_extension" "da_extension" {
name                       = "DAExtension"
virtual_machine_scale_set_id         = var.vmss_id
publisher                  = "Microsoft.Azure.Monitoring.DependencyAgent"
type                       = "DependencyAgentLinux"
type_handler_version       = "9.5"
auto_upgrade_minor_version = false
}
resource "azurerm_virtual_machine_scale_set_extension" "diagnostics_extension" {
name = "StorageExtension"
virtual_machine_scale_set_id =  var.vmss_id
publisher            = "Microsoft.Azure.Diagnostics"
type                 = "LinuxDiagnostic"
type_handler_version = "4.0"
auto_upgrade_minor_version = false
settings = <<SETTINGS
{
"StorageAccount": "${var.storage_account_name}",
"ladCfg": {
"diagnosticMonitorConfiguration": {
"eventVolume": "Medium",
"metrics": {
"metricAggregation": [
{
"scheduledTransferPeriod": "PT1H"
},
{
"scheduledTransferPeriod": "PT1M"
}
],
"resourceId": "${var.vmss_id}"
},
"performanceCounters": ${file("${path.module}/azure_extension_diagnostics_linux_performancecounters.json")},
"syslogEvents": ${file("${path.module}/azure_extension_diagnostics_linux_syslogevents.json")}
},
"sampleRateInSeconds": 15
}
}
SETTINGS
protected_settings = <<SETTINGS
{
"storageAccountName": "${var.storage_account_name}",
"storageAccountSasToken": "${data.azurerm_storage_account_sas.linux_oms.sas}",
"storageAccountEndPoint": "https://core.windows.net",
"sinksConfig":  {
"sink": [
{
"name": "SyslogJsonBlob",
"type": "JsonBlob"
},
{
"name": "LinuxCpuJsonBlob",
"type": "JsonBlob"
}
]
}
}
SETTINGS
}

然而,当应用上述地形代码时,我从门户获得如下所示的错误

Enable failed:'NoneType' object has no attribute 'get_fluentd_syslog_src_config' 

如果您能帮助解决这个问题,我将不胜感激。

注:我附上了代码中使用的azure_extension_diagnostics_linux_performancecounters.json文件和azure_extension_diagnostics_linux_syslogevents.json文件,以供需要时进一步参考。

azure_extension_diagnostics_linux_performancecounters.jsonfile

{
"performanceCounterConfiguration": []
}

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"
}
}

Ubuntu 20.04不支持安装Diagnostics Agent。只有Azure监视代理或日志分析代理和依赖代理是可能的。

参考:

Azure监控代理概述- Azure Monitor | Microsoft Docs

Azure Compute - Linux诊断扩展4.0 - Azure虚拟机| Microsoft Docs

相关内容

  • 没有找到相关文章

最新更新