イベント ハブまたは外部パートナーへの Azure 監視データのストリーム配信

ほとんどの場合、Azure Monitor からのデータを外部ツールにストリーム配信する最も効率的な方法は、Azure Event Hubs を使うことです。 この記事では、データをストリーミングする方法について簡単に説明し、それを送信できる一部のパートナーを一覧で紹介します。 一部のパートナーには、Azure Monitor との特別な統合があり、Azure でホストされている場合があります。

Event Hubs 名前空間を作成します

データ ソースのストリーミングを構成する前に、Event Hubs 名前空間とイベント ハブを作成しておく必要があります。 この名前空間とイベント ハブが、すべての監視データの送信先です。 Event Hubs 名前空間は、同じアクセス ポリシーを共有するイベント ハブの論理的なグループであり、ストレージ アカウントがそのストレージ アカウント内に個別の BLOB ストレージを持つのと似たようなものです。 監視データのストリーム配信に使用する Event Hubs 名前空間とイベント ハブについては、次の詳細を考慮してください。

  • イベント ハブのスループット スケールは、スループット単位の数によって増やすことができます。 通常、必要なスループット ユニットは 1 つだけです。 自分のログの使用量が増加してスケールアップする必要が生じた場合は、名前空間のスループット ユニット数を手動で増やすか、自動インフレを有効にすることができます。
  • 多数のコンシューマー間での消費量は、パーティションの数によって並列化することができます。 1 つのパーティションでのサポート上限は 20 MBps です (1 秒あたり約 20,000 件のメッセージ)。 データを使用するツールにより、複数のパーティションからの使用をサポートする場合とサポートしない場合があります。 設定するパーティションの数がわからない場合は、まず 4 つのパーティションから始めることをお勧めします。
  • イベント ハブでのメッセージの保持期間は 7 日以上に設定します。 消費元のツールが 1 日以上ダウンした場合でも、この保持期間にすることで、ダウンした時点から最大 7 日前までのイベントを復旧できます。
  • イベント ハブには既定のコンシューマー グループを使用してください。 2 種類のツールで同じイベント ハブの同じデータを使用する予定がある場合を除き、他のコンシューマー グループを作成したり、個別のコンシューマー グループを使用したりする必要はありません。
  • Azure アクティビティ ログの場合は、ユーザーが Event Hubs 名前空間を選ぶと、Azure Monitor によって、その名前空間内に insights-logs-operational-logs という名前のイベント ハブが作成されます。 その他のログ タイプについては、既存のイベント ハブを選択するか、Azure Monitor によってログ カテゴリごとにイベント ハブを作成することができます。
  • イベント ハブからのデータを使用するコンピューターまたは仮想ネットワークでは、通常、送信ポート 5671 と 5672 を開く必要があります。

利用可能な監視データ

Azure Monitor の監視データのソースとそのデータ収集方法」では、Azure Monitor によって収集されるさまざまな種類のデータと、それらの収集に使用される方法が説明されています。 イベント ハブにストリーミングできるデータと、構成の詳細へのリンクについては、その記事を参照してください。

診断データのストリーミング

診断設定を使用して、ログとメトリックを Event Hubs にストリーミングします。 診断設定を設定する方法については、「診断設定の作成」を参照してください。

次の JSON は、イベント ハブに送信されるメトリック データの例です。

[
  {
    "records": [
      {
        "count": 2,
        "total": 0.217,
        "minimum": 0.042,
        "maximum": 0.175,
        "average": 0.1085,
        "resourceId": "/SUBSCRIPTIONS/ABCDEF12-3456-78AB-CD12-34567890ABCD/RESOURCEGROUPS/RG-001/PROVIDERS/MICROSOFT.WEB/SITES/SCALEABLEWEBAPP1",
        "time": "2023-04-18T09:03:00.0000000Z",
        "metricName": "CpuTime",
        "timeGrain": "PT1M"
      },
      {
        "count": 2,
        "total": 0.284,
        "minimum": 0.053,
        "maximum": 0.231,
        "average": 0.142,
        "resourceId": "/SUBSCRIPTIONS/ABCDEF12-3456-78AB-CD12-34567890ABCD/RESOURCEGROUPS/RG-001/PROVIDERS/MICROSOFT.WEB/SITES/SCALEABLEWEBAPP1",
        "time": "2023-04-18T09:04:00.0000000Z",
        "metricName": "CpuTime",
        "timeGrain": "PT1M"
      },
      {
        "count": 1,
        "total": 1,
        "minimum": 1,
        "maximum": 1,
        "average": 1,
        "resourceId": "/SUBSCRIPTIONS/ABCDEF12-3456-78AB-CD12-34567890ABCD/RESOURCEGROUPS/RG-001/PROVIDERS/MICROSOFT.WEB/SITES/SCALEABLEWEBAPP1",
        "time": "2023-04-18T09:03:00.0000000Z",
        "metricName": "Requests",
        "timeGrain": "PT1M"
      },
    ...
    ]
  }
]

