Azure Monitor で Log Analytics エージェントを使用して IIS ログを収集する
インターネット インフォメーション サービス (IIS) では、Log Analytics エージェントが収集して Azure Monitor ログに格納できるログ ファイル内に、ユーザー アクティビティが格納されます。
重要
この記事では、2024 年 8 月 31 日に廃止される Log Analytics エージェントを使用した IIS ログの収集について説明します。 Azure Monitor にデータを取り込むために Log Analytics エージェントを使用する場合は、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 コンピューターによって受信された合計バイト数。 |