ログ追跡


世間の夏休みも後半戦に入ってるかと思いますが、みなさまいかがお過ごしですか?このサイトのアクセスもめっきり少なくなってるんで、みんな田舎に帰ったり、どこかに旅行に行ったりしてるんだろうなぁ。こちらは会社でせっせとスクリプト書いてるさ…しかもハマり中_| ̄|○
作ってるのは「Webサイトであるページからどういったページを辿っているか」を追跡するスクリプトです。最初は単純にリファラ元に追跡すれば楽勝かなって思って作成開始。その後、リファラを切ってるアクセスも追いたいなって事で「リファラがない」「同じIP」「同じAgent」「近い時間帯」を同一人物のアクセスとみなして追跡するようにもした。
ここまでは勢いで作れて、実際に本物のログをかましてスクリプトを走らせたら…重い…1つの追跡を処理するのに2時間経っても終わらねぇ…。で、2時間半くらいでやっと追跡終了。ログのサイズも結構大きくて200Mくらいだけど、こんなに重くちゃ話しにならない。
というわけで少し改造。結果、10分まで短くなる。やればできますやん。自分。まだ改良の余地はあったけど、とりあえず許せる時間なのでこれで完成…と思いきや、まだ問題があった。
肝心の追わなければならないページの最初のアクセスログが腐ってた…。ページ遷移にJavascriptを使ってるみたいで、その場合、リファラが残らないっぽい(理由はよくわからないがIEはダメみたいネ…)。 2ページ目からは普通のアクセスでリファラも残る。あと、途中のページ遷移もおかしくて、うまくリファラで追えないという(リファラを追うとログが分岐してるっぽい所が…)。
このあたりの変な部分をうまいことスクリプトで吸収しようとしたけどダメだった。丸一日悩んでもいい解決策は浮かばず。
ちなみに高機能なログ解析ソフトUrchinの追跡機能をもってしてもダメでしたさ。逆に遷移の途中にhttp→httpsへのジャンプがあったせいかボロボロだったかも(こいつはどういったアルゴリズムで追跡してるんだろう?)。
ログを追跡したいなら、ページ遷移を考慮してWebシステム作って欲しかったなぁ。
結局、リファラは絶対ではなく、あくまで参考という形にして、ログを追跡するようにしてみた。追跡の精度は落ちるけどまぁ、大丈夫そうかなって感じの結果を得る事ができた。
と、言うわけで追跡したいページ一式をスクリプトに流し込んで会社を後にした。明日、出社する頃には終わってるかな。

余談だけどスクリプトは久しぶりにPerl使ってみた。最近はshやphpばっかりだったもので。

更に余談だけどうちのサイトのログ解析に使ってるSlimStatってのがあったや…こいつもページ追ってくれてたなぁ。今更試す気にはならないけど。

作成日:2007/08/16 01:43:15
トラックバック  ※トラックバックは承認後に表示されます。
TrackbackURL:このページのトラックバックの受付は終了しています。

トラックバックはありません。
コメント
1
atsuko 16Aug2007 01:02PM
毎日暑いね~
仕事お疲れ様
我が家の旦那さんも休みなく働いてるよ~
私は、働いてもいないのに体調を崩し・・・
グッタリとしているよ
ポカリ飲んで水分補給しながら働いてね
2
そうし 17Aug2007 01:33AM
> ATSUKO
旦那さんってここしばらくまともに休めてないんじゃない?
毎日こんなに暑いってのにすごいなぁ。
外回りも多そうで体力も使いそうなんだけど。

体調のほう、結構大変みたいだけど気をつけてね。
暑いときは何もしなくても体力奪われるし。
3
atsuko 17Aug2007 06:38PM
我が家の旦那さんは、いっつも休みないよね
私も連休に出かけた記憶が・・・遠すぎる
よく分からないけど、組合もしてるからいつも忙しいみたい。
社員の為の組合なんだろうけど、我が家ではその組合に悩まされてます

昨日からポカリをよく飲むようにしてるよ
あとはこの暑い中、白湯(笑)
そうしくんも水分補給はよくとってね
4
そうし 21Aug2007 02:45AM
> ATSUKO
大きい会社は組合ってあるんだよね。
一般社員にとってはいいかもしれないけど、いざ組合に関わるとそこにも時間とられるのはきついね…タダでさえ忙しいのに。

白湯はお腹にやさしそうだからいいかも。
こっちは水分補給だとコーヒー(ブラック)を飲んでみたけど、逆に余計のどが乾いた…だめだこりゃ。
名前:

タイトル:

コメント: