Azure Monitor を使用して仮想マシン クライアントからデータ を収集する方法については、Azure Monitor を使用して仮想マシン (VM) からデータを収集する方法について説明します。 この記事では、Azure Storage と Event Hubs に説明されているデータを送信する方法について説明します。 現在、この機能はパブリック プレビュー段階にあります。
ヒント
ストレージの代わりに、コスト効率の高いログ記録のために、Log Analytics ワークスペースに 補助プラン を含むテーブルを作成する必要があります。
次の表に、この機能でサポートされているデータ ソースを示します。
サポートされているデータ型
この機能では、次の表のデータ型がサポートされています。 各ソースには、そのソースの詳細を説明する記事へのリンクがあります。
| データ ソース | オペレーティング システム | サポートされている宛先 |
|---|---|---|
| Windows イベント ログ | ウィンドウズ | イベントハブ Storage |
| Syslog | Linux | イベントハブ Storage |
| パフォーマンス カウンター | ウィンドウズ Linux |
イベントハブ Storage |
| IIS ログ | ウィンドウズ Linux |
ストレージ BLOB |
| テキスト ログ | ウィンドウズ Linux |
Eventhub (Linux のみ) Storage BLOB |
次のログはサポートされていません。
- ETW ログ。 これは、後のリリースで予定されています。
- Windows クラッシュ ダンプ。 Azure Monitoring エージェントは、大規模なファイルの種類用ではなく、テレメトリ ログ用です。
- アプリケーション ログ。 これらは、DCR を使用しない Application Insights によって収集されます。
- .NET イベント ソース ログ
注
この機能は、Azure VM でのみサポートされています。 Arc 対応 VM はサポートされていません。
権限
エージェント VM には、システム割り当てマネージド ID が有効になっているか、ユーザー割り当てマネージド ID が関連付けられている必要があります。 スケーラビリティとパフォーマンスを向上させるために、ユーザー割り当てマネージド ID をお勧めします。 Azure Monitor エージェントの要件の説明に従って、認証にマネージド ID を使用するようにエージェントを構成する必要があります。
使用しているデータの宛先に応じて、次の RBAC ロールをマネージド ID に割り当てる必要があります。
| 行き先 | RBAC の役割 |
|---|---|
| ストレージ テーブル | Storage Table Data Contributor |
| ストレージ・ブロブ | Storage Blob Data Contributor |
| イベント ハブ | Azure Event Hubs Data Sender |
データ収集ルールを作成する
ヒント
Azure portal を使用して Event Hubs またはストレージにデータを送信するデータ収集規則 (DCR) を作成するプレビュー機能が追加されました。 データ収集ルールの作成を参照してください。
現在、Event Hubs またはストレージにデータを送信するデータ収集規則 (DCR) を作成するための UI エクスペリエンスはありません。 次のプロセスでは、Azure portal で ARM テンプレートを使用して DCR を作成する手順について説明します。 または、このサンプル DCR を使用して、他の メソッドを使用して新しい DCR を作成することもできます。
警告
Azure Monitor で仮想マシン クライアントからデータを収集して Event Hubs またはストレージを追加して作成した既存の DCR を編集しないでください。 これらの宛先には、kind の AgentDirectToStore を持つ DCR が必要です。 代わりに、異なる宛先に送信する同じデータ ソースを使用して、複数の DCR を作成します。
Azure portal の検索ボックスに、テンプレート と入力して、[カスタム テンプレートのデプロイ] を選択します。 独自のテンプレートをエディターに作成を選択します。
次のテンプレート定義をエディターに貼り付けます。
{ "$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" ] } ] } } ] }次の表の DCR セクションの詳細を使用して、要件に従ってテンプレートを編集します。 このテンプレートでは、パラメーターを使用してストレージ アカウントとイベント ハブの名前を受け入れるため、テンプレートを保存するときに、またはテンプレートのデプロイ方法に応じてパラメーター ファイルにこれらを指定できます。 DCR 構造の詳細については、Azure Monitor のデータ収集規則 (DCR) の構造に関するページを参照してください。
価値 説明 dataSourcesDCR によって収集された各データ ソースのエントリ。 サンプル テンプレートには、ログとパフォーマンス カウンターの定義が含まれています。 これらのデータ ソースの構成や、テンプレートに追加できるその他のデータ ソースの構成の詳細については、 Azure Monitor のデータ収集規則 (DCR) サンプル を参照してください。 destinations宛先ごとに 1 つのエントリ。
Event Hubs
イベント ハブに直接アップロードするには、eventHubsDirectを使用します。eventHubResourceIdには、イベント ハブ インスタンスのリソース ID が含まれています。
ストレージ BLOB
BLOB ストレージに直接アップロードするには、storageBlobsDirectを使用します。storageAccountResourceIdには、ストレージ アカウントのリソース ID が含まれています。containerNameには、コンテナーの名前が含まれています。
ストレージ テーブル
テーブル ストレージに直接アップロードするには、storageTablesDirectを使用します。storageAccountResourceIdには、ストレージ アカウントのリソース ID が含まれています。tableNameには、テーブルの省略可能な名前が含まれています。dataFlows各受信ストリームを少なくとも 1 つの宛先と照合する dataflow。 そのソースからのデータは、データ フロー内の各宛先に送信されます。[ 保存] を 選択し、必要なパラメーターの値を指定します。
DCR の関連付けを作成し、Azure Monitor Agent をデプロイする
DCR を使用するには、Azure Monitor エージェント (AMA) がインストールされている 1 つ以上の仮想マシンとのデータ収集規則関連付け (DCRA) が必要です。 Azure Monitor エージェントのインストールと管理に関するさまざまなオプションについては、Azure Monitor エージェントのインストールと管理を参照し、DCRA を作成するさまざまなオプションについては、Azure Monitor でのデータ収集ルールの関連付けの管理を参照してください。
次の ARM テンプレートを使用して、Azure Monitor エージェントをデプロイして、特定の VM の DCRA を作成できます。 このテンプレートでは、認証にユーザー割り当てマネージド ID (UAI) が使用されます。 テンプレートをデプロイする前に、UAI を作成する必要があります。 システム割り当てマネージド ID を使用することもできますが、運用環境のワークロードには推奨されません。
上記のプロセスまたはその他の有効な方法を使用して、このテンプレートをデプロイします。 これには、VM と DCR を識別するために必要な値のパラメーターが含まれているため、テンプレート自体を変更する必要はありません。
{
"$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'))]"
}
}
}
}
}
]
}
Linux および Windows 用の Azure 診断拡張機能 (LAD/WAD) からの移行
Azure Diagnostics 拡張機能は 現在、Event Hubs とストレージにデータを送信しますが、2026 年 3 月 31 日に非推奨となる予定です。 この日付を過ぎると、Microsoft は Azure Diagnostics 拡張機能のサポートを提供しなくなります。 セキュリティ パッチのみが提供されています。 Azure Monitor エージェント (AMA) は、VM からクライアント データを収集する、より効率的で柔軟な方法を提供します。
- VM にどの拡張機能がインストールされているかを確認するには、VM の [設定] で [拡張機能とアプリケーション] を選択します。
- 同じデータを Event Hubs または Azure Storage に収集するための Azure Monitor エージェントを設定した後には、重複データを避けるために LAD または WAD を削除します。
トラブルシューティング
データが Event Hubs またはストレージに送信されていない場合は、次の項目を確認します。
- [ アクセス許可] に一覧表示されている適切な組み込みロールには、ストレージ アカウントまたはイベント ハブのマネージド ID が割り当てられます。
- マネージド ID が VM に割り当てられます。
- AMA 設定にはマネージド ID パラメーターがあります。
こちらも参照ください
- データ収集ルールの作成の詳細については、「Azure Monitor エージェントを使用して仮想マシンからデータを収集する」を参照してください。