Azure アプリlication Gateway 監視データ リファレンス

この記事には、このサービスに関するすべての監視リファレンス情報が含まれています。

Application Gateway 用に収集できるデータとその使用方法の詳細については、「Monitor Azure アプリlication Gateway」を参照してください。

メトリック

このセクションには、このサービスに関して自動的に収集されるすべてのプラットフォーム メトリックが一覧表示されています。 これらのメトリックは、Azure Monitor でサポートされているすべてのプラットフォーム メトリックのグローバル リストにも含まれています。

メトリックのリテンション期間の詳細については、「Azure Monitor メトリックの概要」を参照してください。

Microsoft.Network/applicationGateways でサポートされているメトリック

次の表に、Microsoft.Network/applicationGateways リソースの種類で使用できるすべてのメトリックを示します。 多くのメトリックの詳細については、この表の後に記載されています。

  • すべての列がすべてのテーブルに存在するわけではない場合があります。
  • 一部の列がページの表示領域を超えている場合があります。 [テーブルの展開] を選択すると、使用可能なすべての列が表示されます。

テーブルの見出し

  • カテゴリ - メトリック グループまたは分類。
  • メトリック - Azure Portal に表示されるメトリックの表示名。
  • REST API の名前 - REST API で参照されるメトリック名。
  • 単位 - 測定単位。
  • 集計 - 既定の集計の種類。 有効な値: 平均 (Avg)、最小 (Min)、最大 (Max)、合計 (Sum)、数。
  • ディメンション - メトリックで使用できるディメンション
  • 時間グレイン - メトリックをサンプリングする間隔。 たとえば、PT1M は、メトリックを 1 分ごとに、PT30Mは 30 分ごとに、PT1H は 1 時間ごとにサンプリングすることを示します。
  • DS エクスポート - メトリックが診断設定を介して Azure Monitor ログにエクスポート可能かどうかを示します。 メトリックのエクスポートについては、「Azure Monitor で診断設定を作成する」を参照してください。
メトリック REST API での名前 出荷単位 集計 Dimensions 期間粒度 DS エクスポート
Azure Application Gateway の合計時間

要求が処理されその応答が送信されるのにかかった時間。 これは、Application Gateway が HTTP 要求の最初のバイトを受信してから、応答の送信操作が完了するまでの間隔です。 これには、通常、Application Gateway の処理時間、要求パケットと応答パケットがネットワーク経由で移動する時間、およびバックエンド サーバーが応答するまでの時間が含まれていることに注意することが重要です。
ApplicationGatewayTotalTime MilliSeconds Average、Maximum Listener PT1M いいえ
正常なホストごとの 1 分あたりの要求

プール内の正常なバックエンド ホストごとの 1 分あたりの平均要求数
AvgRequestCountPerHealthyHost Count Average BackendSettingsPool PT1M いいえ
WAF ボット保護の一致数

一致するボット ルール
AzwafBotProtection カウント 合計 (合計) ActionCategoryModeCountryCodePolicyNamePolicyScope PT1M はい
WAF カスタム ルールの一致数

一致するカスタム ルール
AzwafCustomRule カウント 合計 (合計) ActionCustomRuleIDModeCountryCodePolicyNamePolicyScope PT1M はい
WAF JS チャレンジ要求数

WAF によって評価された JS チャレンジ要求の合計数
AzWAFJSChallengeRequestCount カウント 合計 (合計) ActionPolicyNameRulePolicyScope PT1M はい
WAF マネージド ルールの一致数

一致するマネージド ルール
AzwafSecRule カウント 合計 (合計) ActionModeRuleGroupIDRuleIDCountryCodePolicyNamePolicyScopeRuleSetName PT1M はい
WAF 合計要求数

WAF によって評価される要求の合計数
AzwafTotalRequests カウント 合計 (合計) ActionCountryCodeMethodModePolicyNamePolicyScope PT1M はい
バックエンド接続時間

バックエンド サーバーとの接続を確立するために費やされた時間
BackendConnectTime MilliSeconds Average、Maximum ListenerBackendServerBackendPoolBackendHttpSetting PT1M いいえ
バックエンドの最初のバイト応答時間

バックエンド サーバーへの接続の確立を開始してから応答ヘッダーの最初のバイトを受信するまでの時間間隔であり、バックエンド サーバーのおおよその処理時間です。
BackendFirstByteResponseTime MilliSeconds Average、Maximum ListenerBackendServerBackendPoolBackendHttpSetting PT1M いいえ
バックエンド最終バイト応答時間

バックエンド サーバーへの接続の確立を開始してから応答本文の最後のバイトを受信するまでの時間間隔です。
BackendLastByteResponseTime MilliSeconds Average、Maximum ListenerBackendServerBackendPoolBackendHttpSetting PT1M いいえ
バックエンド応答の状態

バックエンド メンバーによって生成された HTTP 応答コードの数。 これには、Application Gateway によって生成された応答コードは含まれません。
BackendResponseStatus カウント 合計 (合計) BackendServerBackendPoolBackendHttpSettingHttpStatusGroup PT1M はい
Web アプリケーション ファイアウォールのブロックされた要求ルールの配布

Web アプリケーション ファイアウォールのブロックされた要求の規則配布
BlockedCount カウント 合計 (合計) RuleGroup, RuleId PT1M はい
受信バイト数

クライアントから Application Gateway に送信されたバイトの合計数です
BytesReceived バイト 合計 (合計) Listener PT1M はい
送信バイト数

Application Gateway からクライアントに送信されたバイトの合計数です
BytesSent バイト 合計 (合計) Listener PT1M はい
現在の容量ユニット数

使用された容量ユニット
CapacityUnits Count Average <なし> PT1M いいえ
クライアント RTT

クライアントと Application Gateway の間のラウンドトリップ時間。 このメトリックは、接続が確立され、受信確認が返されるまでにかかる時間を示します
ClientRtt MilliSeconds Average、Maximum Listener PT1M いいえ
現在のコンピューティング ユニット

消費されたコンピューティング ユニット
ComputeUnits Count Average <なし> PT1M いいえ
CPU 使用率

Application Gateway の現在の CPU 使用率
CpuUtilization Percent Average <なし> PT1M いいえ
現在の接続数

Application Gateway で確立された現在の接続の数
CurrentConnections カウント 合計 (合計) <なし> PT1M はい
推定課金対象容量ユニット数

課金される推定容量ユニット
EstimatedBilledCapacityUnits Count Average <なし> PT1M いいえ
失敗した要求

Application Gateway が処理した失敗した要求の数
FailedRequests カウント 合計 (合計) BackendSettingsPool PT1M はい
固定請求可能容量ユニット

課金される最小容量ユニット
FixedBillableCapacityUnits Count Average <なし> PT1M いいえ
正常なホストの数

正常なバックエンド ホストの数
HealthyHostCount Count Average BackendSettingsPool PT1M はい
Web アプリケーション ファイアウォールの合計規則の分布

受信トラフィックに対する Web アプリケーション ファイアウォールの合計規則配布
MatchedCount カウント 合計 (合計) RuleGroup, RuleId PT1M はい
1 秒あたりの新しい接続数

Application Gateway で確立された 1 秒あたりの新しい接続数
NewConnectionsPerSecond CountPerSecond Average <なし> PT1M いいえ
応答の状態

Application Gateway によって返された HTTP 応答の状態
ResponseStatus カウント 合計 (合計) HttpStatusGroup PT1M はい
スループット

Application Gateway が処理した 1 秒あたりのバイト数
Throughput BytesPerSecond Average <なし> PT1M いいえ
クライアント TLS プロトコル

Application Gateway との接続を確立したクライアントによって開始された TLS 要求と非 TLS 要求の数です。 TLS プロトコルの分布を表示するには、ディメンションの TLS プロトコルでフィルター処理します。
TlsProtocol カウント 合計 (合計) Listener, TlsProtocol PT1M はい
要求の合計数

Application Gateway が処理した成功した要求の数
TotalRequests カウント 合計 (合計) BackendSettingsPool PT1M はい
異常なホストの数

異常なバックエンド ホストの数
UnhealthyHostCount Count Average BackendSettingsPool PT1M はい

使用可能な Web アプリケーション ファイアウォール (WAF) メトリックについては、「Application Gateway WAF v2 のメトリック」と「Application Gateway WAF v1 のメトリック」を参照してください。

Application Gateway v2 SKU のタイミング メトリック

Application Gateway v2 SKU には、要求と応答に関連する多くの組み込みのタイミング メトリックが用意されています。これらはすべてミリ秒単位で測定されます。 前の metrics テーブルに既に示されているタイミング メトリックの説明を次に示します。

  • バックエンド接続時間。 この値には、ネットワーク待機時間と、バックエンド サーバーの TCP スタックが新しい接続を確立するためにかかった時間が含まれます。 TLS の場合、これにはハンドシェイクに費やされた時間も含まれます。
  • バックエンドの最初のバイト応答時間。 この値は、 Backend 接続時間、Application Gateway からバックエンドに到達するために要求が要した時間、バックエンド アプリケーションが応答するために要した時間 (コンテンツの生成とデータベース クエリのフェッチにかかる時間)、およびバックエンドから Application Gateway に到達するまでの応答の最初のバイトの時間を概算します。
  • バックエンドの最後のバイト応答時間。 この値は、バックエンドの最初のバイト応答時間とデータ転送時間の合計を概算します。 この数は、要求されたオブジェクトのサイズとサーバー ネットワークの待機時間によって大きく異なります。
  • アプリケーション ゲートウェイの合計時間。 この間隔は、Application Gateway から HTTP 要求の最初のバイトを受信してから、最後の応答バイトがクライアントに送信された時刻までの時間です。
  • クライアント RTT。 クライアントと Application Gateway の間の平均ラウンドトリップ時間。

Application Gateway v2 SKU のメトリック

