こんにちは、インフラエンジニアのryuです。
今回の記事はWebAppのアクセスログを見る方法を解説します。アクセスログは、LogAnalyticsを使うと簡単に見ることができます。LogAnalyticsを使うことで、WebAppの見たいログだけ表示させることができます。とても便利です。WebAppアクセスログの表示方法を詳しく解説していきます。
目次
WebAppのアクセスログを見る方法は?
WebAppのアクセスログを見る方法は2種類あります。
- LogAnalyticsを使う → コマンドでログを表示
- ログストリームを使う → リアルタイムで見るアクセスログ
ログストリームは、リアルタイムでアクセスログを見るときに便利です。しかし、ログを垂れ流しのためアクセスが多いと一瞬で消えてしまいます。そのため、LogAnalyticsを使うと見たいログを表示させることができます。
LogAnalyticsとは?
LogAnalyticsとはログを収集して分析するためのサービスです。KQLという言語を使うことで、ログの検索をすることができます。KQLはSQLに似た言語なので、データベースを使ったことのある人ならば、すぐに使えると思います。
WebAppのアクセスログ以外にもその他のサービスのログを収集することができます。Azure以外のサーバーも収集可能なため、システムのログを一元管理することができます。
WebAppのアクセスログを出す設定方法
では、設定方法の解説をしていきます。
まず、WebAppの作成をしてください。すでに作ってある人は問題ありません。作り方が分からない人はこちらの記事を参考にしてください。
手順①.LogAnalyticsを作成する
作成方法は、WebAppとほとんど同じで、「LogAnalytics」と検索して、 「LogAnalyticsワークスペース」をクリックします。 そして、「+追加」をクリックして作成しましょう。各設定項目は特になんでも良いです。
手順②.診断設定で出力するログを決める
では、診断設定で出力するログの種類を決めます。まず、WebAppの左側の「監視」→「診断設定」をクリックします。そして、「+診断設定を追加する」をクリックします。
そして、ログの設定を行います。まず始めに「LogAnalyticsへ送信」にチェックを付けます。次に、出力できるログの設定で、一番上の「AppServiceHTTPLogs」にチェックを付けます。最後に「保存」を押して完了です。
手順③.Webサーバーログの出力をオンにする
「監視」→「App Service ログ」→ 「Webサーバーログ」のオフを変更します。そして、保存を押して完了です。リテンション期間はログの保存期間なので、自由に設定してください。
LogAnalyticsでWebAppのアクセスログを出力する
では、実際に収集したログを見てみましょう。
「LogAnalyticsワークスペース」→ 「ログ」をクリックします。そうするとKQLを入力できる画面に移動します。
そして、” AppServiceHTTPLogs”とクエリを入力します。「実行」を押すと、アクセスログが表示できます。
KQLでWebAppのログを検索する
LogAnalyticsでは、KQLと呼ばれる言語を使用してログを出力します。データベースのSQLに似ている感じです。
すべてのログを出力させる場合は以下のコマンドを入力します。
search "*"
また、条件を指定する場合は下記の通りです。
search "*" | where [条件文]
KQLの使い方については、こちらの記事で詳しく解説しているので興味のある方はご覧ください。
WebAppのアクセスログを見る方法まとめ
今回の記事はWebAppのアクセスログを見る方法を解説しました。
WebAppのアクセスログはLoganalyticsを使うと便利です。さらにKQLを使いこなせると、見たいログがすぐに見れるようになります。
LogAnalyticsを使いこなせるようになるとトラブルシューティングが捗るので、ぜひ使ってみてください。
Azureについてさらに勉強したい方はこちらの参考書をご覧ください。
Udemyの講座も分かりやすいのでオススメです。