Home > サイト制作 > XREAの生ログをローカルで解析したい(前)

XREAの生ログをローカルで解析したい(前)

アクセス解析の結果を見つつニヤニヤするのは楽しいものですが、私はあまりマメな方ではないので、定期的にログインしてのぞきに行くのはどうしても面倒でした。1ヶ月にいっぺんでも億劫です。そこでやってみたくなったのが、Apacheの吐く生ログそのものを手元に保存して解析するという方法。ログが5日で押し流されてしまうのが難点ですが、取得するのさえ忘れなければ、いつでも好きなときに眺めてニヤニヤすることができます。なんと素晴らしい!
しかしいちいち手動で取りに行くんだとやっぱり面倒。もーちっと楽な手段ないかなぁ…
そう思って検索していた時に見つけたのがこちらのページでした。
XREA用ログ自動取得バッチプログラム(Blogo el Ermitejo)
バッチプログラムというものはよく知りませんが、説明を読む限りなんだか素敵そうな予感です。詳しい使い方はファイルの中に書いてあるからそれを参照のこと? ふむふむ…

txtファイルを開いて5秒で諦めました。
自然言語しか読めない文系のわたくしには厳しゅうございます。
たいていのことは自分で勉強してなんとかしてきたつもりでしたが、これに立ち向かう気力は捻出できませんでした(汗)

そこで思い出したのが、よく知らないけどたぶんパソコンととっても仲良くならざるを得ない系統の、ネット関係の仕事をしている友人。だめもとでメールを投げてみました。
以降メールが往復すること数週間。

  1. これどーやって設定すんの→
  2. ここをこう書き換えればいいと思うよ→
  3. 設定して起動したけどなんか音沙汰ないよ→
  4. えーなんでだろ。直してみるから(なんかホストの設定関係の話)教えて→
  5. XP標準のFTPを経由したいんだけど…→
  6. (このへん適宜友人の罵詈雑言を省略)
  7. こんな感じに書き直してみた、動かしてみてちょ→
  8. またもや期待通りの動作をしませんなぜですか→
  9. ログを保存するフォルダへのフルパスにスペースが入ってたのが原因だったよ!→
  10. ようやく一件落着

大幅に省略を入れつつ、たしかこんな流れでした。途中で「この作者絶対テストしてないよ!」という叫びを見た気がしますが、わたしにはぷろぐらむのことがよくわかんないので真意は不明です。とりあえず彼には何らかの貢ぎ物を送らねばなるまい。
作者さんにも報告がてらにトラックバック送ってみようかしら…。

こうして私のPCには無事ログが保存されるようになりました。あとは適当な解析ツールを入れさえすればもうウハウハのはずです。しかしAnalogの紹介ページとかを見ていたら頭痛がしてきました。彼を倒せて、なおかつ気が向いたら「後編」を書くかもしれません。

余談。
Perlのスクリプトを書いたりとか、CRONジョブがうんたらとか、世の中にはそんな高等技術を使用する方もいらっしゃるようです。私には読んでもよく理解できませんが、こういう方法もあるということで。

Comments:5

Gardejo 08-03-28 (金) 23:49

 こんばんは。罵詈雑言を賜ったらしい作者です。
 「この作者絶対テストしてないよ!」とは穏やかではないですが、最終的に動いたようで何よりです。ご報告くださり、ありがとうございました。
 ログを保存するフォルダのフルパスにスペースが入っているのはうちも同じですが、こちらでは動いてしまっています。バッチファイルの置いてあるフォルダの下にlogという子フォルダを作り、そちらに保存するという挙動です。もしよろしければ、Windowsのバージョンや、改版後のファイルをご案内いただければ幸いです。

 PerlスクリプトではPerlの実行系が入っていないと使えないので、バッチスクリプトならWindowsユーザであれば誰でも出来るだろうという意図で公開しています。まぁ、WIndows標準の他に別途FTPクライアントを用意いただく必要もあり、「いいからPerl入れてくれ、それでこのPerlスクリプトを実行してくれ」の方が、逆に簡単かも知れませんが……。
 CORESERVER.jpやXREA Plusでは、ディスクに余裕があります。Perlスクリプト等をサーバ上で(cronで自動的に)動かして保存しておくのが楽で、自分もそうしています。これも「いいからこれをアップロードして、XREAの管理画面でこう設定してくれ」簡単そうですので、そちらの方をお薦めとして公開しようと考えています。

 どうもありがとうございました。

Gardejo 08-03-29 (土) 0:00

 〜こう設定してくれ」“という方が”簡単そう
というように句が抜けていました。末梢的ですが失礼致しました。

 あと、cronに必ずしもこだわる必要はないです。(このWordPressのように)CGIとしてログ保存スクリプトを外の世界に公開しておきつつ、「はてなアンテナ」等の仕組み(要は定期的に或るURLへアクセスしてくれる外の世界の仕組み)を利用するというものです。
 ではでは。

ネット関係の仕事をしている友人 08-03-29 (土) 2:16

フォルダ名にスペースが入っているときの挙動については、
実は私が改変した際にバグを作りこんだ可能性があります。
DOSのコマンドがよく分からないので問題解決を放棄しました。

明らかにうまく動かなかったのは、下記二点。