Application Gateway v2 SKU の場合、次のメトリックを使用できます。 前の metrics テーブルに既に一覧表示されているメトリックの説明を次に示します。

  • 受信したバイト数。 このメトリックは、Application Gateway によって観察された要求コンテンツ サイズのみを考慮します。 TLS ヘッダー ネゴシエーション、TCP/IP パケット ヘッダー、再送信などのデータ転送は含まれません。
  • 送信バイト数。 このメトリックは、Application Gateway によって提供される応答コンテンツ サイズのみを考慮します。 TCP/IP パケット ヘッダーや再送信などのデータ転送は含まれません。
  • クライアント TLS プロトコル。 TLS 要求と TLS 以外の要求の数。
  • 現在の容量ユニット。 容量ユニットには、コンピューティング ユニット、永続的な接続、スループットの 3 つの決定要因があります。 各容量ユニットは、最大 1 つのコンピューティング ユニット、または 2500 の永続的な接続、または 2.22 Mbps スループットで構成されます。
  • 現在のコンピューティング ユニット。 コンピューティング ユニットに影響する要因は、1 秒あたりの TLS 接続数、URL 書き換え計算、WAF ルールの処理です。
  • 現在の接続。 クライアントから Application Gateway に対してアクティブになっているコンカレント接続の合計数。
  • 推定請求容量ユニット。 v2 SKU では、従量課金によって価格モデルが促進されます。 容量ユニットでは、固定費に追加して課金される使用量ベースの費用が測定されます。 *推定課金対象容量ユニット数は、課金が推定される使用中の容量ユニットの数を示します。 この量は、 現在の容量ユニット (トラフィックの負荷分散に必要な容量ユニット) と 課金対象容量ユニット (プロビジョニングされた最小容量ユニット) の間の大きな値として計算されます。
  • 失敗した要求。 この値には、Application Gateway から生成される 5xx コードと、バックエンドから生成される 5xx コードが含まれます。 要求の数をさらにフィルター処理することで、各々のまたは特定のバックエンド プール http 設定の組み合わせごとに数を表示できます。
  • 課金対象容量ユニットを修正しました。 Application Gateway 構成の Minimum スケール ユニット 設定に従ってプロビジョニングされた容量ユニットの最小数。 1 つのインスタンスが 10 の容量ユニットに変換されます。
  • 1 秒あたりの新しい接続数。 クライアントから Application Gateway、および Application Gateway からバックエンド メンバーに対して確立される、1 秒あたりの新しい TCP 接続の平均数。
  • 応答の状態。 応答状態コードの分布をさらに分類し、2xx、3xx、4xx、5xx のカテゴリで応答を表示できます。
  • スループット。 このメトリックは、Application Gateway によって提供されるコンテンツ サイズのみを考慮します。 TLS ヘッダー ネゴシエーション、TCP/IP パケット ヘッダー、再送信などのデータ転送は含まれません。
  • 要求の合計数。 Application Gateway が処理した要求が成功しました。 要求数をフィルター処理して、各/特定のバックエンド プールと http 設定の組み合わせごとのカウントを表示できます。

Application Gateway v2 SKU のバックエンド メトリック

Application Gateway v2 SKU の場合、次のバックエンド メトリックを使用できます。 前の metrics テーブルに既に一覧表示されているバックエンド メトリックの説明を次に示します。

  • バックエンド応答の状態。 バックエンドによって返される HTTP 応答状態コードの数。Application Gateway によって生成された応答コードは含まれません。 応答状態コードの分布を分類して、2xx、3xx、4xx、および 5xx カテゴリの応答を表示できます。|
  • 正常なホスト数。 正常性プローブによって正常と判断されたホストの数。 バックエンド プールごとにフィルター処理を行って、特定のバックエンド プールの正常なホストの数を表示できます。
  • 異常なホスト数。 正常性プローブによって異常と判断されたホストの数。 バックエンド プールごとにフィルター処理を行って、特定のバックエンド プールの異常なホストの数を表示できます。
  • 正常なホストごとの 1 分あたりの要求数。 バックエンド プール内の正常なメンバーが 1 分間に受信した要求の平均数です。 BackendPool HttpSettings ディメンションを使用してバックエンド プールを指定します。

Application Gateway v1 SKU のメトリック

Application Gateway v1 SKU の場合、次のメトリックを使用できます。 前の metrics テーブルに既に一覧表示されているメトリックの説明を次に示します。

  • CPU 使用率。 Application Gateway に割り当てられた CPU の使用率を表示します。 通常の条件下では、CPU 使用率が定期的に 90% を超えないようにする必要があります。この状況では、Application Gateway の背後でホストされている Web サイトの待機時間が発生し、クライアント エクスペリエンスが中断される可能性があるためです。 インスタンス数を増やすか、SKU のサイズを大きくするか、またはその両方を行うことによって、Application Gateway の構成を変更し、CPU 使用率を間接的に制御または向上させることができます。

  • 現在の接続。 Application Gateway で確立された現在の接続の数。

  • 失敗した要求。 接続の問題が原因で失敗した要求の数。 この数には、"要求タイムアウト" HTTP 設定を超えたために失敗した要求と、アプリケーション ゲートウェイとバックエンド間の接続に問題があるために失敗した要求が含まれます。 この数には、正常なバックエンドが使用できないために発生した失敗は含まれません。 バックエンドからの 4xx と 5xx の応答も、このメトリックの一部とは見なされません。

  • 応答の状態。 Application Gateway によって返される HTTP 応答の状態です。 応答状態コードの分布をさらに分類し、2xx、3xx、4xx、5xx のカテゴリで応答を表示できます。

  • スループット。 Application Gateway が提供した 1 秒あたりのバイト数。

  • 要求の合計数。 Application Gateway が処理した成功した要求の数です。 要求の数をさらにフィルター処理することで、各々のまたは特定のバックエンド プール http 設定の組み合わせごとに数を表示できます。

Application Gateway v1 SKU のバックエンド メトリック

Application Gateway v1 SKU の場合、次のバックエンド メトリックを使用できます。 前の metrics テーブルに既に一覧表示されているバックエンド メトリックの説明を次に示します。

  • 正常なホスト数。 正常性プローブによって正常であると判定されたバックエンドの数です。 バックエンド プールごとにフィルター処理を行って、特定のバックエンド プールの正常なホストの数を表示できます。

  • 異常なホスト数。 正常性プローブによって異常であると判定されたバックエンドの数です。 バックエンド プールごとにフィルター処理を行って、特定のバックエンド プールの異常なホストの数を表示できます。

バックエンドの正常性 API

アプリケーション ゲートウェイのバックエンド正常性を取得する API 呼び出しの詳細については、「Application Gateway - バックエンドの正常性」を参照してください。

サンプル要求:

POST
https://management.azure.com/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Network/
applicationGateways/appgw/backendhealth?api-version=2021-08-01

この POST 要求を送信すると、HTTP 202 Accepted 応答が表示されます。 応答ヘッダーで Location ヘッダーを見つけ、その URL を使用して新しい GET 要求を送信します。

GET
https://management.azure.com/subscriptions/subid/providers/Microsoft.Network/locations/region-name/operationResults/GUID?api-version=2021-08-01

TLS/TCP プロキシのメトリック

Application Gateway では、TLS/TCP プロキシの監視がサポートされています。 Application Gateway でレイヤー 4 プロキシ機能を使用できるようになったため、レイヤー 7 とレイヤー 4 の両方に適用される一般的なメトリックがいくつかあります。 レイヤー 4 固有のメトリックがいくつかあります。 次の一覧は、レイヤー 4 の使用に適用可能なメトリックをまとめたものです。

  • 現在の接続数
  • 1 秒あたりの新しい接続数
  • スループット
  • 正常なホストの数
  • 異常なホストの数
  • クライアント RTT
  • バックエンド接続時間
  • バックエンドの最初のバイト応答時間。 BackendHttpSetting ディメンションには、レイヤー 7 とレイヤー 4 の両方のバックエンド設定が含まれています。

詳細については、前の説明と metrics テーブルを参照してください。

これらのメトリックはレイヤー 4 にのみ適用されます。

  • バックエンド セッション期間。 バックエンド接続の合計時間。 新しい接続の開始から終了までの平均継続時間。 BackendHttpSetting ディメンションには、レイヤー 7 とレイヤー 4 の両方のバックエンド設定が含まれています。
  • 接続の有効期間。 アプリケーション ゲートウェイへのクライアント接続の合計時間。 新しい接続の開始から終了までの平均継続時間 (分単位)。

TLS/TCP プロキシ バックエンドの正常性

Application Gateway のレイヤー 4 プロキシは、ポータルと REST API を使用してバックエンド プールの個々のメンバーの正常性を監視する機能を提供します。

バックエンド プールの個々のメンバーの正常性を示すスクリーンショット。

メトリック ディメンション

メトリック ディメンションについては、「多次元メトリック」を参照してください。

このサービスでは、次のディメンションがそのメトリックに関連付けられています。

  • アクション
  • BackendHttpSetting
  • BackendPool
  • BackendServer
  • BackendSettingsPool
  • カテゴリ
  • CountryCode
  • CustomRuleID
  • HttpStatusGroup
  • リスナー
  • メソッド
  • モード
  • PolicyName
  • PolicyScope
  • RuleGroup
  • RuleGroupID
  • 規則 ID
  • RuleSetName
  • TlsProtocol

Note

Application Gateway に複数のリスナーがある場合は、意味のある推論を得るために、異なる待機時間メトリックを比較しながら、常に "リスナー" ディメンションでフィルター処理します。

リソース ログ

このセクションでは、このサービス用に収集できるリソース ログの種類を一覧表示します。 このセクションでは、Azure Monitor でサポートされているすべてのリソース ログ カテゴリの種類のリストからプルされます。

Microsoft.Network/applicationGateways でサポートされているリソース ログ カテゴリ

カテゴリ カテゴリの表示名 ログ テーブル 基本ログ プランをサポート インジェスト時間変換をサポート クエリの例 エクスポートするコスト
ApplicationGatewayAccessLog Application Gateway のアクセス ログ AGWAccessLogs

Application Gateway のアクセス パターンを表示し、重要な情報を分析するためのすべてのログが含まれています。 これには、呼び出し元の IP、要求された URL、応答の待機時間、リターン コード、入出力バイトが含まれます。

はい いいえ いいえ
ApplicationGatewayFirewallLog Application Gateway のファイアウォール ログ AGWFirewallLogs

Web アプリケーション ファイアウォールで構成されているアプリケーション ゲートウェイの検出モードまたは防止モードを使用してログに記録された要求を表示するすべてのログが含まれます。

はい いいえ いいえ
ApplicationGatewayPerformanceLog アプリケーション ゲートウェイのパフォーマンス ログ AGWPerformanceLogs

Application Gateway インスタンスのパフォーマンスを表示するすべてのログが含まれています。 このログは、各インスタンスのパフォーマンス情報をキャプチャします。これには、合計要求数、スループット (バイト単位)、提供された要求の合計数、失敗した要求数、正常で異常なバックエンド インスタンス数が含まれます。パフォーマンス ログは、v1 SKU でのみ使用できます。

はい いいえ いいえ
  • アクセス ログ。 アクセス ログを使用して、Application Gateway のアクセス パターンを表示し、重要な情報を分析できます。 この情報には、呼び出し元の IP、要求された URL、応答の待機時間、リターン コード、入出力バイトが含まれます。アクセス ログは 60 秒ごとに収集されます。 このログには、Application Gateway のインスタンスごとに 1 つのレコードが含まれます。 instanceId プロパティは、Application Gateway インスタンスを識別します。

  • ファイアウォール ログ。 ファイアウォール ログを使用すると、Web アプリケーション ファイアウォールで構成されているアプリケーション ゲートウェイの検出モードまたは防止モードを使用してログに記録された要求を表示できます。 ファイアウォール ログは 60 秒ごとに収集されます。

  • パフォーマンス ログ。 パフォーマンス ログを使用して、Application Gateway インスタンスのパフォーマンスを表示できます。 このログでは、インスタンスごとのパフォーマンス情報 (処理された要求の総数、スループット (バイト単位)、失敗した要求の数、正常および異常なバックエンド インスタンスの数など) が取得されます。 パフォーマンス ログは 60 秒ごとに収集されます。

    Note

    パフォーマンス ログは v1 SKU でのみ使用できます。 v2 SKU の場合は、パフォーマンス データにメトリックを使用します。

アクセス ログ カテゴリ

アクセス ログは、各 Application Gateway インスタンスで有効にした場合にのみ生成されます 。詳細については、「 有効なログ記録。 データは、ログ記録を有効にしたときに指定したストレージ アカウントに格納されます。 Application Gateway の各アクセスは、次のように JSON 形式でログに記録されます。

Note

TLS/TCP プロキシに関する情報については、「データ リファレンス」を参照してください。

Application Gateway と WAF v2 SKU の場合:

Value 説明
instanceId 要求を処理した Application Gateway のインスタンス。
clientIP Application Gateway の直接のクライアントの IP。 別のプロキシがアプリケーション ゲートウェイの前に置いている場合、この値はそのフロントエンド プロキシの IP を表示します。
httpMethod 要求で使用される HTTP メソッド。
requestUri 受信した要求の URI。
UserAgent HTTP 要求ヘッダーからのユーザー エージェント。
httpStatus Application Gateway からクライアントに返される HTTP 状態コード。
httpVersion 要求の HTTP バージョン。
receivedBytes 受信したパケットのサイズ (バイト単位)。
sentBytes 送信したパケットのサイズ (バイト単位)。
clientResponseTime アプリケーション ゲートウェイからクライアントに送信された、最初のバイトと最後のバイトの間の時間差 (秒単位)。 応答または低速なクライアントに対する Application Gateway の処理時間を測定するのに役立ちます。
timeTaken クライアント要求の最初のバイトが処理され、その最後のバイトがクライアントへの応答で送信されるためにかかる時間の長さ (単位)。 通常、timeTaken フィールドには、要求パケットと応答パケットがネットワーク経由で移動する時間が含まれています。
WAFEvaluationTime 要求が WAF によって処理されるためにかかる時間の長さ (単位)。
WAFMode 値には、検出または防止のいずれかを指定できます。
transactionId クライアントから受信した要求を関連付ける一意の識別子。
sslEnabled バックエンド プールへの通信に TLS を使用したかどうか。 有効な値は on と off です。
sslCipher TLS 通信に使用されている暗号スイート (TLS が有効な場合)。
sslProtocol 使用されている SSL または TLS プロトコル (TLS が有効な場合)。
sslClientVerify クライアント証明書の検証の結果を SUCCESS または FAILED として表示します。 失敗した状態には、エラー情報が含まれます。
sslClientCertificateFingerprint 確立された TLS 接続用のクライアント証明書の SHA1 サムプリント。
sslClientCertificateIssuerName 確立された TLS 接続用のクライアント証明書の発行者の DN 文字列。
serverRouted アプリケーション ゲートウェイから要求がルーティングされる先のバックエンド サーバー。
serverStatus バックエンド サーバーの HTTP 状態コード。
serverResponseLatency バックエンド サーバーからの応答の待機時間 (単位)。
host 要求のホスト ヘッダーに表示されているアドレス。 ヘッダーの書き換えを使用して書き換えられた場合、このフィールドには更新されたホスト名が含まれます。
originalRequestUriWithArgs このフィールドには、元の要求 URL が含まれています。
requestUri このフィールドには、Application Gateway での書き換え操作後の URL が含まれます。
upstreamSourcePort バックエンド ターゲットへの接続を開始するときに Application Gateway によって使用されるソース ポート。
originalHost このフィールドには、元の要求ホスト名が含まれています。
error_info 4xx および 5xx エラーの理由。 失敗した要求のエラー コードを表示します。 詳細については、この記事のエラー コード テーブルを参照してください。
contentType アプリケーション ゲートウェイによって処理または配信されるコンテンツまたはデータの種類。
{
    "timeStamp": "2021-10-14T22:17:11+00:00",
    "resourceId": "/SUBSCRIPTIONS/{subscriptionId}/RESOURCEGROUPS/{resourceGroupName}/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/{applicationGatewayName}",
    "listenerName": "HTTP-Listener",
    "ruleName": "Storage-Static-Rule",
    "backendPoolName": "StaticStorageAccount",
    "backendSettingName": "StorageStatic-HTTPS-Setting",
    "operationName": "ApplicationGatewayAccess",
    "category": "ApplicationGatewayAccessLog",
    "properties": {
        "instanceId": "appgw_2",
        "clientIP": "185.42.129.24",
        "clientPort": 45057,
        "httpMethod": "GET",
        "originalRequestUriWithArgs": "\/",
        "requestUri": "\/",
        "requestQuery": "",
        "userAgent": "Mozilla\/5.0 (Windows NT 6.1; WOW64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/52.0.2743.116 Safari\/537.36",
        "httpStatus": 200,
        "httpVersion": "HTTP\/1.1",
        "receivedBytes": 184,
        "sentBytes": 466,
        "clientResponseTime": 0,
        "timeTaken": 0.034,
        "WAFEvaluationTime": "0.000",
        "WAFMode": "Detection",
        "transactionId": "592d1649f75a8d480a3c4dc6a975309d",
        "sslEnabled": "on",
        "sslCipher": "ECDHE-RSA-AES256-GCM-SHA384",
        "sslProtocol": "TLSv1.2",
        "sslClientVerify": "NONE",
        "sslClientCertificateFingerprint": "",
        "sslClientCertificateIssuerName": "",
        "serverRouted": "52.239.221.65:443",
        "serverStatus": "200",
        "serverResponseLatency": "0.028",
        "upstreamSourcePort": "21564",
        "originalHost": "20.110.30.194",
        "host": "20.110.30.194",
        "error_info":"ERRORINFO_NO_ERROR",
        "contentType":"application/json"
    }
}

