複数台で運用しているサーバのアクセスログを1つに統合する

このエントリーをはてなブックマークに追加
はてなブックマーク - 複数台で運用しているサーバのアクセスログを1つに統合する
LINEで送る
Pocket

複数台のフロントエンドサーバでapacheが動いている場合を想定します。

その場合、アクセスログが複数のサーバにまたがってしまいます。

こんなかんじ。

  • web-01.access-log.20071130
  • web-02.access-log.20071130
  • web-03.access-log.20071130

webalizerやawstatsといったアクセスログ解析ソフトではこのファイルの状態では解析できない。

なぜなら、webalizerやawstatsのデフォルトでは1つのファイルのみを入力として受け付け、時系列順に記録されていなければならない。

この問題を解決するスクリプトを発見しました。awstatsの中に入っているlogresolvemerge.plというperlスクリプトです。

使い方は超簡単。引数に統合したいファイルを指定して実行すると、標準出力に時系列順にそろったレコードが出力される。

例:

引数にgz圧縮されたファイルを指定してもちゃんと動きます。至れり尽くせりなスクリプト。

★おまけ情報★
ある日まで、commonフォーマットでアクセスログを取っていて、ある時点からcombinedフォーマットでログを取りだした場合、1つのアクセスログの中に2種類のフォーマットのログが混入してしまう。

そこで見つけたのがこの方法。commonフォーマットをcombinedフォーマットにする方法。
http://www.trisweb.com/archives/2007/02/15/convert-apache-common-logs-to-combined-logs/

3回シェルのコマンドを実行すればできちゃう!CUIはすばらしい。

参照:

http://awstats.sourceforge.net/

このエントリーをはてなブックマークに追加
はてなブックマーク - 複数台で運用しているサーバのアクセスログを1つに統合する
LINEで送る
Pocket

matsubokkuri

Please feel free to contact me via e-mail, twitter and facebook!

あわせて読みたい

コメントを残す