IIS4.0 で ODBC ログを利用する

SERVER


ODBC データベースの用意

ODBC で IIS 4.0 のアクセスログをとるにあたって、まずは ODBC を経由して操作できるデータベースが必要になります。

なお、Windows 2000 Professional の場合は ODBC によるログ収集が出来ないので注意してください。

 

ODBC が利用できるものには

  • Access
  • dBase
  • Excel
  • Paradox
  • Oracle
  • Text
  • SQL Server

といったものがあります。ほかにも ODBC に対応しているものもあります。

目的のデータベースを用意して ODBC データソースへ登録を行えば、データベースログをとるためのデータベースの準備が整ったことになります。

ODBC のデータソースへは、Windows 98/NT では、【 コントロールパネル 】 の中の 【 ODBC データソース 】 から登録することが出来ます。Windows 2000 では、【 管理ツール 】 の中の 【 データソース (ODBC) 】 で登録します。

システムデータソースへ登録すればいいのですが、データベースによって登録方法が変わってきてしまうので、各種データベースの登録方法は別の機会に改めて紹介したいと思います。

 

テーブルの作成

データベースの作成が終わったら、続いてログを格納するテーブルの作成を行います。

これもデータベースによって取り扱えるデータ形式が異なるので、適切なデータ形式に変更しないといけないのですが。

 

今回は Microsoft 社の SQL Server 7.0 を想定してみます。

ClientHost varchar(255)
Username varchar(255)
LogTime datetime
Service varchar(255)
Machine varchar(255)
ServerIP varchar(50)
ProcessingTime int
BytesRecvd int
BytesSent int
ServiceStatus int
Win32Status int
Operation varchar(255)
Target varchar(255)
Parameters varchar(255)

 

上記のとおりのテーブルを用意してください。

varchar というデータ型は ”可変長” データ型といって、後ろにつけられた数字の文字数までの文字列を保存することが出来ます。

datetim というデータ型は日付と時刻を保存することが出来ます。

int というデータ型は4バイトの符号付整数値を保存することが出来ます。

 

IIS の設定

インターネットサービスマネージャで、ODBC ログをとりたい Web サイトのプロパティを表示します。

[ Web サイト ] を選択して、下のほうにある 【ログ収集を有効にする】 にチェックを入れて、その下の 【アクティブ ログ形式】 のところで ”ODBC ログ” を選択します。

そして右にある 【 プロパティ 】 ボタンを押して詳細設定を行います。

 

ODBC データソース名

ODBC データソースで登録した名前を設定します。

 

テーブル

ログを記録するテーブルを作成した際に、そのテーブルにつけた名前を指定します。名前に空白や - などが含まれる場合には [ ] でくくります。

 

ユーザー名

ログを記録するテーブルにアクセスすることが出来るユーザの名前を指定します。

 

パスワード

上記で設定したユーザー名に対するパスワードを入力します。