Azure Application Gateway データの監視のリファレンス

Azure Application Gateway の監視データの収集と分析の詳細については、Azure Application Gateway の監視に関するページを参照してください。

Application Gateway V2 のメトリック

リソース プロバイダーと種類: Microsoft.Network/applicationGateways

タイミングのメトリック

Application Gateway には、要求と応答に関連するいくつかのタイミング メトリックが組み込まれています。これらはすべて、ミリ秒単位で測定されます。

Note

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

メトリック ユニット 説明
バックエンド接続時間 Milliseconds バックエンド アプリケーションとの接続を確立するために費やされた時間です。

これには、ネットワーク待機時間と、バックエンド サーバーの TCP スタックで新しい接続を確立するために要した時間が含まれます。 TLS の場合、これにはハンドシェイクに費やされた時間も含まれます。
バックエンド先頭バイト応答時間 Milliseconds バックエンド サーバーへの接続の確立を開始してから応答ヘッダーの最初のバイトを受信するまでの時間間隔です。

これにより、Application Gateway からバックエンドへのアクセス要求にかかった時間、バックエンド アプリケーションが応答するまでの時間 (サーバーがコンテンツを生成し、その後データベース クエリをフェッチするためにかかった時間)、および応答の先頭バイトがバックエンドから Application Gateway に到着するまでにかかった時間の合計であるバックエンド接続時間を概算します。
バックエンド最終バイト応答時間 Milliseconds バックエンド サーバーへの接続の確立を開始してから応答本文の最後のバイトを受信するまでの時間間隔です。

これにより、バックエンド先頭バイト応答時間とデータ転送時間の合計が概算されます。 この数値は、要求されたオブジェクトのサイズとサーバー ネットワークの待機時間によって大きく異なる場合があります。
アプリケーション ゲートウェイの合計時間 Milliseconds 要求の受信、処理、および応答の送信にかかった平均時間。

これは、Application Gateway が HTTP 要求の最初のバイトを受信してから、最後の応答バイトがクライアントに送信されるまでの間隔です。 これには、Application Gateway によって行われた処理時間、バックエンド最終バイト応答時間、Application Gateway ですべての応答を送信するのにかかった時間、クライアント RTT が含まれます。
クライアント RTT Milliseconds クライアントと Application Gateway の間の平均ラウンドトリップ時間。

これらのメトリックを使用することで、観測された速度低下の原因が、クライアント ネットワーク、Application Gateway のパフォーマンス、バックエンド ネットワークとバックエンド サーバーの TCP スタックの飽和、バックエンド アプリケーションのパフォーマンス、または大きなファイル サイズの内どれかを判断できます。

たとえば、バックエンド先頭バイト応答時間に急増傾向が見られる一方、バックエンド接続時間が安定傾向を見せている場合、Application Gateway からバックエンドへの待機時間と、接続の確立にかかった時間が安定しており、急増はバックエンド アプリケーションの応答時間の増加が原因であると推測できます。 一方、バックエンド先頭バイト応答時間の急増がバックエンド接続時間に対応する急増に関連付けられている場合は、Application Gateway とバックエンドサーバーの間のネットワーク、またはバックエンド サーバーの TCP スタックが飽和状態になっていることが推測できます。

バックエンド最終バイト応答時間が急増しているにもかかわらず、バックエンド先頭バイト応答時間が安定している場合は、この急増は要求されているファイルが大きいことが原因であると推測できます。

同様に、Application Gateway の合計時間が急増しているにもかかわらず、バックエンド最終バイト応答時間が安定している場合は、Application Gateway でのパフォーマンスのボトルネック、またはクライアントと Application Gateway 間のネットワークのボトルネックのいずれかの兆候である場合があります。 さらに、クライアント RTT に対応する急増も見られる場合、この低下はクライアントと Application Gateway 間のネットワークが原因であることを示します。

Application Gateway メトリック

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

バックエンド メトリック

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

バックエンドの正常性 API

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

要求のサンプル: output POST https://management.azure.com/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Network/ applicationGateways/appgw/backendhealth?api-version=2021-08-01 After

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

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

Application Gateway の TLS/TCP プロキシのモニタリング

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

Application Gateway でレイヤー 4 プロキシ機能を利用できるようになったため、共通のメトリック (レイヤー 7 とレイヤー 4 の両方に適用) とレイヤー 4 固有のメトリックがあります。 次の表では、レイヤー 4 の使用に対して適用できるすべてのメトリックについて説明します。

メトリック 説明 Type Dimension
現在の接続数 アクティブな接続の数: 読み取り、書き込み、または待機。 Application Gateway で確立された現在の接続の数。 共通のメトリック なし
1 秒あたりの新しい接続数 該当する 1 分間において、1 秒あたりに処理された接続の平均数。 共通のメトリック なし
スループット 該当する 1 分間でのデータ フローの速度 (受信バイト数 + 送信バイト数)。 共通のメトリック なし
正常なホストの数 正常なバックエンド ホストの数。 共通のメトリック BackendSettingsPool
異常なホスト 異常なバックエンド ホストの数。 共通のメトリック BackendSettingsPool
ClientRTT クライアントと Application Gateway の間の平均ラウンドトリップ時間。 共通のメトリック リスナー
バックエンド接続時間 バックエンド サーバーとの接続を確立するために費やされた時間です。 共通のメトリック Listener、BackendServer、BackendPool、BackendSetting
バックエンド最初のバイト応答時間 バックエンド サーバーへの接続の確立を開始してからデータの最初のバイトを受信するまでの時間間隔 (バックエンド サーバーのおおよその処理時間)。 共通のメトリック Listener、BackendServer、BackendPool、BackendHttpSetting*
バックエンド セッション期間 バックエンド接続の合計時間。 新しい接続の開始から終了までの平均継続時間。 L4 固有 Listener、BackendServer、BackendPool、BackendHttpSetting*
接続の有効期間 アプリケーション ゲートウェイへのクライアント接続の合計時間。 新しい接続の開始から終了までの平均継続時間 (分単位)。 L4 固有 リスナー

* BackendHttpSetting ディメンションには、レイヤー 7 とレイヤー 4 の両方のバックエンド設定が含まれます。

TLS/TCP プロキシ ログ

Application Gateway のレイヤー 4 プロキシでは、アクセス ログを介してログ データを提供します。 これらのログが生成および発行されるのは、それらがゲートウェイの診断設定で構成されている場合に限られます。

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

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

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

Screenshot of backend health

Application Gateway V1 のメトリック

Application Gateway メトリック

メトリック ユニット 説明
CPU 使用率 パーセント Application Gateway に割り当てられた CPU 使用率を表示します。 通常の状況では、CPU 使用率が 90% を超えることは望ましくありません。これは Application Gateway の背後でホストされている Web サイトで待機時間が発生し、クライアント エクスペリエンスを乱す可能性があるためです。 インスタンス数を増やすか、SKU のサイズを大きくするか、またはその両方を行うことによって、Application Gateway の構成を変更し、CPU 使用率を間接的に制御または向上させることができます。
現在の接続数 Count Application Gateway で確立された現在の接続の数。
失敗した要求 Count 接続の問題が原因で失敗した要求の数。 この数には、"要求タイムアウト" HTTP 設定を超えたために失敗した要求と、Application Gateway とバックエンド間の接続に問題があるために失敗した要求が含まれます。 この数には、正常なバックエンドが使用できないために発生した失敗は含まれません。 バックエンドからの 4xx と 5xx の応答も、このメトリックの一部とは見なされません。
応答の状態 状態コード Application Gateway によって返される HTTP 応答の状態です。 応答状態コードの分布をさらに分類し、2xx、3xx、4xx、5xx のカテゴリで応答を表示できます。
スループット バイト/秒 Application Gateway で処理された 1 秒あたりのバイト数。
要求の合計数 Count Application Gateway が処理した成功した要求の数です。 要求の数をさらにフィルター処理することで、各々のまたは特定のバックエンド プール http 設定の組み合わせごとに数を表示できます。
Web アプリケーション ファイアウォールのブロックされた要求数 Count WAF によってブロックされた要求の数。
Web アプリケーション ファイアウォールのブロックされた要求の分布 Count WAF によってブロックされた要求の数をフィルター処理して、各々のまたは特定の WAF ルール グループまたは WAF ルール ID の組み合わせごとに数を表示します。
Web アプリケーション ファイアウォールの合計規則の分布 Count 特定の WAF ルール グループまたは WAF ルール ID の組み合わせごとに受信した要求の数。

