Azure Event Hubs データの監視のリファレンス
Azure Event Hubs の監視データの収集と分析の詳細については、Azure Event Hubs の監視に関するページを参照してください。
Note
Azure Monitor から Azure Storage、Azure Event Hubs、Log Analytics などの宛先に送信されるエクスポートされたメトリック データに、ディメンションは含まれません。
メトリック
このセクションには、Azure Event Hubs 用に自動的に収集されたすべてのプラットフォーム メトリックが一覧表示されています。 これらのメトリックのリソース プロバイダーは、Microsoft.EventHub/clusters または Microsoft.EventHub/namespaces です。
要求のメトリック
データおよび管理操作要求の数をカウントします。
メトリックの名前 | 診断設定を使用したエクスポートが可能 | ユニット | 集計の種類 | 説明 | Dimensions |
---|---|---|---|---|---|
受信要求 | はい | Count | Count | 指定された期間にわたって Event Hubs サービスに対して実行された要求の数。 このメトリックには、すべてのデータと管理プレーンの操作が含まれます。 | エンティティ名 |
成功した要求 | いいえ | Count | Count | 指定された期間にわたって Event Hubs サービスに対して実行されて成功した要求の数。 | エンティティ名 操作の結果 |
調整された要求数 | いいえ | Count | Count | 使用量を超えたため調整された要求の数。 | エンティティ名 操作の結果 |
次の 2 種類のエラーは、ユーザー エラーに分類されます。
- クライアント側のエラー (HTTP では 400 エラー)。
- メッセージの処理中に発生するエラー。
メッセージのメトリック
メトリックの名前 | 診断設定を使用したエクスポートが可能 | ユニット | 集計の種類 | 説明 | Dimensions |
---|---|---|---|---|---|
受信メッセージ | はい | Count | Count | 指定された期間にわたって Event Hubs に送信されたイベントまたはメッセージの数。 | エンティティ名 |
送信メッセージ | はい | Count | Count | 指定された期間にわたって Event Hubs から受信されたイベントまたはメッセージの数。 | エンティティ名 |
キャプチャされたメッセージ数 | いいえ | Count | Count | キャプチャされたメッセージの数。 | エンティティ名 |
着信バイト数 | はい | バイト | Count | 指定した期間にわたるイベント ハブの受信バイト数。 | エンティティ名 |
発信バイト数 | はい | バイト | Count | 指定した期間にわたるイベント ハブの送信バイト数。 | エンティティ名 |
サイズ | いいえ | バイト | Average | イベント ハブのサイズ (バイト単位)。 | エンティティ名 |
注意
- これらの値は、特定の時点の値です。 その時点の直後に使用された受信メッセージは、これらのメトリックに反映されない場合があります。
- この受信要求メトリックには、すべてのデータと管理プレーンの操作が含まれます。 受信メッセージメトリックは、イベント ハブに送信されるイベントの総数を示します。 たとえば、イベント ハブに 100 イベントのバッチを送信した場合、受信要求は 1 件、受信メッセージ数は 100 件とカウントされます。
キャプチャ メトリック
メトリックの名前 | 診断設定を使用したエクスポートが可能 | ユニット | 集計の種類 | 説明 | Dimensions |
---|---|---|---|---|---|
キャプチャされたメッセージ数 | いいえ | Count | Count | キャプチャされたメッセージの数。 | エンティティ名 |
キャプチャされたバイト数 | いいえ | バイト | Count | イベント ハブのキャプチャされたバイト数 | エンティティ名 |
バックログのキャプチャ | いいえ | Count | Count | イベント ハブのバックログをキャプチャ | エンティティ名 |
接続のメトリック
メトリックの名前 | 診断設定を使用したエクスポートが可能 | ユニット | 集計の種類 | 説明 | Dimensions |
---|---|---|---|---|---|
アクティブな接続 | いいえ | Count | Average | 名前空間および名前空間内のエンティティ (イベント ハブ) でのアクティブな接続の数。 このメトリックの値は、特定の時点の値です。 その時点の直後にアクティブになった接続は、メトリックに反映されない場合があります。 | エンティティ名 |
開かれている接続数 | いいえ | Count | Average | 開かれている接続の数。 | エンティティ名 |
切断された接続数 | いいえ | Count | Average | 閉じられている接続の数。 | エンティティ名 |
エラー メトリック
メトリックの名前 | 診断設定を使用したエクスポートが可能 | ユニット | 集計の種類 | 説明 | Dimensions |
---|---|---|---|---|---|
サーバー エラー | いいえ | Count | Count | 指定された期間にわたって Event Hubs サービスでエラーのために処理されなかった要求の数。 | エンティティ名 操作の結果 |
User Errors (ユーザー エラー) | いいえ | Count | Count | 指定された期間にわたってユーザー エラーのために処理されなかった要求の数。 | エンティティ名 操作の結果 |
クォータ超過エラー数 | いいえ | Count | Count | 指定した期間にわたってクォータ超過によって発生したエラーの数。 | エンティティ名 操作の結果 |
Note
Logic Apps では、エポック受信者が作成され、サービスの負荷に応じて受信者が 1 つのノードから別のノードに移動される場合があります。 これらの移動時に、ReceiverDisconnection
例外が発生する可能性があります。 これらは、Event Hubs のサービス側ではユーザー エラーとしてカウントされます。 Logic Apps で Event Hubs クライアントからエラーを収集して、ユーザー ログでそれらを確認できるようにすることができます。
メトリック ディメンション
Azure Event Hubs は、Azure Monitor でのメトリックの次のディメンションをサポートします。 メトリックへのディメンションの追加は省略可能です。 ディメンションを追加しない場合、メトリックは名前空間レベルで指定されます。
ディメンション名 | 説明 |
---|---|
エンティティ名 | イベント ハブの名前。 [受信した要求] メトリックでは、エンティティ名ディメンションにはすべてのイベント ハブに加えて、値 "-NamespaceOnlyMetric-" があります。 これは、名前空間レベルで行われた要求を表します。 たとえば、名前空間にあるすべてのイベント ハブを一覧表示する要求や、認証または承認に失敗したエンティティへの要求などです。 |
リソース ログ
Event Hubs では、次のカテゴリの診断ログをキャプチャします。
カテゴリ | 説明 |
---|---|
アーカイブ ログ | Event Hubs Capture 操作、特にログ関連のキャプチャ エラーに関する情報をキャプチャします。 |
操作ログ | Azure Event Hubs 名前空間上で実行されるすべての管理操作がキャプチャされます。 Azure Event Hubs で実行される大量のデータ操作のため、データ操作はキャプチャされません。 |
自動スケール ログ | Event Hubs 名前空間で実行される自動拡張操作をキャプチャします。 |
Kafka コーディネーター ログ | Event Hubs に関連する Kafka コーディネーター操作をキャプチャします。 |
Kafka ユーザー エラー ログ | Event Hubs で呼び出される Kafka API に関する情報をキャプチャします。 |
Event Hubs 仮想ネットワーク (VNet) 接続イベント | Event Hubs にトラフィックを送信する IP アドレスと仮想ネットワークに関する情報をキャプチャします。 |
カスタマー マネージド キーのユーザー ログ | カスタマー マネージド キーに関連する操作をキャプチャします。 |
すべてのログは、JavaScript Object Notation (JSON) 形式で格納されます。 各エントリには、以下のセクションで説明している形式を使用する文字列フィールドがあります。
アーカイブ ログ スキーマ
アーカイブ ログの JSON 文字列には、次の表に示す要素が含まれます。
名前 | 説明 |
---|---|
TaskName |
失敗したタスクの説明 |
ActivityId |
内部 ID。追跡目的で使用されます |
trackingId |
内部 ID。追跡目的で使用されます |
resourceId |
Azure Resource Manager リソース ID |
eventHub |
イベント ハブの完全名 (名前空間の名前を含みます) |
partitionId |
書き込み先のイベント ハブ パーティション |
archiveStep |
使用可能な値:ArchiveFlushWriter、DestinationInit |
startTime |
障害開始時刻 |
failures |
障害が発生した回数 |
durationInSeconds |
障害の時間 |
message |
エラー メッセージ |
category |
ArchiveLogs |
次のコードは、アーカイブ ログの JSON 文字列の例です。
{
"TaskName": "EventHubArchiveUserError",
"ActivityId": "000000000-0000-0000-0000-0000000000000",
"trackingId": "0000000-0000-0000-0000-00000000000000000",
"resourceId": "/SUBSCRIPTIONS/000000000-0000-0000-0000-0000000000000/RESOURCEGROUPS/<Resource Group Name>/PROVIDERS/MICROSOFT.EVENTHUB/NAMESPACES/<Event Hubs Namespace Name>",
"eventHub": "<Event Hub full name>",
"partitionId": "1",
"archiveStep": "ArchiveFlushWriter",
"startTime": "9/22/2016 5:11:21 AM",
"failures": 3,
"durationInSeconds": 360,
"message": "Microsoft.WindowsAzure.Storage.StorageException: The remote server returned an error: (404) Not Found. ---> System.Net.WebException: The remote server returned an error: (404) Not Found.\r\n at Microsoft.WindowsAzure.Storage.Shared.Protocol.HttpResponseParsers.ProcessExpectedStatusCodeNoException[T](HttpStatusCode expectedStatusCode, HttpStatusCode actualStatusCode, T retVal, StorageCommandBase`1 cmd, Exception ex)\r\n at Microsoft.WindowsAzure.Storage.Blob.CloudBlockBlob.<PutBlockImpl>b__3e(RESTCommand`1 cmd, HttpWebResponse resp, Exception ex, OperationContext ctx)\r\n at Microsoft.WindowsAzure.Storage.Core.Executor.Executor.EndGetResponse[T](IAsyncResult getResponseResult)\r\n --- End of inner exception stack trace ---\r\n at Microsoft.WindowsAzure.Storage.Core.Util.StorageAsyncResult`1.End()\r\n at Microsoft.WindowsAzure.Storage.Core.Util.AsyncExtensions.<>c__DisplayClass4.<CreateCallbackVoid>b__3(IAsyncResult ar)\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.",
"category": "ArchiveLogs"
}
操作ログのスキーマ
操作ログの JSON 文字列には、次の表に示す要素が含まれます。
名前 | 説明 |
---|---|
ActivityId |
内部 ID。追跡目的で使用されます |
EventName |
操作の名前。 この要素の値の一覧については、「イベント名」を参照してください。 |
resourceId |
Azure Resource Manager リソース ID |
SubscriptionId |
サブスクリプション ID |
EventTimeString |
操作時間 |
EventProperties |
操作のプロパティ。 次の例に示すように、この要素によってイベントに関するより詳細な情報が提供されます。 |
Status |
操作の状態。 この値は、 [成功] または [失敗] のどちらかです。 |
Caller |
操作の呼び出し元 (Azure Portal または管理クライアント) |
Category |
OperationalLogs |
次のコードは、操作ログの JSON 文字列の例です。
Example:
{
"ActivityId": "00000000-0000-0000-0000-00000000000000",
"EventName": "Create EventHub",
"resourceId": "/SUBSCRIPTIONS/00000000-0000-0000-0000-0000000000000/RESOURCEGROUPS/<Resource Group Name>/PROVIDERS/MICROSOFT.EVENTHUB/NAMESPACES/<Event Hubs namespace name>",
"SubscriptionId": "000000000-0000-0000-0000-000000000000",
"EventTimeString": "9/28/2016 8:40:06 PM +00:00",
"EventProperties": "{\"SubscriptionId\":\"0000000000-0000-0000-0000-000000000000\",\"Namespace\":\"<Namespace Name>\",\"Via\":\"https://<Namespace Name>.servicebus.windows.net/f8096791adb448579ee83d30e006a13e/?api-version=2016-07\",\"TrackingId\":\"5ee74c9e-72b5-4e98-97c4-08a62e56e221_G1\"}",
"Status": "Succeeded",
"Caller": "ServiceBus Client",
"category": "OperationalLogs"
}
イベント名
イベント名は、次の列挙型の中の操作の種類 + リソースの種類として設定されます。 たとえば、「Create Queue
」、「Retrieve Event Hu
」、「Delete Rule
」のように指定します。
操作の種類 | リソースの種類 |
---|---|
|
|
自動スケール ログのスキーマ
自動スケール ログの JSON には、次の表に示す要素が含まれます。
名前 | 説明 |
---|---|
TrackingId |
内部 ID。トレース目的で使用されます |
ResourceId |
Azure Resource Manager リソース ID。 |
Message |
情報メッセージ。自動インフレ アクションに関する詳細情報を提供します。 このメッセージには、特定の名前空間のスループット ユニットの以前の値と現在の値、および TU のインフレをもたらした要因が含まれます。 |
自動スケーリング イベントの例を次に示します。
{
"TrackingId": "fb1b3676-bb2d-4b17-85b7-be1c7aa1967e",
"Message": "Scaled-up EventHub TUs (UpdateStartTimeUTC: 5/13/2021 7:48:36 AM, PreviousValue: 1, UpdatedThroughputUnitValue: 2, AutoScaleReason: 'IncomingMessagesPerSecond reached 2170')",
"ResourceId": "/subscriptions/0000000-0000-0000-0000-000000000000/resourcegroups/testrg/providers/microsoft.eventhub/namespaces/namespace-name"
}
Kafka コーディネーター ログのスキーマ
Kafka コーディネーター ログの JSON には、次の表に示す要素が含まれます。
名前 | 説明 |
---|---|
RequestId |
要求 ID。トレース目的で使用されます |
ResourceId |
Azure Resource Manager リソース ID |
Operation |
グループの調整中に実行された操作の名前 |
ClientId |
クライアント ID |
NamespaceName |
名前空間名 |
SubscriptionId |
Azure サブスクリプション ID |
Message |
情報または警告メッセージ。グループの調整中に実行されたアクションに関する詳細情報を提供します。 |
例
{
"RequestId": "FE01001A89E30B020000000304620E2A_KafkaExampleConsumer#0",
"Operation": "Join.Start",
"ClientId": "KafkaExampleConsumer#0",
"Message": "Start join group for new member namespace-name:c:$default:I:KafkaExampleConsumer#0-cc40856f7f3c4607915a571efe994e82, current group size: 0, API version: 2, session timeout: 10000ms, rebalance timeout: 300000ms.",
"SubscriptionId": "0000000-0000-0000-0000-000000000000",
"NamespaceName": "namespace-name",
"ResourceId": "/subscriptions/0000000-0000-0000-0000-000000000000/resourcegroups/testrg/providers/microsoft.eventhub/namespaces/namespace-name",
"Category": "KafkaCoordinatorLogs"
}
Kafka ユーザー エラー ログのスキーマ
Kafka ユーザー エラー ログの JSON には、次の表に示す要素が含まれます。
名前 | 説明 |
---|---|
TrackingId |
追跡 ID。トレース目的で使用されます。 |
NamespaceName |
名前空間名 |
Eventhub |
イベント ハブ名 |
PartitionId |
Partition ID |
GroupId |
グループ ID |
ClientId |
クライアント ID |
ResourceId |
Azure Resource Manager リソース ID。 |
Message |
情報メッセージ。エラーに関する詳細情報を提供します |
Event Hubs 仮想ネットワーク接続イベントのスキーマ
Event Hubs 仮想ネットワーク (VNet) 接続イベントの JSON には、次の表に示す要素が含まれます。
名前 | 説明 |
---|---|
SubscriptionId |
Azure サブスクリプション ID |
NamespaceName |
名前空間名 |
IPAddress |
Event Hubs サービスに接続しているクライアントの IP アドレス |
Action |
接続要求を評価するときに Event Hubs サービスによって実行されたアクション。 サポートされているアクションは、接続の受け入れと接続の拒否です。 |
Reason |
アクションが実行された理由を提供します |
Count |
指定されたアクションの発生回数 |
ResourceId |
Azure Resource Manager リソース ID。 |
仮想ネットワーク ログが生成されるのは、名前空間で選択されたネットワークから、または特定の IP アドレス (IP フィルター規則) からのアクセスが許可されている場合のみです。 これらの機能を使用して名前空間へのアクセスを制限することを望まず、Event Hubs 名前空間に接続しているクライアントの IP アドレスを追跡するために引き続き仮想ネットワーク ログを取得したい場合は、次の回避策を使用できます。 IP フィルター処理を有効にし、アドレス指定可能な IPv4 の範囲の合計 (1.0.0.0/1 - 255.0.0.0/1) を追加します。 Event Hubs の IP フィルターでは IPv6 範囲はサポートされていません。 ログには、IPv6 形式のプライベート エンドポイント アドレスが表示される場合があります。
例
{
"SubscriptionId": "0000000-0000-0000-0000-000000000000",
"NamespaceName": "namespace-name",
"IPAddress": "1.2.3.4",
"Action": "Deny Connection",
"Reason": "IPAddress doesn't belong to a subnet with Service Endpoint enabled.",
"Count": "65",
"ResourceId": "/subscriptions/0000000-0000-0000-0000-000000000000/resourcegroups/testrg/providers/microsoft.eventhub/namespaces/namespace-name",
"Category": "EventHubVNetConnectionEvent"
}
カスタマー マネージド キーのユーザー ログ スキーマ
カスタマー マネージド キーのユーザー ログの JSON には、次の表に示す要素が含まれます。
名前 | 説明 |
---|---|
Category |
メッセージのカテゴリの種類。 error と info のどちらかの値です。 たとえば、キー コンテナーのキーが無効になっている場合は、情報カテゴリになります。または、キーをラップ解除できない場合は、エラーが発生する可能性があります。 |
ResourceId |
内部リソース ID。Azure サブスクリプション ID と名前空間名が含まれます |
KeyVault |
Key Vault リソースの名前 |
Key |
Event Hubs 名前空間の暗号化に使用される Azure Key Vault キー名。 |
Version |
Azure Key Vault キーのバージョン。 |
Operation |
キー コンテナー内のキーに対して実行される操作。 たとえば、キーの無効化/有効化、ラップ、またはラップ解除。 |
Code |
操作に関連付けられたコード。 例:エラー コード 404 は、キーが見つからなかったことを示します。 |
Message |
メッセージ。エラーまたは情報メッセージに関する詳細情報を提供します |
カスタマー マネージド キーのログの例を次に示します。
{
"TaskName": "CustomerManagedKeyUserLog",
"ActivityId": "11111111-1111-1111-1111-111111111111",
"category": "error"
"resourceId": "/SUBSCRIPTIONS/11111111-1111-1111-1111-11111111111/RESOURCEGROUPS/DEFAULT-EVENTHUB-CENTRALUS/PROVIDERS/MICROSOFT.EVENTHUB/NAMESPACES/FBETTATI-OPERA-EVENTHUB",
"keyVault": "https://mykeyvault.vault-int.azure-int.net",
"key": "mykey",
"version": "1111111111111111111111111111111",
"operation": "wrapKey",
"code": "404",
"message": "Key not found: ehbyok0/111111111111111111111111111111",
}
{
"TaskName": "CustomerManagedKeyUserLog",
"ActivityId": "11111111111111-1111-1111-1111111111111",
"category": "info"
"resourceId": "/SUBSCRIPTIONS/111111111-1111-1111-1111-11111111111/RESOURCEGROUPS/DEFAULT-EVENTHUB-CENTRALUS/PROVIDERS/MICROSOFT.EVENTHUB/NAMESPACES/FBETTATI-OPERA-EVENTHUB",
"keyVault": "https://mykeyvault.vault-int.azure-int.net",
"key": "mykey",
"version": "111111111111111111111111111111",
"operation": "disable" | "restore",
"code": "",
"message": "",
}
BYOK 暗号化が有効になっている場合に調べる一般的なエラー コードを次に示します。
アクション | エラー コード | 結果のデータの状態 |
---|---|---|
キー コンテナーからラップ/ラップ解除のアクセス許可を削除する | 403 | Inaccessible |
ラップ/ラップ解除のアクセス許可を付与された AAD プリンシパルから AAD ロールのメンバーシップを削除する | 403 | Inaccessible |
キー コンテナーから暗号化キーを削除する | 404 | Inaccessible |
キー コンテナーを削除する | 404 | アクセス不可 (必須の設定である、論理的な削除が有効になっていることが前提) |
暗号化キーの有効期限を既に経過した期限に変更する | 403 | Inaccessible |
キー暗号化キーがアクティブでなくなるように NBF (期間の開始時刻) を変更する | 403 | Inaccessible |
キー コンテナー ファイアウォールに対して [Allow MSFT Services](MSFT サービスを許可する) オプションを選択するか、暗号化キーを使用しているキー コンテナーへのネットワーク アクセスをブロックする | 403 | Inaccessible |
キーコンテナーを別のテナントに移動する | 404 | Inaccessible |
断続的なネットワークの問題または DNS/AAD/MSI の停止 | キャッシュされたデータ暗号化キーを使用してアクセス可能 |
ランタイム監査ログ
ランタイム監査ログは、Event Hubs でのすべてのデータ プレーン アクセス操作 (送信や受信など) に関する集約された診断情報をキャプチャします。
Note
ランタイム監査ログは、Premium 層および専用の層でのみ使用できます。
ランタイム監査ログには、次の表に示す要素が含まれます。
名前 | 説明 |
---|---|
ActivityId |
監査アクティビティの一意性を保証するランダムに生成された UUID。 |
ActivityName |
ランタイム操作の名前。 |
ResourceId |
アクティビティに関連付けられているリソース。 |
Timestamp |
集計時間。 |
Status |
アクティビティの状態 (成功または失敗)。 |
Protocol |
操作に関連付けられているプロトコルの種類。 |
AuthType |
認証の種類 (Azure Active Directory または SAS ポリシー)。 |
AuthKey |
リソースへの認証に使用される Azure Active Directory アプリケーション ID または SAS ポリシー名。 |
NetworkType |
ネットワーク アクセスの種類: Public またはPrivate 。 |
ClientIP |
クライアント アプリケーションの IP アドレス。 |
Count |
1 分間の集計時間中に実行された操作の総数。 |
Properties |
データ プレーン操作に固有のメタデータ。 |
Category |
ログのカテゴリ |
ランタイム監査ログ エントリの例を次に示します。
{
"ActivityId": "<activity id>",
"ActivityName": "ConnectionOpen | Authorization | SendMessage | ReceiveMessage",
"ResourceId": "/SUBSCRIPTIONS/xxx/RESOURCEGROUPS/<Resource Group Name>/PROVIDERS/MICROSOFT.EVENTHUB/NAMESPACES/<Event Hubs namespace>/eventhubs/<event hub name>",
"Time": "1/1/2021 8:40:06 PM +00:00",
"Status": "Success | Failure",
"Protocol": "AMQP | KAFKA | HTTP | Web Sockets",
"AuthType": "SAS | Azure Active Directory",
"AuthId": "<AAD application name | SAS policy name>",
"NetworkType": "Public | Private",
"ClientIp": "x.x.x.x",
"Count": 1,
"Category": "RuntimeAuditLogs"
}
アプリケーション メトリック ログ
アプリケーション メトリック ログは、データ プレーン操作に関連する特定のメトリックに関する集計された情報をキャプチャします。 キャプチャされた情報には、次のランタイム メトリックが含まれます。
Note
アプリケーション メトリック ログは、Premium 層および専用の層でのみ使用できます。
名前 | 説明 |
---|---|
ConsumerLag |
コンシューマーとプロデューサーの間のラグを示します。 |
NamespaceActiveConnections |
クライアントからイベント ハブに確立されたアクティブな接続の詳細。 |
GetRuntimeInfo |
Event Hubs から実行時情報を取得します。 |
GetPartitionRuntimeInfo |
イベント ハブの論理パーティションのおおよそのランタイム情報を取得します。 |
IncomingMessages |
Event Hubs に発行されたメッセージの数の詳細。 |
IncomingBytes |
Event Hubs に送信されるパブリッシャー スループットの詳細 |
OutgoinMessages |
Event Hubs から使用されたメッセージの数の詳細。 |
OutgoingBytes |
Event Hubs からのコンシューマー スループットの詳細。 |
OffsetCommit |
イベント ハブに対して行われたオフセット コミット呼び出しの数。 |
OffsetFetch |
イベント ハブに対して行われたオフセット フェッチ呼び出しの数。 |
Azure Monitor ログ テーブル
Azure Event Hubs では、Azure Monitor ログの Kusto テーブルが使用されます。 これらのテーブルに対して Log Analytics を使用してクエリを実行できます。 サービスで使用される Kusto テーブルの一覧については、Azure Monitor ログ テーブルのリファレンスに関するページを参照してください。
重要
ディメンションは、Log Analytics ワークスペースにエクスポートされません。
次のステップ
- Azure Event Hubs の監視の詳細については、Azure Event Hubs の監視に関するページを参照してください。
- Azure リソースの監視の詳細については、「Azure Monitor を使用した Azure リソースの監視」を参照してください。