次の方法で共有


Log Analyticsを使用して Application Gateway ログを調べる

概要

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

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

[前提条件]

  • アクティブなサブスクリプションを持つAzure アカウントが必要です。 アカウントをまだ持っていない場合は、無料でアカウントを作成することができます。
  • Azure アプリケーション ゲートウェイ WAK SKU。 詳細については、Azure Application Gateway の Azure Web Application Firewall を参照してください。
  • Log Analytics ワークスペース。 Log Analytics ワークスペースの作成の詳細については、「Azure ポータルでLog Analytics ワークスペースを作成するを参照してください。

ログの送信

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

例でデータを調べる

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

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

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

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

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

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 のバックエンドの正常性、診断ログ、およびメトリック