get_xrea_data
get_xrea_data
XREAのアクセスログ解析結果をローカルディレクトリにダウンロードします。CGI形式で実装しているため、全てブラウザ上から処理を行うことができます(通常のコマンドとしても動かすこともできます)。 ダウンロードしたファイルはそれぞれxrea_log_YYYY-MM-DD.htmlと集計日付別に保存されるので、全てのログを保存しておくことができます(XREA上ではanalog.n.html(nは数字1 - 14)という形でローテーションされてしまうため、そのためFTPとかでローカルに持ってきてもファイル名を手動で直す必要があります)。
また、XREAの情報をFTP経由でダウンロードすることもできます。
必要環境
- Ruby 1.6.5以降
- Apache 1.3.x以降(CGIが実行できる環境ならたぶん大丈夫)
インストール方法
共通的な設定
get_xrea_data.rbの1行目をrubyの絶対パスにし、同じファイルの頭の方の設定値を自分の環境に合わせて修正します。
#XREAの情報
ACCOUNT = "user" #XREAのアカウント
PASSWD = "password" #XREAのパスワード
HOST = "user.sn.xrea.com" #XREAのホスト名称
PORT = 80 #XREAのポート名(HTTPのポート番号。XREAの場合は通常80です)
FTPDIRS = ["/data"] #XREAのバックアップ対象とするFTPパス。特に情報がない場合は[""]と空文字を入れる
#配列で複数指定可能 ["/", "/hoge", "/tdiary"]等
#Proxyの情報
PROXY_ADDR = "" #プロクシのホスト名。使用しない場合は""と空文字を入れる
PROXY_PORT = 8080 #プロクシのポート番号
#その他
BACKURL = "../" #生成したindex.htmlの戻り先URL
WGET = "/usr/bin/wget" #wgetのディレクトリ。無い場合は""と空文字にする
FILES = ["analog.html", "analog.1.html", "analog.2.html", "analog.3.html",
"analog.4.html", "analog.5.html"]
#ダウンロード対象となるanalogファイル。今のところ14まで指定できる。
CGIとして使う場合
ローカルにWWWサーバを持っている場合はこちらが便利かもしれません。
CGIを実行するディレクトリに結果ファイルが生成されますので、ディレクトリに書込権を与えます。 CGIを実行できるディレクトリにダウンロードしたファイルを置いて、ファイルに実行権を与えます。
Apacheのhttpd.confにこのCGIを実行できるようなアクセス権を与えます。 例えば、/home/httpdがDocumentRootに指定されているとして以下のような記述を追加し、/etc/rc.d/init.d/httpd restartとしApacheを再起動します。
<Directory "/home/httpd/xrealog"> Options ExecCGI AddHandler cgi-script .rb DirectoryIndex index.html </Directory>
なお、XREAのパスワードを平文でスクリプト本体に直書きするので、複数のユーザが使っているサーバではこの方法は推奨できません。
コマンドとして使う方法
特に準備は必要ないです。get_xrea_data.rbは、実行したディレクトリにデータを保存しますのでget_xrea_data.rb兼データ保存用のディレクトリを作っておいて、毎回そこでget_xrea_data.rbを実行すると良いでしょう。
実行方法
まずは正常に動作するかどうか確認するために通常のコマンドとして実行してみて、それからCGIとして試してみるというプロセスをお奨めします。
通常のコマンドとして実行する
$ruby get_xrea_data.rb --nohtml
で実行できます。
CGIとしてWWWブラウザから呼び出す
最初だけ、WWWブラウザからget_xrea_data.rbのURLを直接指定します。ここではローカルのホストがwww.hoge.comという名称だとします。
http://www.hoge.com/xrealog/get_xrea_data.rb
これを一度実行すると、index.htmlが生成されますので次からはそれにアクセスします。
http://www.hoge.com/xrealog/index.html
トラブルシューティング
ちょっとしたトラブルシューティングを書いてみました。問題点を切り分けるために、通常のコマンドとして実行してみてください。 通常のコマンドだとうまく動作するけど、CGIにしたらうまく行かないと言うことであれば、それはCGIの設定ミスと言うことになりますのでそちらを追いかけましょう。
401 Authorization Required
エラーメッセージに上記のメッセージが含まれている場合は、認証に失敗しています。ユーザ名(ACCOUNT)とパスワード(PASSWD)があっているか確認してください。たまにXREAサーバ名(HOST)が間違えている場合もこのメッセージが出る場合があります。
サーバに接続できません
XREAサーバが見つかりません。ホスト名(HOST)があっているか確認してください。
ライセンスについて
Copyright (C) 2002 Masao Mutoh <mutoh@highwhay.ne.jp>
本ソフトウェアはGNU General Public License Version 2(GNU一般公有使用許諾書バージョン2)に基づいてリリースされるフリーソフトウェアです。 また、本プログラムは無保証です。本プログラムの利用により何らかのトラブルが生じても、当方は一切責任を負いません。
ChangeLog
- 2002-02-18 Masao Mutoh <mutoh@highway.ne.jp>
-
- Support to get data via Proxy.
- Allow to set HTTP Port.
- Improve Error handling.
- Improve Documents.
- Version 2.1 is released.
- 2002-02-15 Masao Mutoh <mutoh@highway.ne.jp>
-
- Change script name from xrea_log_analog to xrea_log_data
- Support to download data via FTP(by wget)
- Support Ruby 1.6.5 or later.
- Add --nohtml option. If you use this option, you can show output result as plain text.
- Version 2.0 is released.
- 2002-02-14 Masao Mutoh <mutoh@highway.ne.jp>
-
- Version 1.0 is released.
キーワード:
参照:[よたらぼ 保管庫]