【 同梱ファイルとパーミッション 】
▼ Analyzer for Apache accessLog CGI
・CGI ( ./analyzer )
analyzer_AL.cgi [755] ( アクセス解析閲覧CGI )
jcode.pl [644] ( 日本語コード変換モジュール [ 著作権 Utashiroさん ] )
・データファイル ( ./analyzer/data/ )
_System.dat [644] ( システムデーターファイル )
Check_Host.dat [666] ( ホスト変換データファイル )
Check_AG.dat [644] ( ブラウザ変換データファイル )
Check_OS.dat [644] ( OS・端末変換データファイル )
Check_Status.dat [644] ( HTTPステータス説明句ファイル )
・同封画像 ( ./analyzer/img ) 25ファイル
・その他
.htaccess [644]
( WEB上から 「.dat、.csv」ファイルを見えなくしたい場合 .htaccess設置が可能な時に設置して下さい。
WEB領域以外での設置の場合は必要ありません。又、cgi-binに設置の場合は通常は必要ありません。 )
style.css [644] ( スタイルシート )
javaScript.js [644] ( Java Script )
readme.txt (説明ファイル)
【 各設定について 】
● analyzer_AL.cgi 内 設定について
1) CGI一行目
#!/usr/bin/perl
は、ご利用サーバーで指定されたルートを設定して下さい。
2) #【 システムファイル設定 】
$sysFile = './data/_System.dat';
※ 過去アクセスデータのキャッシュを crontab で実行する場合は、相対パスではなく
絶対パスを指定して下さい。
3) #【 圧縮ファイルループ last 処理(ループ抜け) 】
圧縮ログファイルループ処理 last 抜けの際、Apache errorLogに [ gzip: stdout: Broken pipe ]
と出る場合 next 処理をするとエラー回避となりますので [ 1 ] 設定をして下さい。
● システムファイル _System.dat の設定について
1) #【 解析ホームページ設定 】複数サイトをそれぞれ解析する場合は、下記のように連記して下さい。
AnalyHome = " WWW.PMCJ, http://www.pmcj.com/, /usr/local/logs/:pmcj, hp-access_log, - "
AnalyHome = " WEB-PUROSE, http://web-purpose.com/,
/usr/local/logs/:web-purpose, access_log, /LIFE/:/purpose/ "
a. [ "" ] 括り内は [ , ] で区切って、下記 [ b. ] の内容にて設定して下さい。
b. " 解析名, URL, Apache accessLogディレクトリー:キャッシュディレクトリー名,
Apache AccessLog ファイル名抽出マッチ文字列,
サイト内分別調査(複数の場合 [ : ] で区切って下さい。) "
※ サイト内分別は、解析キャッシュ利用の場合は、リクエストページ調査のみ有効となります。
c. [ Apache accessLogディレクトリー ] 指定は、過去アクセスデータのキャッシュを crontab で
実行する場合は、相対パスではなく、絶対パスを指定して下さい。
※【 Apacheエラーログ閲覧 】を有効にした場合は、上記抽出マッチ文字列の
access部分が errorとして置き換え処理がされます。
2) #【 データーファイルルート 】
logRoot = ./log/ # キャッシュデータファイル格納
datRoot = ./data/ # 設定データファイル格納
※ 過去アクセスデータのキャッシュを crontab で実行する場合は、
相対パスではなく、絶対パスを指定して下さい。
3) #【 Apache AccessLog 圧縮ファイル解凍コマンド 】
gz_testcom = 'gzip -t' # テストコマンド
上記は、圧縮ログファイルの有効チェックを行ってから調査処理等を行いますが、
無効としたい場合は、列先頭に [ # ] を入れコメントアウトして下さい。
4) #【 Apache AccessLog ファイルソート 】
ファイル更新日順にする為のソートタイプ設定です。通常は 2:更新日ソートA-B にてご利用下さい。
※ 何らかの事情により更新日が変更され更新日順にならない場合は
各ファイル内を調査する [ 21 ] を設定してみて下さい。
(アクセス数が多くファイルサイズが大きい場合は、初回は負荷等ご注意ください。
2回目からは、この更新日をデータファイル ( Log_Date.dat )
として保存し利用しますので軽減されるかと思います。)
5) #【 Apache AccessLog フォーマット配列番号 】※デフォルト設定は combined 対応としています。
Apache AccessLog ファイル内の、形式の設定です。
[ 空白 ] 区切りとして、先頭 [ 0 ] からの順番指定です。
6) #【 解析キャッシュ利用 】※過去データのキャッシュとは違います。
解析閲覧したデーターを都度キャッシュし、調査リストでの表示の際
このキャッシュされたデータで表示します。通常は有効としてご利用下さい。
7) #【 過去解析データキャッシュ 】[ 0: キャッシュしない 1:キャッシュする
2: 日毎の圧縮 AccessLog保存を含む ]
0 : サーバー内でキャッシュされている accessLog 範囲での調査となります。
1 : 追跡調査の際、サーバー内でキャッシュされている accessLog 範囲での調査となります。
2 : 圧縮AccessLog保存は、サーバー内でキャッシュされているデータをそのまま日毎に保存します。
8) #【 過去解析データCrontab自動キャッシュ 】
a. crontab 設定例1
5 0 * * * root /home/pmcj/www/analogAL/analysis_AL.cgi -m Crontab
b. crontab 設定例2 複数サイト等
5 0 * * * root
/home/pmcj/www/analogAL/analysis_AL.cgi -m Crontab -agt 1 >> /home/xxxx/log/cron_log
・複数サイトを設定している場合は、
0からの設定順で [ -agt 0、-agt 1 .... ] としてそれぞれ設定して下さい。
・[ >> /home/xxxx/log/cron_log ] は、crontab実行ログを取りたい場合に加えて下さい。
9) #【 解析表示設定 】
AnaViweSet = " hour, 3, 1, -, x " # 時間帯調査 (表示:x ※x or y 軸方向)
AnaViweSet = " day, 4, 1, -, day, b" # 日・曜日別調査 (曜日別:divi ※day or divi )
AnaViweSet = " mon, 5, 1, -, mon, b" # 月・月別調査 (月別:divi ※mon or divi)
AnaViweSet = " user, 6, 0, - " # 認証ユーザー調査 ( 調査:0 ※別表示 )
AnaViweSet = " request, 7, 0, 10 " # リクエストページ調査
a. [ "" ] 括り内は、[ , ] で区切って下記 [ b. ] の内容にて設定して下さい。
b. " 調査キー, 表示順, 調査, 表示件数・上位指定,
日・曜日別/月・月別/表示方向(時間帯調査のみ), 日・月調査転送量表示 "
c. [ 表示順 ] は、メイン調査(メイントップ表示)やリスト調査の順番となります。
d. [ 調査 ] 設定は、0:調査無し 1:メイン調査ページでの表示 -1:調査リスト表示 となります。
e. [ 表示件数・上位指定 ] 設定は、
0:表示件数省略無し 1〜:調査結果上位何位までの表示 -1〜:調査結果○件以下の省略 -:未設定
f. [ 日・曜日別/月・月別/表示方向(時間帯調査のみ) ] 設定は、
・時間帯調査( hour ) → x:横方向表示 y:縦方向表示
・日・曜日別調査( day ) → day:日表示 divi:曜別
・月・月別調査( mon ) → mon:月表示 divi:月別
g. [ 日・月調査転送量表示 ] 表示不要の場合は、[ b ] の箇所を空にするか [ - ] 等として下さい。
10) #【 解析画面デフォルトTOP表示調査 】
アクセス数が多い場合ログファイルが膨大となる為、サーバー負荷対策設として利用してみて下さい。
※ Hit関連のみの調査の場合 解析期間リミット制限は解除となります。
尚、解析期間リミットを超えている場合の追跡調査は不可となります。
※ 負荷が気になる場合、サーバーの newsyslog.conf の設定が可能の場合は、
1日毎に分割保存にするなどしてみて下さい。
例 /var/log/www/httpd-access_log 644 7 * @T00 Z /var/run/httpd.pid
11) #【 ホスト名変換 】
AccessLog取得時、AccessLogにてIPのみ取得してる場合、変換したい場合に有効として下さい。
※ 有効とした場合、取得したデータは ホスト変換ファイルの
/analyzer/data/Check_Host.dat に保存されます。
但し、ホスト調査での追跡調査を行った場合のみこの処理がされます。
尚、通常の調査にてホスト変換ファイルを利用したくない場合は、[ 2 ] として設定して下さい。
12) #【 リクエストページ QUERY_STRING 変換 】
通常ここの設定は不要かと思いますが、
アタック等のアクセスで調査を別枠で表示させたい場合指定して下さい。
※ リクエストでの通常調査において QUERY_STRINGがある場合はこれを省いて調査結果を表示しています。
13) #【 除外ファイル 】
html等ページファイルとして扱いますが、同じhtmlファイルでも<IFRAME>で表示させているファイル等、
一つのページとして扱いたくないファイルがあれば指定して下さい。