次の方法で共有


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

概要

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

この記事では、Web アプリケーション ファイアウォール (WAF) ログについて説明します。 他の Application Gateway ログも同様の方法で設定できます。

[前提条件]

ログの送信

ファイアウォール ログを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

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

クエリを作成したら、ダッシュボードに追加します。 ログ分析ワークスペースで [ダッシュボードにピン留めする] を選択します。 前の 4 つのクエリをダッシュボードの例にピン留めすると、次のデータが一目でわかります。

スクリーンショットは、クエリを追加できる Azure ダッシュボードを示しています。

次のステップ

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