次の方法で共有


Log Analytics を使用して Application Gateway ログを確認する

Application Gateway が動作可能になったら、ログを有効にして、リソースで発生したイベントを検査できます。 たとえば、Application Gateway ファイアウォールのログでは、Web Application Firewall (WAF) が何を評価、照合、ブロックしているかを把握できます。 Log Analytics では、ファイアウォール ログ内のデータを調べて、さらに多くの分析情報を得ることができます。 ログ クエリについて詳しくは、「Azure Monitor のログ クエリの概要」をご覧ください。

この記事では、Web Application Firewall (WAF) のログについて説明します。 他の Application Gateway ログも同様の方法で設定できます。

前提条件

ログの送信

ファイアウォール ログを Log Analytics にエクスポートするには、「Application Gateway の診断ログ」を参照してください。 Log Analytics ワークスペース内にファイアウォールのログを取得したら、データの表示、クエリの記述、視覚エフェクトの作成、ポータルのダッシュボードへの追加を行うことができます。

例でデータを調べる

AzureDiagnostics テーブルを使用する場合、次のクエリを実行すると、ファイアウォール ログの生データを表示できます。

AzureDiagnostics 
| where ResourceProvider == "MICROSOFT.NETWORK" and Category == "ApplicationGatewayFirewallLog"
| limit 10

これは次のクエリのようになります。

Log Analytics クエリのスクリーンショット。

リソース固有のテーブルを使用する場合、次のクエリを実行すると、ファイアウォール ログ内の生データを表示できます。 リソース固有のテーブルの詳細については、監視データのリファレンスを参照してください。

AGWFirewallLogs
| limit 10

データにドリルダウンして、ここからグラフをプロットしたり、視覚エフェクトを作成したりできます。 使用できる AzureDiagnostics クエリの例をさらにいくつか示します。

IP ごとの一致/ブロック要求数

AzureDiagnostics
| where ResourceProvider == "MICROSOFT.NETWORK" and Category == "ApplicationGatewayFirewallLog"
| summarize count() by clientIp_s, bin(TimeGenerated, 1m)
| render timechart

URI ごとの一致/ブロック要求数

AzureDiagnostics
| where ResourceProvider == "MICROSOFT.NETWORK" and Category == "ApplicationGatewayFirewallLog"
| summarize count() by requestUri_s, bin(TimeGenerated, 1m)
| render timechart

上位の一致ルール

AzureDiagnostics
| where ResourceProvider == "MICROSOFT.NETWORK" and Category == "ApplicationGatewayFirewallLog"
| summarize count() by ruleId_s, bin(TimeGenerated, 1m)
| where count_ > 10
| render timechart

上位 5 つの一致ルール グループ

AzureDiagnostics
| where ResourceProvider == "MICROSOFT.NETWORK" and Category == "ApplicationGatewayFirewallLog"
| summarize Count=count() by details_file_s, action_s
| top 5 by Count desc
| render piechart

ダッシュボードに追加する

クエリを作成した後は、それをダッシュボードに追加できます。 Log Analytics ワークスペースの右上にある [ダッシュボードにピン留め] を選択します。 前の 4 つのクエリをサンプル ダッシュボードにピン留めすると、データをひとめで確認できるようになります。

Azure ダッシュボードのスクリーンショット。クエリを追加できます。

次のステップ

Application Gateway のバックエンドの正常性、診断ログ、およびメトリック