Apache/ログ管理
をテンプレートにして作成
Search in
this wiki
and
or
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
最近のApacheは、ソースに手を加えなくても、httpd.confだ...
#contents
#br
** rotatelogs.exeによるログのローテーション [#zc4ccfb3]
Linuxであれば、logrotateを使うのが普通なんでしょう。Win...
しかし、ここではApache付属の rotatelogs.exe を使ってみ...
httpd.conf で
CustomLog logs/access.log common
と記述されているところを
CustomLog "| C:/Apache1.3.29/bin/rotatelogs.exe C:/Apach...
と変更します。ファイルパスは絶対パスじゃないとうまくいか...
refer.log, agent.log に対しても、同様にローテーション処...
** 画像ファイルをロギングしない。 [#y8deee65]
「Webサイトの&ruby(・・・・){見られ方};をログからトレー...
AddModule mod_setenvif.c
が有効になっていることを確認して、(それ以降ならどこでも...
SetEnvIf Request_URI "\.(gif)|(jpg)|(png)$" nolog
を追加します。そして、
CustomLog logs/access.log common env=!nolog
とすると、指定した拡張子のファイルは記録されません。前述...
CustomLog "| C:/Apache1.3.29/bin/rotatelogs.exe C:/Apach...
って感じでしょうか?
cf . http://apache.cesars.org/docs-1.3/mod/mod_setenvif.h...
** ウィルス、ワームからのリクエスト対策 [#m3f1733d]
ついでに、Nimda等ワームからのリクエストは別ファイルに記...
SetEnvIf Request_URI "^/_mem_bin/" warm nolog
SetEnvIf Request_URI "^/_vti_bin/" warm nolog
SetEnvIf Request_URI "^/c/" warm nolog
SetEnvIf Request_URI "^/d/" warm nolog
SetEnvIf Request_URI "^/msadc/" warm nolog
SetEnvIf Request_URI "^/MSADC/" warm nolog
SetEnvIf Request_URI "^/scripts/" warm nolog
SetEnvIf Request_URI "^/default.ida" warm nolog
SetEnvIf Request_URI "^/NULL.IDA" warm nolog
CustomLog "| C:/Apache1.3.29/bin/rotatelogs.exe C:/Apach...
を追加するとOK。
** ウィルス、ワームからのリクエスト対策(2) [#p4ea833d]
最近のApacheのアクセスログを見ると、以下のような「URI t...
{IP} - - [24/Apr/2004:11:57:21 +0900] "SEARCH /\x90\x02\...
「URI too long」なログはSetEnvIfではうまく分離できない...
LogFormat "%h %l %u %t \"%!414r\" %>s %b \"%{Referer}i\"...
** 自サイト内のページ移動をReferralログから削除 [#laf70e2d]
Referralログは''どのページからリンクをたどってきた''と...
詳細なサイトトレースをしない限り、自サイト内の移動を記...
Apacheの以前のバージョンではmod_log_refererにReferralIg...
例えば、当サイトの場合
SetEnvIf Referer jomora\.bne\.jp mysite
CustomLog logs/referer.log referer env=!mysite
とすると、Referがjomora.bne.jpだった場合、記録されません...
CustomLog "| C:/Apache1.3.29/bin/rotatelogs.exe C:/Apach...
とします。
** logrotateによるログのローテーション [#nec4a8c9]
linuxではこっちの設定の方がいいでしょうね。
/etc/logrotate.d/apache
/var/log/apache/access_log {
monthly
copytruncate
rotate 120
postrotate
EXT=`date -d '1 day ago' +%Y%m`
for f in $1;
do mv $f.1 $f.$EXT;
done
# /bin/kill -HUP `cat /var/run/httpd.pid 2> /dev/null...
endscript
}
/var/log/apache/error_log {
monthly
copytruncate
rotate 24
postrotate
EXT=`date -d '1 day ago' +%Y%m`
for f in $1;
do mv $f.1 $f.$EXT;
done
# /bin/kill -HUP `cat /var/run/httpd.pid 2> /dev/null...
endscript
}
ポイントは、
-HUPシグナルを送ってログファイルを切り替えるんじゃなくて...
-年月をファイル名に残すために、先月(ローテート処理した1...
([[参考サイト:http://www.asahi-net.or.jp/~aa4t-nngk/logr...
** NCSA common形式から、combined形式へ変換するPerlスクリ...
#ref(common2combined.pl);
-要は、common形式のログに「 "-" "-"」を付け足すだけです。
-引数にcommon形式(もしくは形式混在)のログファイル名を指...
-既存の別フォルダ(ソース内で固定指定)に、combined形式の...
-解析できなかったログレコードは、標準出力に出力されます。...
終了行:
最近のApacheは、ソースに手を加えなくても、httpd.confだ...
#contents
#br
** rotatelogs.exeによるログのローテーション [#zc4ccfb3]
Linuxであれば、logrotateを使うのが普通なんでしょう。Win...
しかし、ここではApache付属の rotatelogs.exe を使ってみ...
httpd.conf で
CustomLog logs/access.log common
と記述されているところを
CustomLog "| C:/Apache1.3.29/bin/rotatelogs.exe C:/Apach...
と変更します。ファイルパスは絶対パスじゃないとうまくいか...
refer.log, agent.log に対しても、同様にローテーション処...
** 画像ファイルをロギングしない。 [#y8deee65]
「Webサイトの&ruby(・・・・){見られ方};をログからトレー...
AddModule mod_setenvif.c
が有効になっていることを確認して、(それ以降ならどこでも...
SetEnvIf Request_URI "\.(gif)|(jpg)|(png)$" nolog
を追加します。そして、
CustomLog logs/access.log common env=!nolog
とすると、指定した拡張子のファイルは記録されません。前述...
CustomLog "| C:/Apache1.3.29/bin/rotatelogs.exe C:/Apach...
って感じでしょうか?
cf . http://apache.cesars.org/docs-1.3/mod/mod_setenvif.h...
** ウィルス、ワームからのリクエスト対策 [#m3f1733d]
ついでに、Nimda等ワームからのリクエストは別ファイルに記...
SetEnvIf Request_URI "^/_mem_bin/" warm nolog
SetEnvIf Request_URI "^/_vti_bin/" warm nolog
SetEnvIf Request_URI "^/c/" warm nolog
SetEnvIf Request_URI "^/d/" warm nolog
SetEnvIf Request_URI "^/msadc/" warm nolog
SetEnvIf Request_URI "^/MSADC/" warm nolog
SetEnvIf Request_URI "^/scripts/" warm nolog
SetEnvIf Request_URI "^/default.ida" warm nolog
SetEnvIf Request_URI "^/NULL.IDA" warm nolog
CustomLog "| C:/Apache1.3.29/bin/rotatelogs.exe C:/Apach...
を追加するとOK。
** ウィルス、ワームからのリクエスト対策(2) [#p4ea833d]
最近のApacheのアクセスログを見ると、以下のような「URI t...
{IP} - - [24/Apr/2004:11:57:21 +0900] "SEARCH /\x90\x02\...
「URI too long」なログはSetEnvIfではうまく分離できない...
LogFormat "%h %l %u %t \"%!414r\" %>s %b \"%{Referer}i\"...
** 自サイト内のページ移動をReferralログから削除 [#laf70e2d]
Referralログは''どのページからリンクをたどってきた''と...
詳細なサイトトレースをしない限り、自サイト内の移動を記...
Apacheの以前のバージョンではmod_log_refererにReferralIg...
例えば、当サイトの場合
SetEnvIf Referer jomora\.bne\.jp mysite
CustomLog logs/referer.log referer env=!mysite
とすると、Referがjomora.bne.jpだった場合、記録されません...
CustomLog "| C:/Apache1.3.29/bin/rotatelogs.exe C:/Apach...
とします。
** logrotateによるログのローテーション [#nec4a8c9]
linuxではこっちの設定の方がいいでしょうね。
/etc/logrotate.d/apache
/var/log/apache/access_log {
monthly
copytruncate
rotate 120
postrotate
EXT=`date -d '1 day ago' +%Y%m`
for f in $1;
do mv $f.1 $f.$EXT;
done
# /bin/kill -HUP `cat /var/run/httpd.pid 2> /dev/null...
endscript
}
/var/log/apache/error_log {
monthly
copytruncate
rotate 24
postrotate
EXT=`date -d '1 day ago' +%Y%m`
for f in $1;
do mv $f.1 $f.$EXT;
done
# /bin/kill -HUP `cat /var/run/httpd.pid 2> /dev/null...
endscript
}
ポイントは、
-HUPシグナルを送ってログファイルを切り替えるんじゃなくて...
-年月をファイル名に残すために、先月(ローテート処理した1...
([[参考サイト:http://www.asahi-net.or.jp/~aa4t-nngk/logr...
** NCSA common形式から、combined形式へ変換するPerlスクリ...
#ref(common2combined.pl);
-要は、common形式のログに「 "-" "-"」を付け足すだけです。
-引数にcommon形式(もしくは形式混在)のログファイル名を指...
-既存の別フォルダ(ソース内で固定指定)に、combined形式の...
-解析できなかったログレコードは、標準出力に出力されます。...
ページ名: