大橋のページ

Apacheメモ

Apacheの標準的なインストール
configureスクリプトのヘルプ
ログファイルの分析 wwwstat
ログファイルの分析 Web Statistics
ログファイルの分析 SiteServerExpress 1
ログファイルの分析 SiteServerExpress 2
potatoのインストールと運用
バーチャルホストの設定

Site Server Express3.0でApacheログの分析

SiteServerExpress3.0とは

WindowsNT用のServicePack4には、SiteServerExpressというWebサーバのログを分析するソフトが収録されています。SiteServerは、SP4の前に発表されたOptionPackで、バージョン2が収録されていましたが、このバージョン3ではFTPによるログの収集がサポートされているため、UNIXプラットフォーム上のApacheなどのログをGETして、分析の対象とすることができます。

SiteServer2.0は、ログの分析と配信、そしてパブリッシング機能を持っていて、上位にエンタープライズ版がありました。エンタープライズ版のMicrosoft SiteServer2.0 Enterprise Editionは、SiteServer2.0の機能に、Merchant Serverの後継のCommerce Server2.0を含めたもので、SiteServer自体は独立したソフトです。また、SiteServer Expressは、SiteServer2.0やEnterprise Editionが持っている分析機能とパブリッシング機能といった基本的な機能だけをサポートしていますが、機能縮小版といったものではなく、ひとつの独立したソフトと考えていいでしょう。SiteServerExpress3.0も同様で、コマース版のSiteServer3.0やCommerce Editionより機能は少ないもののじゅうぶん活用できるソフトです。

ここでは、SiteServerExpress3.0を使って、Linux上で動作しているApacheのログをFTPを使ってGETし、それを分析する方法について説明します。

SiteServerExpress3.0は、大きくふたつのソフトからなっていて、ひとつがログをデータベースに取り込む「Usage Import」、もうひとつがデータベースを分析してレポートにする「Report Writer」です。このふたつのソフトの役割は、どちらもデータベースを中心に考えればわかりやすいでしょう。

  • Usage Importを使ってFTPでログインし、ApacheのログをGETする
  • Report Writerを使って、データを分析する

という順番で作業します。

Usage Importを使ってFTPでログインする

スタートメニューの「SiteServerExpress3.0」メニューの「Usage Import」をクリックして起動します。

Usage Importが起動したら(インポートマネージャが起動しているかもしれません)、サーバーマネージャを起動して、まずApacheが動作しているLinuxサーバを登録します。「表示」メニューから「サーバーマネージャ」を選びます。

サーバマネージャのウィンドウが開きます。

「ログデータソース」をダブルクリックします。「ログデータソース」と「サーバー」、「サイト」が作られ、ツリー状に表示されます。

「ログデータソース」で右クリックし、メニューから「プロパティ」を選びます。

「ログデータソースプロパティ」ダイアログボックスが表示されます。ここでは、データベースに取り込むWebサーバのログの形式を設定します。

Apacheのログは、カスタマイズすることができますが、デフォルトでは次のようなものです。

192.168.1.10 - - [23/May/1999:04:02:41 +0900] "GET /~oohashi/work/inet/08nat/0
8nat.shtml HTTP/1.1" 200 26642

これは、

「クライアントのIPアドレス(またはFQDN)」「クライアントのユーザ名」「認証によるユーザ名」「時刻」「リクエスト」「ステータス(リクエストの結果)」「送信バイト数」

をそれぞれあらわしています。つまり、「192.168.1.10」というIPアドレスを持ったクライアントが、1999年5月23日の4時2分41秒に、「/~oohashi/work/inet/08nat/08nat.shtml」というファイルを「GET」しようとして、成功(200)し、そのときに送信したバイト数は「26642」バイトだったということをあらわしています。

Webサーバが記録するログの形式は、サーバごとに違っています。Apacheの場合、前身のNCSA httpdのログ形式を踏襲していて、SiteServerExpressでも「Microsoft IIS NCSA結合ログファイル形式」を選びます。

続いて、「サーバー」のプロパティを設定します。サーバマネージャの「サーバ」で右クリックしてメニューからプロパティを選びます。「サーバー プロパティ」ダイアログボックスが表示されます。

「サーバ−の種類」は「World Wide Web」に、「ディレクトリ インデックス ファイル」には、「index.htm」や「index.html」などファイル名を指定しない場合に読み込まれるデフォルトのファイル名を、「IPアドレス」にはサーバのIPアドレスを指定します。IPアドレスは、かならずしも指定しなければならないわけではありません。サーバ側が、1台のマシンでありながら複数のIPアドレスを割り当てている(マルチホーム)場合に、サーバを区別するために必要になります。「IPポート」はhttpdの標準の「80」のままとします。

「ローカルタイムゾーン」はそのままとし、「ローカルドメイン」に「hyperdyne.co.jp」のようなドメイン名を入力します。

続いて、「サイト」のプロパティを設定します。サーバマネージャの「サイト」で右クリックしてメニューからプロパティを選びます。「サイト プロパティ」ダイアログボックスが表示されます。

「基本設定」タブの「ホームページURL」欄に「http://www.hyperdyne.co.jp」のように分析の対象となるサイトのURLを入力します。

「除外」タブ側では、除外するホスト欄に「192.168.1*」や「*.hyperdyne.co.jp」のように、「*」をワイルドカードのようにして入力します。複数設定する場合は、半角スペースでそのまま続けます。

サーバ側に関する設定が終わったら、次はFTPでログインするための手順の設定です。「表示」メニューから「インポートマネージャ」を選んで、インポートマネージャを起動します。

「新規インポート」の「アクセス」から「ftp://」を選びます。

「参照」ボタンが「ログイン」ボタンに変わりますから、「ログイン」ボタンをクリックします。「FTP URL プロパティ」ダイアログボックスが表示されます。

「ホスト名」にWebサーバの名前などを順次入力していくわけですが、ここでは、Apacheが動作しているマシン「www.hyperdyne.co.jp」上でFTPサーバも動作していて、あだ名(CNAME)として「ftp.hyperdyne.co.jp」を持っているものとします。また、ユーザ「oohashi」として「ftp.hyperdyne.co.jp」にログインでき、そのホームディレクトリは「/home/oohashi/」、Apacheのログは「/var/log/httpd/」に作られるものとします。

「ホスト名」に「ftp.hyperdyne.co.jp」を、「ユーザー名」に「oohashi」を、「パスワード」にパスワードを、「ファイル名」に「/../../var/log/httpd/access_log」と入力します。ファイル名は、ホームディレクトリ「/home/oohashi/」にログインしてしまうため、いったん「/」までさかのぼって(/../../)から、Apacheのログのあるディレクトリにおりてくるような指定になっています。シンボリックリンクがホームディレクトリにはれるなら、それでももちろんかまいません。

「OK」ボタンをクリックするとインポートマネージャに戻ります。

「追加」ボタンをクリックします。リストにいま設定したものが表示されます。もしそのほかにも収集したいログがあれば、同じように登録していきます。登録がすんだら、「インポート」ボタンをクリックします。ログの取り込みが始まります。

取り込みが終わるとメッセージが表示されます。

あわせてインポートの結果も表示されます。

インポートマネージャのサーバーマネージャでは、それぞれのアイテムの名前を変えることができます。

データベースへのログの取り込みが終わったら、Usage Importを終了します。Usage Importを終了しないまま、Report Writerを起動すると取り込みが反映されていない場合があります。

著作権、商標等について (C) 1999 HyperDyne Inc.