現在Debian(sarge)にApache1.3.33をインストールしてWebサーバーを運営しております。

現在バーチャルホストで80近いサイトが稼動しているのですが、この各サイトの転送量を調べる方法はありませんでしょうか?
なお、ログファイルはホストごとに作成せず、デフォルトの状態(/var/log/apache以下)のままです。また、これを変更したくありません。

よろしくお願い致します。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2005/01/29 17:21:23
  • 終了:--

回答(1件)

id:tks_period No.1

tks_period回答回数4ベストアンサー獲得回数02005/02/02 21:14:55

ポイント60pt

もしアクセスログの形式やカスタマイズ方法をご存じでない場合、ログ形式から書いているととても長くなってしまうので、まず一つめのリンクを参照してください。

以下、ログ中の転送量を示す部分やバーチャルホストを指すフォーマット引数 %v などは理解してくださっているという前程で話を進めたいと思います。

私が Debian をきちんと解っておらず、状況がはっきりと解らないため、幾つか場合分けをして答えます。

(1) ログは一つのファイル(access_logなど)、ログ形式はデフォルト(common や combined など)

ログ中のどの行がどのバーチャルホストを指すのか全く解らないためどうしようもありません。

Request URI がバーチャルホストごとに特徴的ならばそこから切り分ける事も出来無い訳ではないですが、80ともなるとおそらく難しいと思います。

(2) ログは一つのファイル、ログ形式はカスタマイズされている(%v を使用している)

%v の値からログの切り分けが可能なため、カスタマイズされたログ形式を集計する専用のプログラムなどを組めば比較的簡単に調べる事が出来ます。

ログ形式が独特のため既存のツールを使うのは難しいでしょう。

(3) ログはバーチャルホストごと(hostXX_access_logなど)、ログ形式はデフォルト

既存のツールを使い、ホストごとに集計すれば簡単に調べる事が出来ます。

(4) ログはバーチャルホストごと、ログ形式はカスタマイズされている(%v は無くても良い)

カスタマイズされたログ形式を集計する専用のプログラムなどを組めば比較的簡単に調べる事が出来ます。

ログ形式が独特のため既存のツールを使うのは難しいでしょう。

簡単にまとめると、(1) は無理、(3) は既存のツールで可能、(2)(4) はプログラムを組めば可能、となります。

プログラムを組む場合、Ruby でしたら三つめのリンクのライブラリを使用すれば、多少楽に組めると思います。

また、(1) の場合でも諦める事はありません。

これまでのログを集計する事は出来ませんが、転送量やアクセス数は、よほどの事がない限り、一ヶ月などの単位ではあまり変わりません。

なので、一つめと二つめのリンクを熟読した上で、上記 (2)〜(4) の形式でログを出力するようにすれば今後は解析可能になり、その結果で十分過去の予測が可能でしょう。

pcsv さんはファイルを分けたくないという事なので、その場合 (2) の方法になるかと思います。

id:pcsv

お返事遅くなりすみません。詳しい説明ありがとう御座います。後ほどプログラムを組むなりしてやってみようと思います。ありがとう御座いました。

2005/02/05 17:33:06

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません