Azure Monitor で Log Analytics エージェントを使用して IIS ログを収集する

インターネット インフォメーション サービス (IIS) では、Log Analytics エージェントが収集して Azure Monitor ログに格納できるログ ファイル内に、ユーザー アクティビティが格納されます。

Diagram that shows IIS logs.

重要

この記事では、2024 年 8 月までに廃止されるLog Analytics エージェントを使用した IIS ログの収集について説明します。 データの取り込みを続行するには、2024 年 8 月より前に必ず Azure Monitor エージェントに移行してください。 Azure Monitor エージェントを使用した IIS ログの収集の詳細については、Azure Monitor エージェントを使用したテキスト ログの収集 (プレビュー) に関するページを参照してください。

IIS ログを構成する

Azure Monitor は IIS によって作成されたログ ファイルからエントリを収集するため、ログを記録するように IIS を構成する必要があります。

Azure Monitor は W3C 形式で格納された IIS ログ ファイルのみをサポートし、カスタム フィールドや IIS 詳細ログはサポートしていません。 ログは NCSA または IIS のネイティブ形式では収集されません。

Azure Monitor の IIS ログは、Log Analytics エージェントの [エージェントの構成] メニューから構成します。 [W3C 形式の IIS ログ ファイルを収集する] を選択する以外の構成は必要ありません。

データ コレクション

Azure Monitor では、ログのタイムスタンプが変更されるたびに、各エージェントから IIS ログ エントリが収集されます。 ログは 5 分ごとに読み取られます。 何らかの理由で、新しいファイルの作成時に IIS でロールオーバー時間の前にタイムスタンプが更新されない場合、新しいファイルの作成後にエントリが収集されます。

新しいファイル作成の頻度は、IIS サイトの [ログ ファイルのロールオーバー スケジュール] 設定によって制御されます。 この設定の既定値は 1 日に 1 回です。 設定が [毎時] である場合、Azure Monitor では 1 時間ごとにログが収集されます。 設定が [毎日] である場合、Azure Monitor では 24 時間ごとにログが収集されます。

重要

[ログ ファイルのロールオーバー スケジュール][毎時] に設定することをお勧めします。 [毎日] に設定した場合、収集が 1 日に 1 回だけとなるため、データが急増することがあります。

IIS ログ レコードのプロパティ

IIS ログ レコードの型は W3CIISLog になり、次の表に示すプロパティがあります。

プロパティ 説明
Computer イベント収集元のコンピューターの名前。
cIP クライアントの IP アドレス。
csMethod GET や POST など、要求のメソッド。
csReferer 現在のサイトに到達するまでにユーザーがリンクをフォローした元のサイト
csUserAgent クライアントのブラウザーの種類。
csUserName サーバーにアクセスした認証されたユーザーの名前。 匿名ユーザーはハイフンで示されます。
csUriStem Web ページなど、要求のターゲット。
csUriQuery クライアントが実行を試行していたクエリ (存在する場合)
ManagementGroupName Operations Manager エージェントの管理グループの名前。 その他のエージェントの場合、この名前は AOI-<workspace ID> です。
RemoteIPCountry クライアントの IP アドレスの国や地域。
RemoteIPLatitude クライアントの IP アドレスの緯度。
RemoteIPLongitude クライアントの IP アドレスの経度。
scStatus HTTP 状態コード。
scSubStatus 副状態エラー コード。
scWin32Status Windows 状態コード。
sIP Web サーバーの IP アドレス。
SourceSystem OpsMgr。
sPort クライアントが接続されているサーバー上のポート。
sSiteName IIS サイトの名前。
TimeGenerated エントリがログに記録された日付と時刻。
TimeTaken 要求の処理にかかった時間 (ミリ秒)
csHost ホスト名。
csBytes サーバーが受信したバイト数。

IIS ログでのログ クエリ

次の表は、IIS ログ レコードを取得するログ クエリのさまざまな例をまとめたものです。

クエリ 説明
W3CIISLog IIS ログのすべてのレコード。
W3CIISLog | where scStatus==500 戻り状態が 500 であるすべての IIS ログ レコード。
W3CIISLog | summarize count() by cIP クライアントの IP アドレス別の IIS ログ エントリの数。
W3CIISLog | where csHost=="www.contoso.com" | summarize count() by csUriStem ホスト www.contoso.com の URL 別の IIS ログ エントリの数。
W3CIISLog | summarize sum(csBytes) by Computer | take 500000 各 IIS コンピューターによって受信された合計バイト数。

次のステップ

  • 分析のために他のデータ ソースを収集するように Azure Monitor を構成します。
  • ログ クエリについて学習し、データ ソースとソリューションから収集されたデータを分析します。