Note

clientIP 値 127.0.0.1 のアクセス ログは、アプリケーション ゲートウェイ インスタンスで実行されている内部セキュリティ プロセスから発生します。 これらのログ エントリは無視してかまいません。

Application Gateway Standard SKU と WAF SKU (v1) の場合:

Value 説明
instanceId 要求を処理した Application Gateway のインスタンス。
clientIP 要求の送信元 IP。
clientPort 要求の送信元ポート。
httpMethod 要求で使用される HTTP メソッド。
requestUri 受信した要求の URI。
RequestQuery Server-Routed: 要求が送信されたバックエンド プールのインスタンス。
X-AzureApplicationGateway-LOG-ID: 要求に使用される関連付け ID。 バックエンド サーバー上のトラフィックの問題をトラブルシューティングするために使用できます。
SERVER-STATUS: Application Gateway でバックエンドから受信した HTTP 応答コード。
UserAgent HTTP 要求ヘッダーからのユーザー エージェント。
httpStatus Application Gateway からクライアントに返される HTTP 状態コード。
httpVersion 要求の HTTP バージョン。
receivedBytes 受信したパケットのサイズ (バイト単位)。
sentBytes 送信したパケットのサイズ (バイト単位)。
timeTaken 要求の処理および応答の送信にかかった時間 (ミリ秒単位)。 この値は、Application Gateway が HTTP 要求の最初のバイトを受信してから応答送信操作が完了するまでの間隔として計算されます。 通常、timeTaken フィールドには、要求パケットと応答パケットがネットワーク経由で移動する時間が含まれています。
sslEnabled バックエンド プールへの通信に TLS または SSL を使用したかどうか。 有効な値は on と off です。
host 要求がバックエンド サーバーに送信された対象のホスト名。 バックエンドのホスト名が上書きされている場合、この名前にそれが反映されます。
originalHost Application Gateway でクライアントから要求を受信した対象のホスト名。
{
    "resourceId": "/SUBSCRIPTIONS/{subscriptionId}/RESOURCEGROUPS/PEERINGTEST/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/{applicationGatewayName}",
    "operationName": "ApplicationGatewayAccess",
    "time": "2017-04-26T19:27:38Z",
    "category": "ApplicationGatewayAccessLog",
    "properties": {
        "instanceId": "ApplicationGatewayRole_IN_0",
        "clientIP": "191.96.249.97",
        "clientPort": 46886,
        "httpMethod": "GET",
        "requestUri": "/phpmyadmin/scripts/setup.php",
        "requestQuery": "X-AzureApplicationGateway-CACHE-HIT=0&SERVER-ROUTED=10.4.0.4&X-AzureApplicationGateway-LOG-ID=874f1f0f-6807-41c9-b7bc-f3cfa74aa0b1&SERVER-STATUS=404",
        "userAgent": "-",
        "httpStatus": 404,
        "httpVersion": "HTTP/1.0",
        "receivedBytes": 65,
        "sentBytes": 553,
        "timeTaken": 205,
        "sslEnabled": "off",
        "host": "www.contoso.com",
        "originalHost": "www.contoso.com"
    }
}

Application Gateway で要求を完了できない場合は、アクセス ログの error_info フィールドに次のいずれかの理由コードが保存されます。

4XX エラー 4xx エラー コードは、クライアントの要求に問題があり、Application Gateway がそれを満たできないことを示しています。
ERRORINFO_INVALID_METHOD クライアントは、RFC に準拠していない要求を送信しました。 考えられる理由: HTTP メソッドを使用するクライアントがサーバーでサポートされていない、メソッドのスペルが間違っている、HTTP プロトコルのバージョンに互換性がないなどです。
ERRORINFO_INVALID_REQUEST 構文が正しくないため、サーバーでは要求を処理できません。
ERRORINFO_INVALID_VERSION Application Gateway で、無効であるかサポートされていない HTTP バージョンの要求を受信しました。
ERRORINFO_INVALID_09_METHOD クライアントによって、HTTP プロトコル バージョン 0.9 で要求が送信されました。
ERRORINFO_INVALID_HOST "Host" ヘッダーに指定された値が欠けているか、正しく書式設定されていないか、期待されるホスト値と一致しません。 たとえば、Basic リスナーがなく、マルチサイト リスナーのホスト名がホストと一致しない場合などです。
ERRORINFO_INVALID_CONTENT_LENGTH content-Length ヘッダーでクライアントによって指定されたコンテンツの長さが、要求内のコンテンツの実際の長さと一致しません。
ERRORINFO_INVALID_METHOD_TRACE クライアントが HTTP TRACE メソッドを送信しました。このメソッドは、アプリケーション ゲートウェイではサポートされていません。
ERRORINFO_CLIENT_CLOSED_REQUEST クライアントは、アイドル タイムアウト期間が経過する前に、アプリケーション ゲートウェイとの接続を閉じました。 クライアントのタイムアウト期間が、アプリケーション ゲートウェイのアイドル タイムアウト期間より長いかどうかを確認します。
ERRORINFO_REQUEST_URI_INVALID クライアントの要求で指定される Uniform Resource Identifier (URI) に関する問題を示します。
ERRORINFO_HTTP_NO_HOST_HEADER クライアントによってホスト ヘッダーなしで要求が送信されました。
ERRORINFO_HTTP_TO_HTTPS_PORT クライアントによって HTTPS ポートにプレーン HTTP 要求が送信されました。
ERRORINFO_HTTPS_NO_CERT 相互 TLS 認証中に、適切に構成された有効な TLS 証明書がクライアントから送信されていないことを示します。
5XX エラー 説明
ERRORINFO_UPSTREAM_NO_LIVE アプリケーション ゲートウェイは、受信要求を処理するアクティブまたは到達可能なバックエンド サーバーを見つけることができません。
ERRORINFO_UPSTREAM_CLOSED_CONNECTION バックエンド サーバーで、予期せず、または要求が完全に処理される前に接続を閉じました。 この状態は、バックエンド サーバーが制限に達したこと、クラッシュしたことが原因で発生する可能性があります。
ERRORINFO_UPSTREAM_TIMED_OUT サーバーとの確立された TCP 接続は、構成されたタイムアウト値よりも長くかかったので閉じられました。

