【发布时间】:2020-11-16 14:35:18
【问题描述】:
我正在尝试启用 VM 诊断扩展以将事件日志(应用程序 [1,2,3]、安全 [all]、系统 [1,2,3])发送到一个统一存储帐户(让我们呼叫日志存储)应该在其中创建 WADWindowsEventLogsTable。
我尝试实现的不同场景:
-
VM 与日志存储所在的资源组位于同一资源组中。
结果:有效
-
VM 位于日志存储所在的不同资源组中。
结果:有效
-
不同订阅中的虚拟机
结果:扩展程序将被启用。但是,当转到代理选项卡时,我会在存储帐户部分下收到错误消息“值不能为空” agent tab, storage account section error
环境
窗户
Powershell 7.0.2
DiagnosticsConfiguration.json
{
"PublicConfig": {
"WadCfg": {
"DiagnosticMonitorConfiguration": {
"overallQuotaInMB": 5120,
"WindowsEventLog": {
"scheduledTransferPeriod": "PT1M",
"DataSource": [
{
"name": "Application!*[System[(Level=1 or Level=2 or Level=3 or Level=4)]]"
},
{
"name": "Security!*"
},
{
"name": "System!*[System[(Level=1 or Level=2 or Level=3 or Level=4)]]"
}
]
}
}
},
"StorageAccount": "logsstorage",
"StorageType": "TableAndBlob"
},
"PrivateConfig": {
"storageAccountName": "logsstorage",
"storageAccountKey": "xxxxxxx",
"storageAccountEndPoint": "https://logsstorage.blob.core.windows.net"
}
}
Powershell 命令:
Set-AzVMDiagnosticsExtension -ResourceGroupName "myvmresourcegroup" -VMName "myvm" -DiagnosticsConfigurationPath "DiagnosticsConfiguration.json"
我什至尝试将帐户名和密钥明确指定为:
$storage_key = "xxxxxx"
Set-AzVMDiagnosticsExtension -ResourceGroupName "myvmresourcegroup" -VMName "myvm" -DiagnosticsConfigurationPath "DiagnosticsConfiguration.json" -StorageAccountName "logsstroage" -StorageAccountKey $storage_key
我花了很多时间试图在没有运气的情况下解决这个问题。
这里真正的问题是扩展没有创建预期的表WADWindowsEventLogsTable(或者如果它已经存在则写入它)
根据官方文档,我应该可以做到这一点,示例 3: https://docs.microsoft.com/en-us/powershell/module/az.compute/set-azvmdiagnosticsextension?view=azps-4.3.0
我已在 GitHub 上向团队提交了一个问题并提供了更多详细信息,但仍在等待他们的意见
【问题讨论】:
-
在微软工程师的帮助下,我能够解决这个问题。我已经更新了 GitHub 问题的更多详细信息。
标签: azure powershell azure-powershell