詳細については、Azure Monitor でサポートされているすべてのプラットフォーム メトリックの一覧を参照してください。

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

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

Azure Application Gateway では、Azure Monitor の一部のメトリックのディメンションがサポートされています。 各メトリックには、そのメトリック専用のディメンションに関する説明が含まれています。

リソース ログ

このセクションでは、Azure Application Gateway 用に収集できるリソース ログの種類を示します。

Azure Monitorでサポートされているすべてのリソース ログのカテゴリの種類の一覧も参照してください。

Note

パフォーマンス ログは v1 SKU でのみ使用できます。 v2 SKU の場合、パフォーマンス データに関しては Application Gateway v2 メトリックをご利用ください。

詳細については、Application Gateway のバックエンドの正常性および診断ログに関するページを参照してください。

Application Gateway

リソース プロバイダーと種類: Microsoft.Network/applicationGateways

カテゴリ 表示名 情報
Activitylog アクティビティ ログ アクティビティ ログのエントリは既定で収集されます。 Azure アクティビティ ログ (以前の操作ログと監査ログ) を使用すると、Azure サブスクリプションに送信されるすべての操作とその操作の状態を表示できます。
ApplicationGatewayAccessLog アクセス ログ このログを使用して Application Gateway のアクセス パターンを表示し、重要な情報を分析できます。 これには、呼び出し元の IP アドレス、要求された URL、応答の待機時間、リターン コード、入出力バイトが含まれます。アクセス ログは 60 秒ごとに収集されます。 このログには、Application Gateway のインスタンスごとに 1 つのレコードが含まれます。 Application Gateway のインスタンスは、instanceId プロパティで識別されます。
ApplicationGatewayPerformanceLog パフォーマンス ログ このログを使用すると、Application Gateway のインスタンスの実行状況を確認できます。 このログでは、インスタンスごとのパフォーマンス情報 (処理された要求の総数、スループット (バイト単位)、失敗した要求の数、正常および異常なバックエンド インスタンスの数など) が取得されます。 パフォーマンス ログは 60 秒ごとに収集されます。 パフォーマンス ログは v1 SKU でのみ使用できます。 v2 SKU の場合、パフォーマンス データに関しては Application Gateway v2 メトリックをご利用ください。
ApplicationGatewayFirewallLog ファイアウォール ログ このログを使用すると、Web アプリケーション ファイアウォールが構成された Application Gateway の、検出モードまたは防止モードでログに記録された要求を表示することができます。 ファイアウォール ログは 60 秒ごとに収集されます。

Azure Monitor ログ テーブル

このセクションでは、Azure Application Gateway に関連し、Log Analytics によるクエリに使用できるすべての Azure Monitor ログの Kusto テーブルを参照します。

リソースの種類 メモ
Application Gateway AzureActivity、AzureDiagnostics、AzureMetrics を含みます

すべての Azure Monitor ログ/Log Analytics テーブルのリファレンスについては、Azure Monitor ログ テーブル リファレンスに関するページを参照してください。

診断テーブル

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

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 が有効になっているかどうか

参照