PHPとPerlとMySQLと(2)
ということで、次はログをサマライズするツールを作ってみる。Apacheのログは標準なので、こんな感じのコードを作ってみた。入出力のファイルを指定して、コマンドラインとして起動する。Webサーバで動作させても保証できません(動くかもしれないが、試していない)。すると、出力側のファイルが、今回作成するテーブルに入力できるようになっている。
本来は、テーブル設計をきちんとやるべきなのだが、今回は苦心の末、こんな感じにまとめてみた。異論はあると思うけれど、とりあえず、これだけのデータがそろえば、あとはSQLをどうするか、というだけの問題に帰着できるはず(ただし、リファラについては、今回は解析の対象としていないため、PerlのツールではNULLが格納されるようになっている。カラムとしては存在する)。
あとは、以下のコマンドで、ファイルが読み込まれ、テーブルに登録される。
load data infile "出力ファイル名" into table logs;
と、ここまでくれば、あとはPHPでSQL文を書いていけばよいと言うことになるわけで、とりあえず、全レコードの件数をカウントするスクリプト用意してみる。あとは、これもhtdocsに入れて実行してみる。うまくいったら、あとはSQLの切り方次第ということになる。でも、まだ作ってないんだよね。そのうち作らなきゃ。
本来は、テーブル設計をきちんとやるべきなのだが、今回は苦心の末、こんな感じにまとめてみた。異論はあると思うけれど、とりあえず、これだけのデータがそろえば、あとはSQLをどうするか、というだけの問題に帰着できるはず(ただし、リファラについては、今回は解析の対象としていないため、PerlのツールではNULLが格納されるようになっている。カラムとしては存在する)。
あとは、以下のコマンドで、ファイルが読み込まれ、テーブルに登録される。
load data infile "出力ファイル名" into table logs;
と、ここまでくれば、あとはPHPでSQL文を書いていけばよいと言うことになるわけで、とりあえず、全レコードの件数をカウントするスクリプト用意してみる。あとは、これもhtdocsに入れて実行してみる。うまくいったら、あとはSQLの切り方次第ということになる。でも、まだ作ってないんだよね。そのうち作らなきゃ。
0 Comments:
コメントを投稿
Links to this post:
リンクを作成
<< Home