次の方法で共有


仮想マシン クライアント データを Event Hubs と Storage に送信する (プレビュー)

Azure Monitor を使用して仮想マシン クライアントからデータ を収集する方法については、Azure Monitor を使用して仮想マシン (VM) からデータを収集する方法について説明します。 この記事では、Azure Storage と Event Hubs に説明されているデータを送信する方法について説明します。 現在、この機能はパブリック プレビュー段階にあります。

ヒント

ストレージの代わりに、コスト効率の高いログ記録のために、Log Analytics ワークスペースに 補助プラン を含むテーブルを作成する必要があります。

次の表に、この機能でサポートされているデータ ソースを示します。

サポートされているデータ型

この機能では、次の表のデータ型がサポートされています。 各ソースには、そのソースの詳細を説明する記事へのリンクがあります。

データ ソース オペレーティング システム サポートされている宛先
Windows イベント ログ ウィンドウズ イベントハブ
ストレージ
Syslog Linux イベントハブ
ストレージ
パフォーマンス カウンター ウィンドウズ
Linux
イベントハブ
ストレージ
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

データ収集ルールを作成する

現在、Event Hubs またはストレージにデータを送信するデータ収集規則 (DCR) を作成するための UI エクスペリエンスはありません。 次のプロセスでは、Azure portal で ARM テンプレートを使用して DCR を作成する手順について説明します。 または、このサンプル DCR を使用して、他の メソッドを使用して新しい DCR を作成することもできます

警告

Azure Monitor で仮想マシン クライアントからデータを収集して Event Hubs またはストレージを追加して作成した既存の DCR を編集しないでください。 これらの宛先には、kindAgentDirectToStore を持つ DCR が必要です。 代わりに、異なる宛先に送信する同じデータ ソースを使用して、複数の DCR を作成します。

  1. Azure portal の検索ボックスに、テンプレート と入力して、[カスタム テンプレートのデプロイ] を選択します。 独自のテンプレートをエディターに作成を選択します。

    Azure portal のスクリーンショット。検索ボックスに「template」と入力されていて、検索結果で [カスタム テンプレートのデプロイ] が強調表示されています。

  2. 次のテンプレート定義をエディターに貼り付けます。

    {
    "$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"
                ]
            }
            ]
        }
        }
    ]
    }
    
  3. 次の表の DCR セクションの詳細を使用して、要件に従ってテンプレートを編集します。 このテンプレートでは、パラメーターを使用してストレージ アカウントとイベント ハブの名前を受け入れるため、テンプレートを保存するときに、またはテンプレートのデプロイ方法に応じてパラメーター ファイルにこれらを指定できます。 DCR 構造の詳細については、Azure Monitor のデータ収集規則 (DCR) の構造に関するページを参照してください。

    価値 説明
    dataSources DCR によって収集された各データ ソースのエントリ。 サンプル テンプレートには、ログとパフォーマンス カウンターの定義が含まれています。 これらのデータ ソースの構成や、テンプレートに追加できるその他のデータ ソースの構成の詳細については、 Azure Monitor のデータ収集規則 (DCR) サンプル を参照してください。
    destinations 宛先ごとに 1 つのエントリ。

    Event Hubs
    イベント ハブに直接アップロードするには、eventHubsDirect を使用します。 eventHubResourceId には、イベント ハブ インスタンスのリソース ID が含まれています。

    ストレージ BLOB
    BLOB ストレージに直接アップロードするには、storageBlobsDirect を使用します。 storageAccountResourceId には、ストレージ アカウントのリソース ID が含まれています。 containerName には、コンテナーの名前が含まれています。

    ストレージ テーブル
    テーブル ストレージに直接アップロードするには、storageTablesDirect を使用します。 storageAccountResourceId には、ストレージ アカウントのリソース ID が含まれています。 tableName には、テーブルの省略可能な名前が含まれています。
    dataFlows 各受信ストリームを少なくとも 1 つの宛先と照合する dataflow 。 そのソースからのデータは、データ フロー内の各宛先に送信されます。
  4. [ 保存] を 選択し、必要なパラメーターの値を指定します。

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 パラメーターがあります。

こちらも参照ください