1
votes

I'm trying to install Azure LAD 3.0 agent for this linux vm using ARM template. While enabling the extension, I want to enable the agent and want Metrics to be selected NONE, only syslog should be enabled and routed to the specified storage account. I have followed the https://docs.microsoft.com/en-us/azure/virtual-machines/extensions/diagnostics-linux#public-settings page and almost have all the mandatory fields in the template still cant identify the issue. Based on that doc, You must specify either performanceCounters or syslogEvents or both. You must specify the metrics structure - but this not needed in my case and i have not given performanceCounters which needed for metrics also.

The problem is, it is throwing that error Extension operation Enable failed:'NoneType' object has no attribute 'get_fluentd_syslog_src_config' and not enabling the diagnostics extension. The issue might be with Linux Diagnostic extension schema settings where i'm trying to make modifications but couldn't figure out why exactly it is failing.

NOTE: I'm able to modify the Windows diagnostics extension schema and can enable the agent with the specific logs selected.

Anyone succeeded on this ? below is my resources part.

"resources": [
        {
            "type": "Microsoft.Compute/virtualMachines/extensions",
            "apiVersion": "2017-12-01",
            "name": "[concat(parameters('vmName'), '/Microsoft.Insights.VMDiagnosticSettings')]",
            "location": "[resourceGroup().location]",
            "tags": {
                "displayName": "AzureDiagnostics"
            },
            "properties": {
                "publisher": "Microsoft.Azure.Diagnostics",
                "type": "LinuxDiagnostic",
                "autoUpgradeMinorVersion": true,
                "typeHandlerVersion": "3.0",
                "protectedSettings": {
                    "storageAccountName": "[parameters('existingdiagnosticsStorageAccountName')]",
                    "storageAccountKey": "[listkeys(variables('accountid'), '2015-05-01-preview').key1]",
                    "storageAccountEndPoint": "https://core.windows.net"
                },
                "settings": {
                    "StorageAccount": "[parameters('existingdiagnosticsStorageAccountName')]",
                    "ladCfg": {
                        "diagnosticMonitorConfiguration": {
                            "eventVolume": "Medium",
                            "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
                    }
                }
            }
        }
    ]
1

1 Answers

0
votes

I'm answering my own question here. I have made some changes in the ARM template and i was able to deploy the extension for Debian based OS.

below is my altered Resources part in the ARM template

"resources": [
      {
          "type": "Microsoft.Storage/storageAccounts",
          "apiVersion": "2018-07-01",
          "name": "[parameters('storageAccountName')]",
          "location": "[resourceGroup().location]",
          "sku": {
              "name": "Standard_LRS"
          },
          "kind": "StorageV2"
      },
      {
          "type": "Microsoft.Compute/virtualMachines/extensions",
          "apiVersion": "2017-12-01",
          "name": "[concat(parameters('vmName'), '/Microsoft.Insights.VMDiagnosticSettings')]",
          "location": "[resourceGroup().location]",            
          "tags": {
              "Creator": "[parameters('tags')]"
          },
          "properties": {
              "publisher": "Microsoft.Azure.Diagnostics",
              "type": "LinuxDiagnostic",
              "autoUpgradeMinorVersion": true,
              "typeHandlerVersion": "3.0",
              "protectedSettings": {
                  "storageAccountName": "[parameters('storageAccountName')]",
                  "storageAccountSasToken": "[listAccountSas(parameters('storageAccountName'), '2018-07-01', parameters('accountSasProperties')).accountSasToken]"
              },
              "settings": {
                  "StorageAccount": "[parameters('storageAccountName')]",
                  "ladCfg": {
                      "diagnosticMonitorConfiguration": {
                          "eventVolume": "Medium",
                          "metrics": {
                              "metricAggregation": [],
                              "resourceId": "[resourceId('Microsoft.Compute/virtualMachines', parameters('vmName'))]"
                          },
                          "performanceCounters": {
                              "performanceCounterConfiguration": []
                          },
                          "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
                  }
              }
          }
      }
  ]
}