WAStatsでログ解析
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
#contents
*AWStats [#ueabfcac]
apache のアクセス解析ソフト
AWStatsは、httpdのアクセスログを解析し、視覚的にブラウザ...
本家サイト http://awstats.sourceforge.net/~
2006-04-07現在 最新安定板 ver6.5
完全日本語版 http://www.bflets.dyndns.org/Tools/AWStat...
2006-04-07現在 ver6.5の日本語修正版
本家「AWStats」もVer.4.0から正式に日本語に対応したこと...
より完璧な日本語対応を目指して修正を行ったものを公開し...
使わしてもらう。
*Jcode.pm のインストール [#ladc4961]
オリジナルログ内のURLをデコードするために必要
参照~
http://openlab.jp/Jcode/index-j.html~
http://www.mytools.net/memo/JcodePM.html
「Jcode-0.xx.tar.gz」をダウンロード~
http://www.ring.gr.jp/pub/lang/perl/CPAN/modules/by-mod...
インストール
# tar zxvf Jcode-0.88.tar.gz
# cd Jcode-0.88
# perl Makefile.PL; make; make install
確認
# perl -MJcode -e'print $Jcode::VERSION'
0.88
*nkfインストール [#a2b21502]
「nkf206a.tar.gz」をダウンロード~
http://sourceforge.jp/projects/nkf/
インストール
# tar zxvf nkf206a.tar.gz
# cd nkf206
# make
# cp nkf /usr/bin/
# rm -rf nkf206
# rm -f nkf206a.tar.gz
*環境確認 [#t2e133d8]
-perlのバージョンが5.8.0以降である
# perl -v
This is perl, v5.8.5 built for i386-linux-thread-multi
-perlの場所
# which perl
/usr/bin/perl
-WWWサーバのCGIディレクトリのパス~
本文では /usr/local/apache/cgi-bin とする
-Apacheのアクセスログのパス~
本文では /usr/local/apache/logs/access_log とする
-WWWサーバのルートディレクトリ~
本文では /home/hoge/public_html とする
-Apacheのログフォーマットがcombinedである
# vi /usr/local/apache/conf/httpd.conf
httpd.conf
CustomLog /usr/local/apache/logs/access_log combined
*AWStats 6.5完全日本語版 インストール [#saa97647]
参考~
http://www.akenotori.jp/soft/26.html#SEC9~
http://cyberam.dip.jp/linux_server/log/awstats60_main.h...
http://honana.com/awstats~
-「AWStats65_Jpn.tar.gz」をダウンロード~
http://www.bflets.dyndns.org/Tools/AWStatsJpn.html
-展開
# tar zxvf AWStats65_Jpn.tar.gz
# cd AWStats65_Jpn
-インストールディレクトリの準備~
イメージファイルディレクトリ
# mkdir /home/hoge/public_html/awstats
# mkdir /home/hoge/public_html/awstats/images
AWStatsインストールディレクトリ
# mkdir /usr/local/apache/cgi-bin/awstats
-インストール
# cd /usr/local/src/AWStats65_Jpn/wwwroot/
# cp -rf cgi-bin/* /usr/local/apache/cgi-bin/awstats/
# cp -rf icon/* /home/qrpnt/public_html/awstats/images/
-設定
# cd /usr/local/apache/cgi-bin/awstats/
# nkf -ed awstats.model_jp.conf > awstats.www.hoge.jp.conf
# vi awstats.www.hoge.jp.conf
awstats.www.hoge.jp.conf
LogFile="/usr/local/apache/cgi-bin/awstats/access_log.ut...
SiteDomain="www.hoge.jp"
DNSLookup=1
DirCgi="/cgi-bin/awstats"
DirIcons="/awstats/images"
DetailedReportsOnNewWindows=0
Lang="jp"
-ログファイル作成
# /usr/local/apache/cgi-bin/awstats/utf8_decode.pl </u...
-手動でアクセス解析実行
# cd /usr/local/apache/cgi-bin/awstats
# perl awstats.pl -config=www.hoge.jp -update
正常に終了していれば、処理結果が以下のような形で表示さ...
Lines in file: 225730
Found 5 dropped records,
Found 124 corrupted records,
Found 0 old records,
Found 225601 new records.
-静的html生成
# /usr/local/apache/cgi-bin/awstats.pl -config=www.hoge....
ブラウザでアクセス解析ファイルにアクセスしてみる~
http://www.hoge.jp/awstats/
*定期的に実行 [#kb8d698e]
# cd /usr/local/src/AWStats65_Jpn/
# nkf -ed awstats.cron > /usr/local/apache/cgi-bin/awsta...
awstats.cron
#! /usr/bin/perl
# 完全日本語版AWStats用サンプルcronファイル
#
# ファイルパス等は自分の環境に合わせて書き直して下さい。
# httpのログファイルをデコードした上で一時ディレクトリに...
# access_log.utf8は一時的にデコードしたログを保存するフ...
system("/usr/local/apache/cgi-bin/awstats/utf8_decode.pl...
# ログファイルが複数の場合、ファイル数の分行う
#system("/usr/local/apache/cgi-bin/awstats/utf8_decode.p...
# awstats.plが切り詰めないオリジナルのログを切り詰めます。
#open(LOG,"+</usr/local/apache/logs/access_log");
#truncate(LOG,0);
#close(LOG);
#open(LOG,"+</usr/local/apache/logs/ssl_access_log");
#truncate(LOG,0);
#close(LOG);
# Ver.5.0から、更新処理を別途走らせる必要ができたらしい....
system("/usr/local/apache/cgi-bin/awstats/awstats.pl -co...
# awstats.plを走らせ、htmlファイルを出力します。
# 必須ではありませんが、awstats.plを直接参照させるよりも...
# る方が、良好なパフォーマンスが得られます。
system("/usr/local/apache/cgi-bin/awstats/awstats.pl -co...
# アクセス可能になるように出力したhtmlファイルの権限を変更
system("chgrp hoge /home/hoge/public_html/awstats/index....
system("chown hoge /home/hoge/public_html/awstats/index....
パーミッションを変更
# chmod 700 /usr/local/apache/cgi-bin/awstats/awstats.cron
cron でこのスクリプトを自動実行
(例では30分毎に実行)
# crontab -e
*/30 * * * * perl /usr/local/apache/cgi-bin/awstats/awst...
*AWStatsとlogrotateの問題点解決 [#o7e98f4f]
Apacheのaccess_logをlogrotateによりローテーションしている...
例えば4時10分にaccess_logの ログローテーションが行われる...
「定期的に実行する」で紹介したスクリプトは30時間おきに実...
4時に実行されたとして次に実行されるのは4時30分であるため、~
4時から4時10分の間にaccess_logに記録されたログはawstatsの...
この問題を解決するにはaccess_logをローテーションする直前...
/etc/logrotate.d/apacheを編集します。
# vi /etc/logrotate.d/apache
下記をapache再起動の前に追加
prerotate
perl /usr/local/apache/cgi-bin/awstats/awstats.cron
endscript
*ワームが残すログによるAWStatsのエラー回避 [#o5a7da6c]
WindowsのIISやWebDAVの脆弱性を突いた攻撃により、Linuxでは...
# vi /usr/local/apache/conf/httpd.conf
下記を~
<IfModule mod_setenvif.c>~
・・・~
</IfModule>~
内に追記
SetEnvIf Request_URI "default\.ida" wormlog
SetEnvIf Request_URI "cmd\.exe" wormlog
SetEnvIf Request_URI "root\.exe" wormlog
SetEnvIf Request_URI "Admin\.dll" wormlog
SetEnvIf Request_URI "NULL\.IDA" wormlog
SetEnvIf Request_URI "NULL\.printer" wormlog
SetEnvIf Request_URI "mem_bin" wormlog
SetEnvIf Request_URI "vti_bin" wormlog
SetEnvIf Request_URI "MSADC" wormlog
CustomLog を変更
CustomLog /usr/local/apache/logs/access_log combined env...
CustomLog /usr/local/apache/logs/worm_log combined env=w...
これにより、NimdaやCode Red、Code Blueなどによるログはacc...
また、WebDAVの脆弱性を突いた攻撃によるログは大変サイズが...
[12/Mar/2004:20:14:15 +0900] "SEARCH /\x90\x02\xb1\x02\x...
というものが延々記録されます。このログは SetEnvIf では回...
(URIが長すぎることによる414エラー(Request-URI Too Long...
このログをaccess_logファイルに記録しない方法は次のようにh...
# vi /usr/local/apache/conf/httpd.conf
httpd.conf
LogFormat "%h %l %u %t \"%!414r\" %>s %b \"%{Referer}i\"...
Apache再起動
# /usr/local/apache/bin/apachectl restart
終了行:
#contents
*AWStats [#ueabfcac]
apache のアクセス解析ソフト
AWStatsは、httpdのアクセスログを解析し、視覚的にブラウザ...
本家サイト http://awstats.sourceforge.net/~
2006-04-07現在 最新安定板 ver6.5
完全日本語版 http://www.bflets.dyndns.org/Tools/AWStat...
2006-04-07現在 ver6.5の日本語修正版
本家「AWStats」もVer.4.0から正式に日本語に対応したこと...
より完璧な日本語対応を目指して修正を行ったものを公開し...
使わしてもらう。
*Jcode.pm のインストール [#ladc4961]
オリジナルログ内のURLをデコードするために必要
参照~
http://openlab.jp/Jcode/index-j.html~
http://www.mytools.net/memo/JcodePM.html
「Jcode-0.xx.tar.gz」をダウンロード~
http://www.ring.gr.jp/pub/lang/perl/CPAN/modules/by-mod...
インストール
# tar zxvf Jcode-0.88.tar.gz
# cd Jcode-0.88
# perl Makefile.PL; make; make install
確認
# perl -MJcode -e'print $Jcode::VERSION'
0.88
*nkfインストール [#a2b21502]
「nkf206a.tar.gz」をダウンロード~
http://sourceforge.jp/projects/nkf/
インストール
# tar zxvf nkf206a.tar.gz
# cd nkf206
# make
# cp nkf /usr/bin/
# rm -rf nkf206
# rm -f nkf206a.tar.gz
*環境確認 [#t2e133d8]
-perlのバージョンが5.8.0以降である
# perl -v
This is perl, v5.8.5 built for i386-linux-thread-multi
-perlの場所
# which perl
/usr/bin/perl
-WWWサーバのCGIディレクトリのパス~
本文では /usr/local/apache/cgi-bin とする
-Apacheのアクセスログのパス~
本文では /usr/local/apache/logs/access_log とする
-WWWサーバのルートディレクトリ~
本文では /home/hoge/public_html とする
-Apacheのログフォーマットがcombinedである
# vi /usr/local/apache/conf/httpd.conf
httpd.conf
CustomLog /usr/local/apache/logs/access_log combined
*AWStats 6.5完全日本語版 インストール [#saa97647]
参考~
http://www.akenotori.jp/soft/26.html#SEC9~
http://cyberam.dip.jp/linux_server/log/awstats60_main.h...
http://honana.com/awstats~
-「AWStats65_Jpn.tar.gz」をダウンロード~
http://www.bflets.dyndns.org/Tools/AWStatsJpn.html
-展開
# tar zxvf AWStats65_Jpn.tar.gz
# cd AWStats65_Jpn
-インストールディレクトリの準備~
イメージファイルディレクトリ
# mkdir /home/hoge/public_html/awstats
# mkdir /home/hoge/public_html/awstats/images
AWStatsインストールディレクトリ
# mkdir /usr/local/apache/cgi-bin/awstats
-インストール
# cd /usr/local/src/AWStats65_Jpn/wwwroot/
# cp -rf cgi-bin/* /usr/local/apache/cgi-bin/awstats/
# cp -rf icon/* /home/qrpnt/public_html/awstats/images/
-設定
# cd /usr/local/apache/cgi-bin/awstats/
# nkf -ed awstats.model_jp.conf > awstats.www.hoge.jp.conf
# vi awstats.www.hoge.jp.conf
awstats.www.hoge.jp.conf
LogFile="/usr/local/apache/cgi-bin/awstats/access_log.ut...
SiteDomain="www.hoge.jp"
DNSLookup=1
DirCgi="/cgi-bin/awstats"
DirIcons="/awstats/images"
DetailedReportsOnNewWindows=0
Lang="jp"
-ログファイル作成
# /usr/local/apache/cgi-bin/awstats/utf8_decode.pl </u...
-手動でアクセス解析実行
# cd /usr/local/apache/cgi-bin/awstats
# perl awstats.pl -config=www.hoge.jp -update
正常に終了していれば、処理結果が以下のような形で表示さ...
Lines in file: 225730
Found 5 dropped records,
Found 124 corrupted records,
Found 0 old records,
Found 225601 new records.
-静的html生成
# /usr/local/apache/cgi-bin/awstats.pl -config=www.hoge....
ブラウザでアクセス解析ファイルにアクセスしてみる~
http://www.hoge.jp/awstats/
*定期的に実行 [#kb8d698e]
# cd /usr/local/src/AWStats65_Jpn/
# nkf -ed awstats.cron > /usr/local/apache/cgi-bin/awsta...
awstats.cron
#! /usr/bin/perl
# 完全日本語版AWStats用サンプルcronファイル
#
# ファイルパス等は自分の環境に合わせて書き直して下さい。
# httpのログファイルをデコードした上で一時ディレクトリに...
# access_log.utf8は一時的にデコードしたログを保存するフ...
system("/usr/local/apache/cgi-bin/awstats/utf8_decode.pl...
# ログファイルが複数の場合、ファイル数の分行う
#system("/usr/local/apache/cgi-bin/awstats/utf8_decode.p...
# awstats.plが切り詰めないオリジナルのログを切り詰めます。
#open(LOG,"+</usr/local/apache/logs/access_log");
#truncate(LOG,0);
#close(LOG);
#open(LOG,"+</usr/local/apache/logs/ssl_access_log");
#truncate(LOG,0);
#close(LOG);
# Ver.5.0から、更新処理を別途走らせる必要ができたらしい....
system("/usr/local/apache/cgi-bin/awstats/awstats.pl -co...
# awstats.plを走らせ、htmlファイルを出力します。
# 必須ではありませんが、awstats.plを直接参照させるよりも...
# る方が、良好なパフォーマンスが得られます。
system("/usr/local/apache/cgi-bin/awstats/awstats.pl -co...
# アクセス可能になるように出力したhtmlファイルの権限を変更
system("chgrp hoge /home/hoge/public_html/awstats/index....
system("chown hoge /home/hoge/public_html/awstats/index....
パーミッションを変更
# chmod 700 /usr/local/apache/cgi-bin/awstats/awstats.cron
cron でこのスクリプトを自動実行
(例では30分毎に実行)
# crontab -e
*/30 * * * * perl /usr/local/apache/cgi-bin/awstats/awst...
*AWStatsとlogrotateの問題点解決 [#o7e98f4f]
Apacheのaccess_logをlogrotateによりローテーションしている...
例えば4時10分にaccess_logの ログローテーションが行われる...
「定期的に実行する」で紹介したスクリプトは30時間おきに実...
4時に実行されたとして次に実行されるのは4時30分であるため、~
4時から4時10分の間にaccess_logに記録されたログはawstatsの...
この問題を解決するにはaccess_logをローテーションする直前...
/etc/logrotate.d/apacheを編集します。
# vi /etc/logrotate.d/apache
下記をapache再起動の前に追加
prerotate
perl /usr/local/apache/cgi-bin/awstats/awstats.cron
endscript
*ワームが残すログによるAWStatsのエラー回避 [#o5a7da6c]
WindowsのIISやWebDAVの脆弱性を突いた攻撃により、Linuxでは...
# vi /usr/local/apache/conf/httpd.conf
下記を~
<IfModule mod_setenvif.c>~
・・・~
</IfModule>~
内に追記
SetEnvIf Request_URI "default\.ida" wormlog
SetEnvIf Request_URI "cmd\.exe" wormlog
SetEnvIf Request_URI "root\.exe" wormlog
SetEnvIf Request_URI "Admin\.dll" wormlog
SetEnvIf Request_URI "NULL\.IDA" wormlog
SetEnvIf Request_URI "NULL\.printer" wormlog
SetEnvIf Request_URI "mem_bin" wormlog
SetEnvIf Request_URI "vti_bin" wormlog
SetEnvIf Request_URI "MSADC" wormlog
CustomLog を変更
CustomLog /usr/local/apache/logs/access_log combined env...
CustomLog /usr/local/apache/logs/worm_log combined env=w...
これにより、NimdaやCode Red、Code Blueなどによるログはacc...
また、WebDAVの脆弱性を突いた攻撃によるログは大変サイズが...
[12/Mar/2004:20:14:15 +0900] "SEARCH /\x90\x02\xb1\x02\x...
というものが延々記録されます。このログは SetEnvIf では回...
(URIが長すぎることによる414エラー(Request-URI Too Long...
このログをaccess_logファイルに記録しない方法は次のようにh...
# vi /usr/local/apache/conf/httpd.conf
httpd.conf
LogFormat "%h %l %u %t \"%!414r\" %>s %b \"%{Referer}i\"...
Apache再起動
# /usr/local/apache/bin/apachectl restart
ページ名: