Event Hubs と Storage にデータを送信する (プレビュー)
この記事では、Azure Monitor エージェント (AMA) を使用して Azure Storage と Event Hubs にデータをアップロードする方法について説明します。 この機能はプレビュー段階にあります。
Azure Monitor エージェントは、仮想マシンなどの IaaS リソースからデータを収集するための新しい統合テレメトリ エージェントです。 このプレビューでアップロード機能を使用すると、Log Analytics ワークスペースに送信するログ1を Event Hubs と Storage にアップロードできます。 どちらのデータ変換先も、データ収集ルールを使用してエージェントの収集設定を構成します。
Note
Azure Diagnostics 拡張機能は、2026 年 3 月 31 日に非推奨になります。 この日付を過ぎると、Microsoft は Azure Diagnostics 拡張機能のサポートを提供しなくなります。
脚注
1: すべてのデータ型がサポートされているわけではありません。詳細については、「サポート対象」を参照してください。
Linux および Windows 用の Azure 診断拡張機能 (LAD/WAD) からの移行
- Azure Monitor エージェントは、データを収集し、Log Analytics ワークスペース、Azure Event Hubs、Azure Storage などの複数の宛先にそれを送信できます。
- VM にどの拡張機能がインストールされているかを確認するには、VM の [設定] で [拡張機能とアプリケーション] を選択します。
- 同じデータを Event Hubs または Azure Storage に収集するための Azure Monitor エージェントを設定した後には、重複データを避けるために LAD または WAD を削除します。
- ログのコスト効率を高めるために、Log Analytics ワークスペース内に、ストレージの代わりとして Auxiliary プランを使用するテーブルを設定することを強くお勧めします。
サポートされている機能
データ型
Windows の場合:
- Windows イベント ログ – イベント ハブとストレージへ
- パフォーマンス カウンター – イベント ハブとストレージ
- IIS ログ – ストレージ BLOB へ
- カスタム ログ – ストレージ BLOB へ
Linux:
- Syslog – イベント ハブとストレージへ
- パフォーマンス カウンター – イベント ハブとストレージへ
- カスタム ログ/ログ ファイル - ストレージ
オペレーティング システム
- Windows および Linux 上の Azure Monitoring エージェントでサポートされている環境
- この機能は、Azure VM でのみサポートされます (サポートされる予定です)。 これをオンプレミスまたは Azure Arc のシナリオに移行する予定はありません。
サポートされていないもの
データ型
- Windows:
- ETW ログ (今後リリース予定)
- Windows クラッシュ ダンプ (計画されていないか、サポートされません)
- アプリケーション ログ (計画されていないか、サポートされません)
- .NET イベント ソース ログ (計画されていないか、サポートされません)
前提条件
既存のコンピューティング リソース (仮想マシンまたは仮想マシン スケール セットなど) が必要です。 Azure Monitor エージェントがデプロイされるマシンには、有効なシステム割り当てマネージド ID か、エージェントに割り当てられたユーザー割り当てマネージド ID が必要です。 スケーラビリティとパフォーマンスを向上させるために、ユーザー割り当てマネージド ID を使用することを強くお勧めします。 Azure Monitor エージェントは、前提条件で説明されているように、認証でこのマネージド ID を使用するように構成する必要があります。
Azure Monitor エージェントを介したデータの発行先としたいストレージ アカウントや Event Hubs をプロビジョニングする必要があります。 さらに、目的のデータの宛先ごとに選択したマネージド ID に対して、以下の適切な組み込み RBAC ロールを割り当てる必要があります。
- ストレージ テーブル:
Storage Table Data Contributor
ロール - ストレージ BLOB:
Storage Blob Data Contributor
ロール - イベント ハブ:
Azure Event Hubs Data Sender
ロール
データ収集ルールを作成する
イベントを収集し、ストレージとイベント ハブに送信するためのデータ収集ルールを作成します。
Azure portal の検索ボックスに、テンプレート と入力して、[カスタム テンプレートのデプロイ] を選択します。
[Build your own template in the editor] (エディターで独自のテンプレートをビルド) を選択します。
次の Azure Resource Manager テンプレートをエディターに貼り付けます。
{ "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "location": { "type": "string", "defaultValue": "[resourceGroup().location]", "metadata": { "description": "Location for all resources." } }, "dataCollectionRulesName": { "defaultValue": "[concat(resourceGroup().name, 'DCR')]", "type": "String" }, "storageAccountName": { "defaultValue": "[concat(resourceGroup().name, 'sa')]", "type": "String" }, "eventHubNamespaceName": { "defaultValue": "[concat(resourceGroup().name, 'eh')]", "type": "String" }, "eventHubInstanceName": { "defaultValue": "[concat(resourceGroup().name, 'ehins')]", "type": "String" } }, "resources": [ { "type": "Microsoft.Insights/dataCollectionRules", "apiVersion": "2022-06-01", "name": "[parameters('dataCollectionRulesName')]", "location": "[parameters('location')]", "kind": "AgentDirectToStore", "properties": { "dataSources": { "performanceCounters": [ { "streams": [ "Microsoft-Perf" ], "samplingFrequencyInSeconds": 10, "counterSpecifiers": [ "\\Process(_Total)\\Working Set - Private", "\\Memory\\% Committed Bytes In Use", "\\LogicalDisk(_Total)\\% Free Space", "\\Network Interface(*)\\Bytes Total/sec" ], "name": "perfCounterDataSource10" } ], "windowsEventLogs": [ { "streams": [ "Microsoft-Event" ], "xPathQueries": [ "Application!*[System[(Level=2)]]", "System!*[System[(Level=2)]]" ], "name": "eventLogsDataSource" } ], "iisLogs": [ { "streams": [ "Microsoft-W3CIISLog" ], "logDirectories": [ "C:\\inetpub\\logs\\LogFiles\\W3SVC1\\" ], "name": "myIisLogsDataSource" } ], "logFiles": [ { "streams": [ "Custom-Text-logs" ], "filePatterns": [ "C:\\JavaLogs\\*.log" ], "format": "text", "settings": { "text": { "recordStartTimestampFormat": "ISO 8601" } }, "name": "myTextLogs" } ] }, "destinations": { "eventHubsDirect": [ { "eventHubResourceId": "[resourceId('Microsoft.EventHub/namespaces/eventhubs', parameters('eventHubNamespaceName'), parameters('eventHubInstanceName'))]", "name": "myEh1" } ], "storageBlobsDirect": [ { "storageAccountResourceId": "[resourceId('Microsoft.Storage/storageAccounts/', parameters('storageAccountName'))]", "name": "blobNamedPerf", "containerName": "PerfBlob" }, { "storageAccountResourceId": "[resourceId('Microsoft.Storage/storageAccounts/', parameters('storageAccountName'))]", "name": "blobNamedWin", "containerName": "WinEventBlob" }, { "storageAccountResourceId": "[resourceId('Microsoft.Storage/storageAccounts/', parameters('storageAccountName'))]", "name": "blobNamedIIS", "containerName": "IISBlob" }, { "storageAccountResourceId": "[resourceId('Microsoft.Storage/storageAccounts/', parameters('storageAccountName'))]", "name": "blobNamedTextLogs", "containerName": "TxtLogBlob" } ], "storageTablesDirect": [ { "storageAccountResourceId": "[resourceId('Microsoft.Storage/storageAccounts/', parameters('storageAccountName'))]", "name": "tableNamedPerf", "tableName": "PerfTable" }, { "storageAccountResourceId": "[resourceId('Microsoft.Storage/storageAccounts/', parameters('storageAccountName'))]", "name": "tableNamedWin", "tableName": "WinTable" }, { "storageAccountResourceId": "[resourceId('Microsoft.Storage/storageAccounts/', parameters('storageAccountName'))]", "name": "tableUnnamed" } ] }, "dataFlows": [ { "streams": [ "Microsoft-Perf" ], "destinations": [ "myEh1", "blobNamedPerf", "tableNamedPerf", "tableUnnamed" ] }, { "streams": [ "Microsoft-Event" ], "destinations": [ "myEh1", "blobNamedWin", "tableNamedWin", "tableUnnamed" ] }, { "streams": [ "Microsoft-W3CIISLog" ], "destinations": [ "blobNamedIIS" ] }, { "streams": [ "Custom-Text-logs" ], "destinations": [ "blobNamedTextLogs" ] } ] } } ] }
Azure Resource Manager テンプレートで次の値を更新します。 サンプルについては、Azure Resource Manager テンプレートの例を参照してください。
イベント ハブ
値 説明 dataSources
要件に従って定義します。 Windows 用 Event Hubs への直接アップロードでサポートされている型は、 performanceCounters
とwindowsEventLogs
であり、Linux の場合はperformanceCounters
とsyslog
です。destinations
イベント ハブに直接アップロードするには、 eventHubsDirect
を使用します。eventHubResourceId
イベント ハブ インスタンスのリソース ID。
注: これはイベント ハブ名前空間のリソース ID ではありません。dataFlows
dataFlows
の下に変換先名を含めます。ストレージ テーブル
値 説明 dataSources
要件に従って定義します。 Windows 用ストレージ テーブルへの直接アップロードでサポートされている型は、 performanceCounters
とwindowsEventLogs
であり、Linux の場合はperformanceCounters
とsyslog
です。destinations
テーブル ストレージに直接アップロードするには、 storageTablesDirect
を使用します。storageAccountResourceId
ストレージ アカウントのリソース ID。 tableName
イベント データを含む JSON BLOB のアップロード先のテーブルの名前。 dataFlows
dataFlows
の下に変換先名を含めます。BLOB ストレージ
値 説明 dataSources
要件に従って定義します。 Windows 用ストレージ BLOB への直接アップロードでサポートされている型は、 performanceCounters
、windowsEventLogs
、iisLogs
、logFiles
であり、Linux の場合はperformanceCounters
、syslog
、logFiles
です。destinations
BLOB ストレージに直接アップロードするには、 storageBlobsDirect
を使用します。storageAccountResourceId
ストレージ アカウントのリソース ID。 containerName
イベント データを含む JSON BLOB のアップロード先のコンテナーの名前。 dataFlows
dataFlows
の下に変換先名を含めます。[保存] を選択します。
DCR の関連付けを作成し、Azure Monitor Agent をデプロイする
カスタム テンプレートのデプロイを使用して、DCR の関連付けと AMA のデプロイを作成します。
Azure portal の検索ボックスに、テンプレート と入力して、[カスタム テンプレートのデプロイ] を選択します。
[Build your own template in the editor] (エディターで独自のテンプレートをビルド) を選択します。
次の Azure Resource Manager テンプレートをエディターに貼り付けます。
{ "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "vmName": { "defaultValue": "[concat(resourceGroup().name, 'vm')]", "type": "String" }, "location": { "type": "string", "defaultValue": "[resourceGroup().location]", "metadata": { "description": "Location for all resources." } }, "dataCollectionRulesName": { "defaultValue": "[concat(resourceGroup().name, 'DCR')]", "type": "String", "metadata": { "description": "Data Collection Rule Name" } }, "dcraName": { "type": "string", "defaultValue": "[concat(uniquestring(resourceGroup().id), 'DCRLink')]", "metadata": { "description": "Name of the association." } }, "identityName": { "type": "string", "defaultValue": "[concat(resourceGroup().name, 'UAI')]", "metadata": { "description": "Managed Identity" } } }, "resources": [ { "type": "Microsoft.Compute/virtualMachines/providers/dataCollectionRuleAssociations", "name": "[concat(parameters('vmName'),'/microsoft.insights/', parameters('dcraName'))]", "apiVersion": "2021-04-01", "properties": { "description": "Association of data collection rule. Deleting this association will break the data collection for this virtual machine.", "dataCollectionRuleId": "[resourceID('Microsoft.Insights/dataCollectionRules',parameters('dataCollectionRulesName'))]" } }, { "type": "Microsoft.Compute/virtualMachines/extensions", "name": "[concat(parameters('vmName'), '/AMAExtension')]", "apiVersion": "2020-06-01", "location": "[parameters('location')]", "dependsOn": [ "[resourceId('Microsoft.Compute/virtualMachines/providers/dataCollectionRuleAssociations', parameters('vmName'), 'Microsoft.Insights', parameters('dcraName'))]" ], "properties": { "publisher": "Microsoft.Azure.Monitor", "type": "AzureMonitorWindowsAgent", "typeHandlerVersion": "1.0", "autoUpgradeMinorVersion": true, "settings": { "authentication": { "managedIdentity": { "identifier-name": "mi_res_id", "identifier-value": "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',parameters('identityName'))]" } } } } } ] }
[保存] を選択します。
トラブルシューティング
Event Hubs と Storage へのデータ送信のトラブルシューティングを行うには、次のセクションを使用します。
データはストレージ アカウント BLOB ストレージに見つかりませんでした
- ストレージ アカウントで組み込みロール
Storage Blob Data Contributor
にマネージド ID が割り当てられていることを確認します。 - マネージド ID が VM に割り当てられていることを確認します。
- AMA 設定にマネージド ID パラメータがあることを確認します。
データはストレージ アカウント テーブル ストレージに見つかりませんでした
- ストレージ アカウントで組み込みロール
Storage Table Data Contributor
にマネージド ID が割り当てられていることを確認します。 - マネージド ID が VM に割り当てられていることを確認します。
- AMA 設定にマネージド ID パラメータがあることを確認します。
データがイベント ハブに送られていない
- イベント ハブ インスタンスで組み込みロール
Azure Event Hubs Data Sender
にマネージド ID が割り当てられていることを確認します。 - マネージド ID が VM に割り当てられていることを確認します。
- AMA 設定にマネージド ID パラメータがあることを確認します。
AMA と WAD/LAD 収束
Azure Monitoring エージェントは Application Insights へのデータのアップロードをサポートしますか?
いいえ。このサポートはロードマップの一部ではありません。 Application Insights は Log Analytics ワークスペースを利用できるようになりました。
Azure Monitoring エージェントは、アップロードするデータ型として Windows クラッシュ ダンプをサポートしますか?
いいえ。このサポートはロードマップの一部ではありません。 Azure Monitoring エージェントは、大規模なファイルの種類用ではなく、テレメトリ ログ用です。
これは、Linux (LAD) 診断拡張機能と Windows (WAD) 診断拡張機能がサポートされなくなるか廃止されることを意味しますか?
LAD と WAD は、2026 年 3 月 31 日に廃止される予定です。 必要なセキュリティ パッチとバグ/レグレッション修正以外に、WAD/LAD について計画されている拡張機能や機能開発はありません。 できるだけ早く Azure Monitor エージェントに移行することを強くお勧めします。
イベント ハブとストレージ データの変換先に対して AMA を構成する方法
現在、構成エクスペリエンスでは DCR API を使用します。
引き続き WAD と LAD で積極的に開発しますか?
WAD と LAD では今後、セキュリティ/パッチのみが提供されます。 ほとんどのエンジニアリング資金は、Azure Monitoring エージェントに投入されています。 Azure Monitoring エージェントに移行して優れた機能の恩恵をすべて享受することを強くお勧めします。
関連項目
- データ収集ルールの作成の詳細については、「Azure Monitor エージェントを使用して仮想マシンからデータを収集する」を参照してください。