Azure Application Gatewayのログ内容、Log Analytics収集、検索方法(アクセスログ、WAFログ)
Azure Application Gateway(アプリケーションゲートウェイ)で取得可能なログの概要、出力内容、診断設定を使った収集方法および検索手順です。
Azure Application Gatewayのログは、診断設定を使用してLog Analyticsワークスペースやストレージアカウントなどのリソースに収集できます。
取得可能なログには、Application Gateway Access Log(アクセスログ)、Application Gateway Firewall Log(ファイアウォールログ)、AllMetrics(メトリック)があります。
今回は、Azure Application Gatewayで取得可能なログの概要、Log Analyticsへのログ収集設定手順、収集されたログの出力内容、KQL(Kusto Query Language)を利用したログ検索方法などを紹介しています。
また、ターゲットテーブル設定による違いについても確認しています。
Azure Application Gatewayのサービス概要からリソースの作成手順は、こちらで紹介しています。
※本記事内では、Azure Web Application FirewallをWAFとして表記しています。
Azure Application Gatewayのログ(概要、取得対象、取得設定手順、ターゲットテーブル)
取得できるログ
Azure Application Gatewayでは、アクセス関連のログやメトリックに関するログを取得できます。
WAFを構成している場合は、ファイアウォールに関するログも取得できます。
また、サブスクリプションで診断設定を行っている場合は、リソース操作に関するアクティビティログも取得できます。
Azure Application Gateway データの監視のリファレンス
ログ取得する場合は診断設定を使う
Azure Application Gatewayのログは、診断設定を使用してログを転送し取得します。
ログの転送先として、Log Analyticsワークスペース、ストレージアカウントやイベントハブなどが指定できます。
クエリを使用してログを検索する場合や、Azure Monitorでアラートを検知したい場合は、転送先としてLog Analyticsワークスペースを指定します。
長期間ログを保管したい場合などは、転送先としてストレージアカウントを指定します。
診断設定では、取得対象のログを選択できます。
今回は、転送先にLog Analyticsワークスペースを使用した場合の例を紹介しています。
なお、Log Analyticsワークスペースは、Azure Application Gatewayと同じリージョンのリソースを使用することが推奨されています。
| 診断設定を追加 | |
| 監視にある診断設定を選択します。 診断設定を追加するを選択します。 |
![]() |
|
診断設定の設定画面が表示されます。 今回は、ログのカテゴリはすべて選択し、転送先としてLog Analyticsワークスペースを指定しています。 |
![]() |
※設定完了後、ログ転送が開始されるまでに少し時間がかかる場合があります。
ターゲットテーブル設定って何?
診断設定時に指定する、ターゲットテーブルは、 Log Analytics に送るログの格納先テーブル形式を選ぶためのオプションです。
コレクション モード(Azure Monitor のリソース ログ)
-
- Azure Diagnostics
- 従来方式(旧方式)
- すべてのカテゴリーのリソースログが共通のテーブルに収集されます
- 多数のサービスが同じテーブル共有するため、クエリ性能、可読性が落ちます
- リソース固有(Resource-specific)
- 新方式
- カテゴリごとに用意された専用のテーブルに保存されます
- スキーマがわかりやすく、クエリ性能・可読性が向上します
- Azure Diagnostics
現時点では、リソース固有(Resource-specific)が推奨されており、デフォルトでもこの設定が選択されています。
診断設定を複数作成することで、AzureDiagnosticsとリソース固有(Resource-specific)の両方を併用して利用することも可能です。
Application Gateway Access Log(アクセスログ)およびApplication Gateway Firewall Log(ファイアウォールログ)
アクセスログには、Azure Application Gatewayを経由するアクセス(トラフィック)について、アクセス元のIPアドレス、リクエスト内容(URLやHostなど)、応答結果(HTTPステータスなど)が記録されます。
ファイアウォールログ(WAFログ)には、WAFがリクエストを検知または遮断したイベントが記録されます。
なお、Application Gateway Performance Logはv1 SKUのみでサポートされているため、説明を割愛しています。
また、診断設定でターゲットテーブルをAzureDiagnosticsにするか、リソース固有テーブルにするかによって、Log Analytics上で参照するテーブルが異なります。
そのため、ログの検索方法(クエリ)も変わります。
ターゲットテーブルにリソース固有を指定した場合は、以下の通りとなります。
| リソース固有 | |
| AGWAccessLogs | アプリケーションゲートウェイで処理された各リクエスト単位のトランザクションログです。 アクセス元のIPアドレス、要求されたURL、HTTPステータスコードなどの情報に加え、処理したリスナー、転送先のバックエンド、応答速度などが記録されています。 |
| AGWFirewallLogs | WAFがリクエストの検査結果を記録するセキュリティイベントログです。 WAFを検知モードまたは防御モードに設定した際に発生したイベントが記録されます。 例えば、WAFのルールによってブロックされた通信などが記録されます。 WAFを有効化した場合のみ出力されます。 |
|
AGWAccessLogsの場合 |
|
AGWFirewallLogsの場合![]() |
|
ターゲットテーブルにAzure Diagnosticsを指定した場合は以下の通りとなります。
出力される列名が、リソース固有の場合と異なります。
| Azure Diagnostics | |
| ApplicationGatewayAccessLog | アプリケーションゲートウェイで処理された各リクエスト単位のトランザクションログです。 アクセス元のIPアドレス、要求されたURL、HTTPステータスコードなどの情報に加え、処理したリスナー、転送先のバックエンド、応答速度などが記録されています。 |
| ApplicationGatewayFirewallLog | WAFがリクエストの検査結果を記録するセキュリティイベントログです。 WAFを検知モードまたは防御モードに設定した際に発生したイベントが記録されます。 例えば、WAFのルールによってブロックされた通信などが記録されます。 WAFを有効化した場合のみ出力されます。 |
|
ApplicationGatewayAccessLogの検索結果 |
|
ApplicationGatewayFirewallLogの検索結果
|
|
AllMetrics(メトリック)
Azure Application Gatewayで時系列に取得される情報が記録されます。
トラフィック状況やリソースの情報などが含まれます。
バックエンドの正常性や応答速度なども記録されるため、Azure Monitorのアラートルールなどにも活用できます。
なお、保管先のテーブル名はAzureMetricsと違う名前となっています。
そのため、クエリでログを検索する際にはAzureMetricsと指定します。
| All Metrics | |
| AllMetrics | 一定間隔で集計された時系列の監視データです。 トラフィック量、失敗リクエスト数、バックエンドの正常性や応答時間などを確認できます。 Capacity Unitsなど、リソース使用率に関する情報も確認できます。 |
|
AzureMetricsの検索結果 |
|
Activity Log(アクティビティログ)
アクティビティログの診断設定を利用することで、Azure Application Gatewayのリソース操作に関するログを確認できます。
アクティビティログには、設定変更などのリソース操作に関する情報が記録されます。
| Activity Log(アクティビティログ) | |
| AzureActivity | リソース操作などに関するログです。 設定変更内容などが記録されます。 |
|
AzureActivityの検索結果 |
|
—広告—
Application Gateway Access Log(アクセスログ)の出力内容や検索方法
Application Gateway Access Log(アクセスログ)の検索方法
Application Gateway Access Log(アクセスログ)の検索方法です。
ターゲットテーブルをAzureDiagnosticsか、リソース固有どちらを指定するかにより、Log Analytics上で参照するテーブルが異なります。
そのため、ログの検索方法(クエリ)が変わります。
ターゲットテーブルにリソース固有を指定した場合は、以下の通りとなります。
| アクセスログの検索方法 | |
| 監視にあるログを選択します。 AGWAccessLogsで検索を実行します。 ※画面例は簡易モードの場合です。 |
![]() |
|
|
![]() |
|
ターゲットテーブルにAzure Diagnosticsを指定した場合は以下の通りとなります。
Application Gateway Access Log(アクセスログ)の出力項目例
Application Gateway Access Log(アクセスログ)の出力項目です。
アクセス元のIPアドレス、要求されたURL、HTTPステータスコードなどの情報に加え、処理したリスナー、転送先のバックエンド、応答速度などが記録されています。
ターゲットテーブルをAzureDiagnosticsにするか、リソース固有にするかによって、出力項目名や出力内容が異なります。
-
- リソース固有の場合
- Azure Diagnosticsの場合
- 出力内容 : ApplicationGatewayAccessLog
- 出力項目名 : AzureDiagnostics テーブルの列
ターゲットテーブルにリソース固有を指定した場合の主な出力項目です。
| 項目名 | 取得値(例) | 説明 |
| TimeGenerated | 2026-01-17T04:55:35Z | アクセスログの生成時刻 |
| Host | www.tama-negi.com (203.0.113.XX) |
アクセス先のホスト名、もしくはフロントエンドIP アドレス |
| ListenerName | listener-01 | 受信したリスナー名 |
| ClientIp | 203.0.113.1 | アクセス元のIPアドレス |
| ServerRouted | 10.1.0.17:80 | 転送先のバックエンドサーバーとポート番号 ServerStatusの項目で、バックエンドサーバーのHTTPステータスコードも確認できます |
| RequestUri | / | 要求 URI(パス) |
| UserAgent | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36 | User-Agent 情報 |
| HttpMethod | GET | HTTP メソッド |
| HttpStatus | 304 | 応答の HTTP ステータスコード |
| TimeTaken | 0.002 | フロントエンド側の処理時間 |
| ServerResponseLatency | 0 | バックエンド側の応答時間 |
| RuleName | rule-01 | Application Gatewayのルール名 |
| BackendPoolName | backend-pool-01 | Application Gatewayのバックエンドプール名 |
| BackendSettingName | backend-01 | Application Gatewayのバックエンド設定名 |
![]() |
||
ターゲットテーブルにAzure Diagnosticsを指定した場合の主な出力項目です。
| 項目名 | 取得値(例) | 説明 |
| TimeGenerated | 202x/7/15 5:17:00.000 | アクセスログの生成時刻 |
| Category | ApplicationGatewayAccessLog | ログ種別 |
| Resource | AGW-01 | Application Gatewayのリソース名 |
| host_s | www.tama-negi.com (203.0.113.XX) |
アクセス先のホスト名、もしくはフロントエンドIP アドレス |
| listenerName_s | listener-01 | 受信したリスナー名 |
| clientIP_s | 203.0.113.1 | アクセス元のIPアドレス |
| serverRouted_s | 10.1.0.17:80 | 転送先のバックエンドサーバーとポート番号 serverStatus_sの項目で、バックエンドサーバーのHTTPステータスコードも確認できます |
| requestUri_s | / | 要求 URI(パス) |
| userAgent_s | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36 | User-Agent 情報 |
| httpMethod_s | GET | HTTP メソッド |
| httpStatus_d | 304 | 応答の HTTP ステータスコード |
| timeTaken_d | 0.002 | フロントエンド側の処理時間 |
| serverResponseLatency_s | 0 | バックエンド側の応答時間 |
| ruleName_s | rule-01 | Application Gatewayのルール名 |
| backendPoolName_s | backend-pool-01 | Application Gatewayのバックエンドプール名 |
| backendSettingName_s | backend-01 | Application Gatewayのバックエンド設定名 |
![]() |
||
※project句を利用して表示項目を抜粋しています。
時間範囲を指定して検索する方法
Log Analyticsワークスペースでログ検索する際、デフォルトの検索対象期間は過去24時間となります。
時間範囲を指定する場合は、ago関数を使用します。
クエリサンプルについては、公式サイトでも紹介されています。
Log Analytics を使用して Application Gateway ログを確認する
|
//ターゲットテーブルにリソース固有を指定した場合 //ターゲットテーブルにAzure Diagnosticsを指定した場合 |
時間範囲を指定する場合はbetween演算子を使用します。
また、extend関数を利用してタイムゾーンを調整した項目を追加できます。
例では。日本時間(UTC+9時間)を出力するために、localTimestampという項目を追加しています。
出力結果を日本時間(order by localTimestamp)で並び替えています。
|
//ターゲットテーブルにリソース固有を指定した場合 //ターゲットテーブルにAzure Diagnosticsを指定した場合 |
※Azure PortalでKQLクエリの実行結果を表示する場合、設定によってはTimeGeneratedの項目が日本時間で表示されることもあります。
アクセス元のIPアドレス単位でアクセス数を集計する方法
アクセス元のIPアドレスは、ClientIpまたはclientIP_sに含まれます。
count関数を使用することで、アクセス元のIPアドレスごとにアクセス数を集計できます。
|
//ターゲットテーブルにリソース固有を指定した場合 //ターゲットテーブルにAzure Diagnosticsを指定した場合 |
※AzureDiagnosticsかリソース固有のテーブルかによって、出力結果の内容が異なることがあります。
IPアドレスからロケーション情報を取得し国別アクセス集計と言った事もできます。
IPアドレスから国を識別する方法については、こちらで紹介しています。
要求URI単位でアクセス数を集計する方法
アクセスURIは、RequestUriまたはrequestUri_sに含まれます。
count関数を使用することで、各アクセスURIごとに集計できます。
|
//ターゲットテーブルにリソース固有を指定した場合 //ターゲットテーブルにAzure Diagnosticsを指定した場合 |
ログ検索の実行結果はCSV形式で出力できる
ログ検索の実行結果はCSV形式で出力できます。
| エクスポート方法 | |
| 共有にエクスポートの項目があります。 CSVなどの形式でログ検索結果をエクスポートできます。 |
![]() |
—広告—
Application Gateway Firewall Log(ファイアウォールログ)の出力内容や検索方法
Azure Application GatewayのWAF設定手順については、こちらで紹介しています。
Application Gateway Firewall Log(ファイアウォールログ)の検索方法
Application Gateway Firewall Log(ファイアウォールログ)の検索方法です。
ターゲットテーブルをAzureDiagnosticsか、リソース固有どちらを指定するかにより、Log Analytics上で参照するテーブルが異なります。
そのため、ログの検索方法(クエリ)が変わります。
ターゲットテーブルにリソース固有を指定した場合です。
| ファイアウォールログの検索方法 | |
| AGWFirewallLogsで検索を実行します。
※画面例は簡易モードの場合です。 |
![]() |
|
|
![]() |
|
ターゲットテーブルにAzure Diagnosticsを指定した場合です。
| ファイアウォールログの検索方法 | |
|
KQLモードに切り替えます。 ファイアウォールログはAzureDiagnosticsテーブルに含まれます。 |
![]() |
|
|
![]() |
|
※表示項目を抜粋しています。
Application Gateway Firewall Log(ファイアウォールログ)の出力項目例
Application Gateway Firewall Log(ファイアウォールログ)の出力項目です。
アクセス元のIPアドレス、要求されたURL、HTTPステータスコードなどの情報に加え、処理したリスナー、転送先のバックエンド、応答速度などが記録されています。
ターゲットテーブルをAzureDiagnosticsにするか、リソース固有にするかによって、出力項目名や出力内容が異なります。
-
- リソース固有の場合
- Azure Diagnosticsの場合
ターゲットテーブルにリソース固有を指定した場合の主な出力項目です。
| 項目名 | 取得値(例) | 説明 |
| TimeGenerated | 2026-01-17T09:04:26Z | ファイアウォールログの生成時刻 |
| Hostname | www.tama-negi.com (203.0.113.XX) |
アクセス先のホスト名、もしくはフロントエンドIP アドレス |
| ClientIp | 203.0.113.1 | アクセス元のIPアドレス |
| Action | Matched | WAF ルールに一致した際のアクション(判定結果) ブロックされた場合は Blocked と表示されます |
| RuleSetType | OWASP CRS | ルールセットの種類 カスタム ルールの場合は Custom と表示されます |
| RuleSetVersion | 3.2 | 適用されているルールセットのバージョン |
| RuleId | 920350 | イベントの原因となったWAFルールID カスタム ルールの場合はルール名が表示されます |
| Message | Host header is a numeric IP address | ルールの概要メッセージ |
| DetailedMessage | Pattern match ^[\d.:]+$ at REQUEST_HEADERS:host. | ルールの詳細メッセージ |
![]() |
||
ターゲットテーブルにAzure Diagnosticsを指定した場合の主な出力項目です。
| 項目名 | 取得値(例) | 説明 |
| TimeGenerated | 2026-01-17T09:04:57.731326Z | アクセスログの生成時刻 |
| Category | ApplicationGatewayFirewallLog | ログ種別 |
| Resource | AGW-01 | Application Gatewayのリソース名 |
| hostname_s | www.tama-negi.com (203.0.113.XX) |
アクセス先のホスト名、もしくはフロントエンドIP アドレス |
| clientIp_s | 203.0.113.1 | アクセス元のIPアドレス |
| action_s | Matched | WAF ルールに一致した際のアクション(判定結果) ブロックされた場合は Blocked と表示されます |
| ruleSetType_s | OWASP CRS | ルールセットの種類 カスタム ルールの場合は Custom と表示されます |
| ruleSetVersion_s | 3.2 | 適用されているルールセットのバージョン |
| ruleId_s | 920350 | イベントの原因となったWAFルールID カスタム ルールの場合はルール名が表示されます |
| Message | Host header is a numeric IP address | ルールの概要メッセージ |
| details_message_s | Pattern match ^[\d.:]+$ at REQUEST_HEADERS:host. | ルールの詳細メッセージ |
![]() |
||
※クエリ実行結果はproject句を利用して表示項目を抜粋しています。
—広告—
最後に
今回は、Azure Application Gatewayで取得できるログについて確認しました。
取得できるログの内容や、診断設定を利用してLog Analyticsでログを収集・検索する手順について紹介しています。
Application Gateway Access Log(アクセスログ)、Application Gateway Firewall Log(ファイアウォールログ)、AllMetrics(メトリック)など、取得可能なログの概要や出力項目についても紹介しています。
また、ターゲットテーブル設定によるログ取得内容の違いについても確認しています。
Log Analyticsワークスペースにログを収集することで、定期的にクエリを実行してレポートを送付することができます。
アクセスログには多くの情報が含まれており、収集することでアクセス分析やサイトのパフォーマンスのグラフ化が可能です。
引き続き、いろいろな機能を試していきたいと思います。
Azure Front Doorでのログ確認手順については、こちらで紹介しています。
Logic Appsを使ったLog Analyticsワークスペースのログ検索自動化方法については、こちらで紹介しています。




