(1) WINDOWS XP標準のftp.exeでは以下の部分(ftp://〜)が有効ではない
“%FTP%” %Option% ftp://%UserName%:%Password%@%Server%:%Port%

(2) FTPで取得したファイルのタイムスタンプには、サーバ上のファイルの
タイムスタンプが使われるのではなく、FTPで取得した時刻が用いられる。
よって、取得したファイルはすべて同じファイル名にリネームされてしまう。
これは代替FTPクライアントを使用した場合も同様と思われる。

—-

Perlを入れてくれれば一からスクリプトを作るよ、と何度か言おうと思った(笑)

Analogは今でも有名な解析ツールなのですか。
ちょっとびっくり。

Gardejo 08-03-29 (土) 3:35

 お友達さん、ご指摘いただき、ありがとうございました。

 ディレクトリ名にスペースというのはWIndowsのコマンドシェルのお約束で:
●%1とすると第一引数を使えるが、例えばスペースで2つに区切られていると、引数が第一と第二に泣き別れてしまう
●そこで引数に”〜〜〜(スペースを含む文字列)〜〜〜”とすると良いかと思えるが、今度は引数に”"が含まれてしまい、別の文字列とコンカチするのが面倒である
●%~1とすると、上記の場合でも”"を含まないようにすることが出来、そのまま使うなら”%~1″として、他とコンカチするなら”%~1!FooBar!”などとして全体を括る
という、七面倒なことをする必要があったりします。

(1) については完全にその通りです。末恐ろしいことに、テストどころか実装もしていませんでした。いやはや、お恥ずかしい。穏やかでないのはどっちだか、というところでしたね。
 (私のADSL用ルータ兼モデムの都合上、passive modeで取りに行くのはftp.exeでは厄介なため、)書いている途中で完全に代替FTPクライアントを前提としていてしまったまま放置していて、ご指摘の通りWindows標準のFTPクライアントについて顧みずにさくっと公開していました。
 確かにWindows標準のftp.exeのためには、(echo ) >> 〜.ftp と (echo ) >> 〜.ftpなどとして、ファイル側に書いておく必要がありましたね。ようやく、「後で標準FTPクライアント用に〜.ftpへ書き出す内容を切り替えておかなきゃなぁ」などと考えていたことをおぼろげながら思い出しました。
 じゅらさん、混乱させてしまう内容で申し訳ございません。二次被害者の方を出さないよう、こっそりファイルの方は(文言だけですが)修正しておきました。

(2)については、バッチ内に例示している代替クライアントでは、タイムスタンプはサーバ上のファイルのものでしたので、私の環境では動いてしまっていました。標準クライアントでは例によってテストを行えていません。

 ……というように、(業務でもないので)無理して制約の範囲内であがくよりは、じゅらさんのお友達の仰るように制約自体を取り払う(Windows用のPerlスクリプト処理系を入れていただく)方が良いと思いました。
 貴重なご意見ありがとうございました。また、お騒がせして申し訳ございませんでした。

じゅら 08-03-29 (土) 8:49

朝起きたら宇宙語が飛び交っていて驚きました。
柿ピーをかじりながら目を通しましたが理解できるはずもなく。

■Gardejoさん
いえ、なんにしろGardejoさんの記事がなければ、気合と根性で手動保存&リネームに挑戦して力尽きていたと思います(笑)
どうもありがとうございました。

「Perlのスクリプトを動かして自動的に保存するよう設定すればいいよ」という、知ってる方からすればもっともであろう方法について、ど素人の感じたことを少し。
最初に検索していた時も、そのような方法を見かけました。またバッチファイルの方にも、定期的に自動実行するように設定すればらくちん!という内容が書いてあったように思います。
しかしそれだと、設定した日ないしは時刻にPCがついてなかったり、ネットに繋いでなかったりしたらどうなるんだろうという気がして、私には不安でした。あるいは旅行で1週間ぐらい家を留守にすることがあったらどうなるんだろ、とか。
それに、友人も「ローカルにPerl入れれば簡単だってー」的なことを書いていますが、それ自体がなんか敷居高いのです。第一「Perl」と検索して出てきた入門らしい文書のもくじを見ただけでジャーゴンの群れに恐れをなしてしまいます。インストール簡単だよ?という紹介があったところで、わけの分からないものにCドライブの容量を食わせるのはなんだかなーって感じが…。
非合理的ですみませんっ(汗)

これをきっかけに、詳しくない人間でも簡単に挑戦できるようになれば望外の喜びです。わざわざお越しいただき、ありがとうございました。

■某友人へ
市民の協力に感謝します。
最近気に入ったCDを電波で送信するので受け取るように。
…うそです。そのうちリアルでなんかお渡しします。またメールするっす。

Analogは有名どころみたいだし、XREAの方で見られる解析結果もそれを使用してるんですよ。なのでなんとなく。Webalizerとか、最初からWin用らしいApacheLogViewerとか、他に見かけたものもありましたが、最終更新が何年も前だとどっか不安です。

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://jura.xrea.jp/blog/pc/site/26.html/trackback
Listed below are links to weblogs that reference
XREAの生ログをローカルで解析したい(前) from ぎんいろのかがみ

Home > サイト制作 > XREAの生ログをローカルで解析したい(前)

  • 146206 since Mar 5, 2008

  • Return to page top