ファイアウォール ログ カテゴリ

ファイアウォール ログは、アプリケーション ゲートウェイごとに有効にした場合にのみ生成されます。詳細については、「 有効なログ記録。 このログを使用するには、Application Gateway で Web アプリケーション ファイアウォールを構成する必要もあります。 データは、ログ記録を有効にしたときに指定したストレージ アカウントに格納されます。 次のデータがログに記録されます。

説明
instanceId ファイアウォール データを生成中の Application Gateway のインスタンス。 複数インスタンスの Application Gateway の場合、インスタンスごとに 1 行が使用されます。
clientIp 要求の送信元 IP。
clientPort 要求の送信元ポート。
requestUri 受信した要求の URL。
ruleSetType ルール セットの種類。 使用できる値は OWASP です。
ruleSetVersion 使用されるルール セットのバージョン。 使用できる値は 2.2.9 と 3.0 です。
ruleId トリガーするイベントのルール ID。
message トリガーするイベントのわかりやすいメッセージ。 詳細は details セクションに示されます。
action 要求に対して実行されるアクション。 使用可能な値は、ブロックと許可 (カスタム ルールの場合)、一致 (ルールが要求の一部と一致する場合)、および [検出] と [ブロック] です (これらの値は、WAF が検出モードか防止モードであるかに応じて、両方とも必須ルール用です)。
サービス拠点 ログの生成対象のサイト。 ルールがグローバルであるため、現時点では Global のみ表示されます。
details トリガーするイベントの詳細。
details.message ルールの説明。
details.data 要求で見つかった、ルールに一致するデータ。
details.file ルールが含まれている構成ファイル。
details.line イベントをトリガーした、構成ファイル内の行番号。
hostname Application Gateway のホスト名または IP アドレス。
transactionId 特定のトランザクションの一意の ID。同じ要求内で発生した複数の規則違反をグループ化するのに役立ちます。
{
    "timeStamp": "2021-10-14T22:17:11+00:00",
    "resourceId": "/SUBSCRIPTIONS/{subscriptionId}/RESOURCEGROUPS/{resourceGroupName}/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/{applicationGatewayName}",
    "operationName": "ApplicationGatewayFirewall",
    "category": "ApplicationGatewayFirewallLog",
    "properties": {
        "instanceId": "appgw_2",
        "clientIp": "185.42.129.24",
        "clientPort": "",
        "requestUri": "\/",
        "ruleSetType": "OWASP_CRS",
        "ruleSetVersion": "3.0.0",
        "ruleId": "920350",
        "message": "Host header is a numeric IP address",
        "action": "Matched",
        "site": "Global",
        "details": {
            "message": "Warning. Pattern match \\\"^[\\\\d.:]+$\\\" at REQUEST_HEADERS:Host .... ",
            "data": "20.110.30.194:80",
            "file": "rules\/REQUEST-920-PROTOCOL-ENFORCEMENT.conf",
            "line": "791"
        },
        "hostname": "20.110.30.194:80",
        "transactionId": "592d1649f75a8d480a3c4dc6a975309d",
        "policyId": "default",
        "policyScope": "Global",
        "policyScopeName": "Global"
    }
}

パフォーマンス ログ カテゴリ

パフォーマンス ログは、各 Application Gateway インスタンスで有効にした場合にのみ生成されます 。詳細については、「 有効なログ記録。 データは、ログ記録を有効にしたときに指定したストレージ アカウントに格納されます。 パフォーマンス ログ データは、1 分間隔で生成されます。 これは v1 SKU でのみ使用できます。 v2 SKU の場合は、パフォーマンス データにメトリックを使用します。 次のデータがログに記録されます。

説明
instanceId パフォーマンス データを生成中の Application Gateway のインスタンス。 複数インスタンスの Application Gateway の場合、インスタンスごとに 1 行が使用されます。
healthyHostCount バックエンド プール内の正常なホストの数。
unHealthyHostCount バックエンド プール内の異常なホストの数。
requestCount 処理された要求の数。
latency インスタンスから要求を処理するバックエンドへの要求の平均待機時間 (ミリ秒単位)。
failedRequestCount 失敗した要求の数。
throughput 最後のログ以降の平均スループット (1 秒あたりのバイト数)。
{
    "resourceId": "/SUBSCRIPTIONS/{subscriptionId}/RESOURCEGROUPS/{resourceGroupName}/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/{applicationGatewayName}",
    "operationName": "ApplicationGatewayPerformance",
    "time": "2016-04-09T00:00:00Z",
    "category": "ApplicationGatewayPerformanceLog",
    "properties":
    {
        "instanceId":"ApplicationGatewayRole_IN_1",
        "healthyHostCount":"4",
        "unHealthyHostCount":"0",
        "requestCount":"185",
        "latency":"0",
        "failedRequestCount":"0",
        "throughput":"119427"
    }
}

