私がしようとしているのは、VM 診断拡張機能がイベント ログ (アプリケーション [1,2,3]、セキュリティ [すべて]、システム [1,2,3]) を 1 つの統合ストレージ アカウントに送信できるようにすることです (ログ ストレージを呼び出しましょう)。 ) WADWindowsEventLogsTable が作成されるはずの場所。
私が実装しようとしているさまざまなシナリオ:
VM は、ログ ストレージと同じリソース グループにあります。
結果:動作します
ログ ストレージがある別のリソース グループ内の VM。
結果:動作します
別のサブスクリプションの VM
結果:拡張機能が有効になります。ただし、[エージェント] タブに移動すると、[エージェント タブ、ストレージ アカウント セクション エラー] [1] の [ストレージ アカウント] セクションの下に、「値を空にすることはできません」というエラー メッセージが表示されます。
環境
ウィンドウズ
パワーシェル 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を作成しない(または既に存在する場合はそれに書き込む) ことです [1]: https://i.stack.imgur.com/IP9zW.jpg