Azure Application GatewayのアクセスログをLog Analyticsで確認する

 

今回はApplication GatewayのAccess LogをLog Analyticsで確認してみました。

Application GatewayのログをLog Analyticsに転送することにより、Log AnalyticsでAccess Logの内容を確認することが出来ました。

Log Analyticsへの転送設定はApplication Gatewayの診断設定で実施します。

今回は診断設定からLog Analyticsでのログ検索まで一連の流れを試してみました。

Application Gateway自体の作成はこちらに記載しております。

Azure Application Gatewayを構築してみた

Azure Front Doorでのログ確認も試してみました。併せて見て頂ければと。

フロントドアとWAFのログをLog Analyticsで確認

1.Application GatewayのAccess Logで確認できる内容

一般的なLogで取得されるような値は取得可能です。実際に以下の値を取得することができます。

項目名実際に取得される値 
TimeGenerated2019-07-14T10:36:57Z 
SourceSystemAzure 
clientIP_s66.XX.XX.XX 
httpMethod_sGET 
requestUri_s/ 
userAgent_sMozilla/5.0+(Windows+NT+10.0;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/75.0.3770.100+Safari/537.36 
httpStatus_d200 
host_swww.xxxx-xxxx.com 

2.Application Gateway からLog AnalyticsへのLog転送設定方法

Application Gateway のAccess Log取得設定は診断設定にて実施します。

アプリケーションゲートウェイのメニューで診断設定を選択します。そうすると下記画面が表示されますので、診断設定を追加する選択します。

診断設定の画面が表示されますので診断設定の名前を入力します。

次に転送するログを選択します。ApplicationGatewayAccessLogがアクセスログに該当します。なお、ApplicationGatewayFirewallLogはWAF利用時のログになります。

転送先のLogAnalyticsワークスペースを選択します。

保存すれば設定は完了です。

3.Application GatewayのAccess LogをLog Analyticsで確認してみた

では実際のアクセスログを確認してみましょう。アプリケーションゲートウェイのメニューでログという項目をクリックします。そうしますと、診断設定で指定したLog Analyticsワークスペースが表示されます。クエリ入力欄に入力する事でログ検索ができます。

※なお、診断設定から実際のログ収集開始までは5分~10分程度かかります。上記画面は設定直後の為、ログが見つかりませんという表記になっております。

実際にAccess Logを検索するには、下記クエリで実施します。(検索時間はデフォルトでは24時間になります。)

AzureDiagnostics
| where Category == “ApplicationGatewayAccessLog”

4.Application GatewayのAccess Logをアクセス元IP単位で集計する。

Log Analyticsを利用していますので、色々な集計が可能です。例えば下記のようにする事でアクセス元IPで集計することが可能です。

AzureDiagnostics
| where Category == “ApplicationGatewayAccessLog”
| summarize total_hits = count() by clientIP_s

今回は基本的な設定のみですが、色々加工ができそうです。今後色々試してみたい所です。