次の JSON は、イベント ハブに送信されるログ データの例です。

[
  {
    "records": [
      {
        "time": "2023-04-18T09:39:56.5027358Z",
        "category": "AuditEvent",
        "operationName": "VaultGet",
        "resultType": "Success",
        "correlationId": "12345678-abc-4bc5-9f31-950eaf3bfcb4",
        "callerIpAddress": "10.0.0.10",
        "identity": {
          "claim": {
            "http://schemas.microsoft.com/identity/claims/objectidentifier": "123abc12-abcd-9876-cdef-123abc456def",
            "appid": "12345678-a1a1-b2b2-c3c3-9876543210ab"
          }
        },
        "properties": {
          "id": "https://mykeyvault.vault.azure.net/",
          "clientInfo": "AzureResourceGraph.IngestionWorkerService.global/1.23.1.224",
          "requestUri": "https://northeurope.management.azure.com/subscriptions/ABCDEF12-3456-78AB-CD12-34567890ABCD/resourceGroups/rg-001/providers/Microsoft.KeyVault/vaults/mykeyvault?api-version=2023-02-01&MaskCMKEnabledProperties=true",
          "httpStatusCode": 200,
          "properties": {
            "sku": {
              "Family": "A",
              "Name": "Standard",
              "Capacity": null
            },
            "tenantId": "12345678-abcd-1234-abcd-1234567890ab",
            "networkAcls": null,
            "enabledForDeployment": 0,
            "enabledForDiskEncryption": 0,
            "enabledForTemplateDeployment": 0,
            "enableSoftDelete": 1,
            "softDeleteRetentionInDays": 90,
            "enableRbacAuthorization": 0,
            "enablePurgeProtection": null
          }
        },
        "resourceId": "/SUBSCRIPTIONS/ABCDEF12-3456-78AB-CD12-34567890ABCD/RESOURCEGROUPS/RG-001/PROVIDERS/MICROSOFT.KEYVAULT/VAULTS/mykeyvault",
        "operationVersion": "2023-02-01",
        "resultSignature": "OK",
        "durationMs": "16"
      }
    ],
    "EventProcessedUtcTime": "2023-04-18T09:42:07.0944007Z",
    "PartitionId": 1,
    "EventEnqueuedUtcTime": "2023-04-18T09:41:14.9410000Z"
  },
...

ロジック アプリを使用した手動ストリーム配信

イベント ハブに直接ストリーム配信できないデータについては、Azure Storage に書き込むことができます。その後、時刻によってトリガーされるロジック アプリを使って、データを Azure Blob Storage からプルし、メッセージとしてイベント ハブにプッシュできます。

Azure Monitor とパートナー ツールの統合

Azure Monitor で監視データをイベント ハブにルーティングすると、外部の SIEM や監視ツールに簡単に統合することができます。 次の表の一覧は、ツールと Azure Monitor の統合の例です。

ツール Azure でホスト 説明
IBM QRadar いいえ Microsoft Azure DSM および Microsoft Azure Event Hub プロトコルは、IBM サポート Web サイトからダウンロードすることができます。
Splunk いいえ Microsoft Cloud Services 用の Splunk アドオンは、Splunkbase で使用できるオープンソース プロジェクトです。

アドオンを Splunk インスタンスにインストールできず、たとえばプロキシを使用している場合や、Splunk Cloud で実行している場合は、Splunk 向け Azure 関数を使って、Splunk HTTP Event Collector にこれらのイベントを転送できます。 このツールは、イベント ハブの新しいメッセージによってトリガーされます。
sumologic いいえ イベント ハブから Azure 監査アプリのログを収集する」で、イベント ハブのデータを使用するように SumoLogic を設定する手順が説明されています。
ArcSight いいえ ArcSight スマート コネクタ コレクションの一部として、ArcSight Azure イベント ハブ スマート コネクタが提供されています。
Syslog サーバー いいえ Azure Monitor データを Syslog サーバーに直接ストリーム配信したい場合は、Azure 関数に基づくソリューションを使用できます。
LogRhythm いいえ LogRhythm を設定してイベント ハブからログを収集する手順については、LogRhythm の Web サイトを参照してください。
Logz.io はい 詳細については、Azure で実行される Java アプリ用の Logz.io を使用した監視とログ記録の概要に関するページを参照してください。

次のステップ