Note

待機時間は、HTTP 要求の最初のバイトが受信されたときから、HTTP 応答の最後のバイトが送信されたときまでで計算されます。 これは、Application Gateway の処理時間、バックエンドへのネットワーク コスト、およびバックエンドが要求の処理に要した時間を加えたものです。

Azure Monitor ログと Log Analytics テーブル

Azure Application Gateway では、Azure Diagnostics テーブルを使用してリソース ログ情報を格納します。 関係する列を次に示します。

プロパティ 説明
requestUri_s クライアント要求の URI。
メッセージ "SQL インジェクション攻撃" などの情報メッセージ
userAgent_s クライアント要求のユーザー エージェントの詳細
ruleName_s この要求を処理するために使用される要求ルーティング規則
httpMethod_s クライアント要求の HTTP メソッド
instanceId_s クライアント要求が評価のためにルーティングされる Appgw インスタンス
httpVersion_s クライアント要求の HTTP バージョン
clientIP_s 要求が行われた IP
host_s クライアント要求のホスト ヘッダー
requestQuery_s クライアント要求に含まれているクエリ文字列
sslEnabled_s クライアント要求で SSL が有効になっているかどうか

Azure Monitor ログ テーブル

このセクションでは、Kusto クエリを使用した Log Analytics によるクエリに使用できる、このサービスに関連するすべての Azure Monitor ログ テーブルを一覧表示します。 テーブルにはリソース ログ データが含まれており、収集されルーティングされる内容によっては、さらに多くのデータが含まれる場合があります。

Application Gateway Microsoft.Network/applicationGateways

TLS/TCP プロキシ ログ

Application Gateway のレイヤー 4 プロキシは、アクセス ログを介してログ データを提供します。 これらのログは、ゲートウェイの診断設定で構成されている場合にのみ生成され、発行されます。 「Azure Monitor リソース ログでサポートされているカテゴリ」も参照してください。

Note

TLS リスナーに関する相互認証の詳細情報を含んだ列にアクセスできる場所は、現時点では AzureDiagnostics テーブルのみです。

カテゴリ リソース ログのカテゴリ
ResourceGroup アプリケーション ゲートウェイ リソースが属するリソース グループ。
SubscriptionId アプリケーション ゲートウェイ リソースのサブスクリプション ID。
ResourceProvider この値は MICROSOFT です。アプリケーション ゲートウェイ用のネットワーク。
リソース アプリケーション ゲートウェイ リソースの名前。
ResourceType この値は APPLICATIONGATEWAYS です。
ruleName 接続要求を処理したルーティング規則の名前。
instanceId 要求を処理した Application Gateway のインスタンス。
clientIP 要求の送信元 IP。
receivedBytes 受信された、クライアントからゲートウェイへのデータ (バイト単位)。
sentBytes ゲートウェイからクライアントに送信されたデータ (バイト単位)。
listenerName クライアントとのフロントエンド接続を確立したリスナーの名前。
backendSettingName バックエンド接続に使用されたバックエンド設定の名前。
backendPoolName バックエンド接続を確立するためのターゲット サーバーを選択したバックエンド プールの名前。
protocol TCP (TCP または TLS に関係なく、プロトコル値は常に TCP です)。
sessionTime セッションの期間 (秒単位) (この値は client->appgw セッション用です)。
upstreamSentBytes バックエンド サーバーに送信されたデータ (バイト単位)。
upstreamReceivedBytes バックエンド サーバーから受信したデータ (バイト単位)。
upstreamSessionTime セッション期間 (秒単位)。 この値は appgw->backend セッション用です)。
sslCipher TLS 通信に使用されている暗号スイート (TLS プロトコル リスナーの場合)。
sslProtocol 使用されている SSL/TLS プロトコル (TLS プロトコル リスナーの場合)。
serverRouted トラフィックのルーティング先とされたバックエンド サーバーの IP とポート番号。
serverStatus 200 - セッションが正常に完了しました。 400 - クライアント データを解析できませんでした。 500 - 内部サーバー エラーです。 502 - ゲートウェイが無効です。 たとえば、アップストリーム サーバーに到達できなかった場合などです。 503 - サービスが利用できません。 たとえば、アクセスが接続数によって制限されている場合です。
ResourceId Application Gateway リソース URI。

アクティビティ ログ

リンクされたテーブルには、このサービスのアクティビティ ログに記録できる操作が一覧表示されます。 これらの操作は、アクティビティ ログで使用可能なすべてのリソース プロバイダー操作のサブセットです。

アクティビティ ログ エントリのスキーマの詳細については、「アクティビティ ログのスキーマ」を参照してください。

Azure アクティビティ ログ を使用すると、Azure サブスクリプションに送信されるすべての操作とその状態を表示できます。 アクティビティ ログのエントリは既定で収集されます。 それを Azure Portal で確認することができます。 Azure アクティビティ ログは、以前は operational ログ および audit ログと呼ばれるものでした。

Azure では、既定でアクティビティ ログが生成されます。 ログは、Azure のイベント ログ ストアに 90 日間保存されます。 これらのログの詳細については、「イベントとアクティビティ ログの表示」を参照してください。