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 |
カウント | 合計 (和) | Action 、 Category 、 Mode 、 CountryCode 、 PolicyName 、 PolicyScope |
PT1M | はい |
WAF カスタム ルールの一致数 一致するカスタム ルール |
AzwafCustomRule |
カウント | 合計 (和) | Action 、 CustomRuleID 、 Mode 、 CountryCode 、 PolicyName 、 PolicyScope |
PT1M | はい |
WAF JS チャレンジ要求数 WAF によって評価された JS チャレンジ要求の合計数 |
AzWAFJSChallengeRequestCount |
カウント | 合計 (和) | Action 、 PolicyName 、 Rule 、 PolicyScope |
PT1M | はい |
WAF マネージド ルールの一致数 一致するマネージド ルール |
AzwafSecRule |
カウント | 合計 (和) | Action 、 Mode 、 RuleGroupID 、 RuleID 、 CountryCode 、 PolicyName 、 PolicyScope 、 RuleSetName |
PT1M | はい |
WAF 合計要求数 WAF によって評価される要求の合計数 |
AzwafTotalRequests |
カウント | 合計 (和) | Action 、 CountryCode 、 Method 、 Mode 、 PolicyName 、 PolicyScope |
PT1M | はい |
バックエンド接続時間 バックエンド サーバーとの接続を確立するために費やされた時間 |
BackendConnectTime |
MilliSeconds | Average、Maximum | Listener 、 BackendServer 、 BackendPool 、 BackendHttpSetting |
PT1M | いいえ |
バックエンドの最初のバイト応答時間 バックエンド サーバーへの接続の確立を開始してから応答ヘッダーの最初のバイトを受信するまでの時間間隔であり、バックエンド サーバーのおおよその処理時間です。 |
BackendFirstByteResponseTime |
MilliSeconds | Average、Maximum | Listener 、 BackendServer 、 BackendPool 、 BackendHttpSetting |
PT1M | いいえ |
バックエンド最終バイト応答時間 バックエンド サーバーへの接続の確立を開始してから応答本文の最後のバイトを受信するまでの時間間隔です。 |
BackendLastByteResponseTime |
MilliSeconds | Average、Maximum | Listener 、 BackendServer 、 BackendPool 、 BackendHttpSetting |
PT1M | いいえ |
バックエンド応答の状態 バックエンド メンバーによって生成された HTTP 応答コードの数。 これには、Application Gateway によって生成された応答コードは含まれません。 |
BackendResponseStatus |
カウント | 合計 (和) | BackendServer 、 BackendPool 、 BackendHttpSetting 、 HttpStatusGroup |
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 のアクセス ログ | AzureDiagnostics 複数の Azure リソースからのログ。 |
いいえ | いいえ | クエリ | いいえ |
ApplicationGatewayFirewallLog |
Application Gateway のファイアウォール ログ | AzureDiagnostics 複数の Azure リソースからのログ。 |
いいえ | いいえ | クエリ | いいえ |
ApplicationGatewayPerformanceLog |
アプリケーション ゲートウェイのパフォーマンス ログ | AzureDiagnostics 複数の Azure リソースからのログ。 |
いいえ | いいえ | クエリ | いいえ |
アクセス ログ。 アクセス ログを使用して、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 の場合:
値 | 説明 |
---|---|
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) の場合:
値 | 説明 |
---|---|
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": "203.0.113.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=aaaa0000-bb11-2222-33cc-444444dddddd&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 日間保存されます。 これらのログの詳細については、「イベントとアクティビティ ログの表示」を参照してください。
関連するコンテンツ
- Application Gateway の監視の説明については、「Monitor Azure アプリlication Gateway」を参照してください。
- Azure リソースの監視の詳細については、「Azure Monitor で Azure リソースを監視する」を参照してください。