Event Hubs と Storage にデータを送信する (プレビュー)

この記事では、Azure Monitor エージェント (AMA) を使用して Azure Storage と Event Hubs にデータをアップロードする方法について説明します。 この機能はプレビュー段階にあります。

Azure Monitor エージェントは、仮想マシンなどの IaaS リソースからデータを収集するための新しい統合テレメトリ エージェントです。 このプレビューでアップロード機能を使用すると、Log Analytics ワークスペースに送信するログ1を Event Hubs と Storage にアップロードできます。 どちらのデータ変換先も、データ収集ルールを使用してエージェントの収集設定を構成します。

Note

この機能は、Windows 診断拡張機能 (WAD) と Linux 診断拡張機能 (LAD) に代わるものです。 詳細については、「Azure Monitor エージェントとレガシ エージェントの比較」を参照してください。

脚注

1: すべてのデータ型がサポートされているわけではありません。詳細については、「サポート対象」を参照してください。

サポートされている機能

データ型

  • Windows の場合:

    • Windows イベント ログ – イベント ハブとストレージへ
    • パフォーマンス カウンター – イベント ハブとストレージ
    • IIS ログ – ストレージ BLOB へ
    • カスタム ログ – ストレージ BLOB へ
  • Linux:

    • Syslog – イベント ハブとストレージへ
    • パフォーマンス カウンター – イベント ハブとストレージへ
    • カスタム ログ/ログ ファイル - ストレージ

オペレーティング システム

  • Windows および Linux 上の Azure Monitoring エージェントでサポートされている環境
  • この機能は、Azure VM でのみサポートされます (サポートされる予定です)。 これをオンプレミスまたは Azure Arc のシナリオに移行する予定はありません。

サポートされていないもの

データ型

  • Windows:
    • ETW ログ
    • Windows クラッシュ ダンプ (計画されていないか、サポートされません)
    • アプリケーション ログ (計画されていないか、サポートされません)
    • .NET イベント ソース ログ (計画されていないか、サポートされません)

前提条件

次のリソースに関連付けられているユーザー割り当てマネージド ID:

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

イベントを収集し、ストレージとイベント ハブに送信するためのデータ収集ルールを作成します。

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

    Screenshot that shows the Azure portal with template entered in the search box and Deploy a custom template highlighted in the search results.

  2. [Build your own template in the editor] (エディターで独自のテンプレートをビルド) を選択します。

    Screenshot that shows portal screen to build template in the editor.

  3. 次の 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"
                ]
            }
            ]
        }
        }
    ]
    }
    
  4. Azure Resource Manager テンプレートで次の値を更新します。 サンプルについては、Azure Resource Manager テンプレートの例を参照してください。

    イベント ハブ

    説明
    dataSources 要件に従って定義します。 Windows 用 Event Hubs への直接アップロードでサポートされている型は、performanceCounterswindowsEventLogs であり、Linux の場合は performanceCounterssyslog です。
    destinations イベント ハブに直接アップロードするには、eventHubsDirect を使用します。
    eventHubResourceId イベント ハブ インスタンスのリソース ID。

    注: これはイベント ハブ名前空間のリソース ID ではありません。
    dataFlows dataFlows の下に変換先名を含めます。

    ストレージ テーブル

    説明
    dataSources 要件に従って定義します。 Windows 用ストレージ テーブルへの直接アップロードでサポートされている型は、performanceCounterswindowsEventLogs であり、Linux の場合は performanceCounterssyslog です。
    destinations テーブル ストレージに直接アップロードするには、storageTablesDirect を使用します。
    storageAccountResourceId ストレージ アカウントのリソース ID。
    tableName イベント データを含む JSON BLOB のアップロード先のテーブルの名前。
    dataFlows dataFlows の下に変換先名を含めます。

    BLOB ストレージ

    説明
    dataSources 要件に従って定義します。 Windows 用ストレージ BLOB への直接アップロードでサポートされている型は、performanceCounterswindowsEventLogsiisLogslogFiles であり、Linux の場合は performanceCounterssysloglogFiles です。
    destinations BLOB ストレージに直接アップロードするには、storageBlobsDirect を使用します。
    storageAccountResourceId ストレージ アカウントのリソース ID。
    containerName イベント データを含む JSON BLOB のアップロード先のコンテナーの名前。
    dataFlows dataFlows の下に変換先名を含めます。
  5. [保存] を選択します。

DCR の関連付けを作成し、Azure Monitor Agent をデプロイする

カスタム テンプレートのデプロイを使用して、DCR の関連付けと AMA のデプロイを作成します。

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

    Screenshot that shows the Azure portal with template entered in the search box and Deploy a custom template highlighted in the search results.

  2. [Build your own template in the editor] (エディターで独自のテンプレートをビルド) を選択します。

    Screenshot that shows portal screen to build template in the editor.

  3. 次の 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'))]"
                }
            }
            }
        }
        }
    ]
    }
    
  4. [保存] を選択します。

トラブルシューティング

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) 診断拡張機能がサポートされなくなるか廃止されることを意味しますか?

いいえ。Azure がこれらのエージェントの廃止を正式に発表するまではそうなりません。この発表から 3 年後に、これらはサポートされなくなります。

イベント ハブとストレージ データの変換先に対して AMA を構成する方法

現在、構成エクスペリエンスでは DCR API を使用します。

引き続き WAD と LAD で積極的に開発しますか?

WAD と LAD では今後、セキュリティ/パッチのみが提供されます。 ほとんどのエンジニアリング資金は、Azure Monitoring エージェントに投入されています。 Azure Monitoring エージェントに移行して優れた機能の恩恵をすべて享受することを強くお勧めします。

関連項目