第4章 運用・保守
4.2 ログ
4.2.1 アクセスログ
・ 出力するログの項目をカスタマイズする場合は、「3.2.27 メッセージのカスタマイズ」を参照してください。
注意
・ ログローテーションを行わない場合は、ディスク容量を圧迫する可能性がありますので、ログローテーションを行うこと を推奨します。
なお、ログローテーションを行う場合は、ihsrlogコマンド実行文で指定したログファイル数の上限値に達した際に、最 も古いログファイルを削除して新しいログファイルを作成します。
・ メインホストおよびバーチャルホスト、または異なるディレクティブで、同じログファイルを指定しないでください。また、
複数Webサーバを運用している場合は、他のWebサーバと同じログファイルを指定しないでください。万が一、同一 のファイル名を指定した場合、ログファイルの内容およびログローテーションの動作を保証できません。
・ ihsrlogの詳細については、「リファレンスマニュアル(コマンド編)」の「保守情報採取コマンド」-「ihsrlog」を参照して
ください。
・ TransferLogディレクティブを使用して設定することもできます。
■ihsrlogコマンド実行文を指定して時刻単位で設定する場合
例
アクセスログのログローテーションを以下の条件で行う場合
・ ローテーション時刻:09時00分、17時00分
・ ファイル名:C:\Interstage\F3FMihs\servers\FJapache\logs\accesslog
・ ファイル数の上限値:5
CustomLog "|ihsrlog.exe -T logs/accesslog 0900,1700 5" ihs-analysis
アクセスログのログローテーションを以下の条件で行う場合
・ ローテーション時刻:09時00分、17時00分
・ ファイル名:/var/opt/FJSVihs/servers/FJapache/logs/accesslog
・ ファイル数の上限値:5
CustomLog "|/opt/FJSVihs/bin/ihsrlog -T logs/accesslog 0900,1700 5" ihs-analysis
■ihsrlogコマンド実行文を指定して日付単位・時刻指定で設定する場合
例
アクセスログのログローテーションを以下の条件で行う場合
・ 日付:毎月1日、11日、21日
・ ローテーション時刻:00時00分
・ ファイル名:C:\Interstage\F3FMihs\servers\FJapache\logs\accesslog
・ ファイル数の上限値:5
CustomLog "|ihsrlog.exe -C logs/accesslog 1,11,21 5" ihs-analysis
アクセスログのログローテーションを以下の条件で行う場合
・ 日付:毎月1日、11日、21日
・ ローテーション時刻:00時00分
・ ファイル名:/var/opt/FJSVihs/servers/FJapache/logs/accesslog
・ ファイル数の上限値:5
CustomLog "|/opt/FJSVihs/bin/ihsrlog -C logs/accesslog 1,11,21 5" ihs-analysis
注意
毎月31日にローテーションを行うように設定しても、31日が存在しない月は、ローテーションが行われません。月末にロー テーションを行いたい場合は、1日00時00分にローテーションを行うなどの設定を検討してください。
■ihsrlogコマンド実行文を指定して曜日単位・時刻指定で設定する場合
例
アクセスログのログローテーションを以下の条件で行う場合
・ 曜日:毎週月曜日、土曜日
・ ローテーション時刻:00時00分
・ ファイル名:C:\Interstage\F3FMihs\servers\FJapache\logs\accesslog
・ ファイル数の上限値:5
CustomLog "|ihsrlog.exe -W logs/accesslog Mon,Sat 5" ihs-analysis
アクセスログのログローテーションを以下の条件で行う場合
・ 曜日:毎週月曜日、土曜日
・ ローテーション時刻:00時00分
・ ファイル名:/var/opt/FJSVihs/servers/FJapache/logs/accesslog
・ ファイル数の上限値:5
CustomLog "|/opt/FJSVihs/bin/ihsrlog -W logs/accesslog Mon,Sat 5" ihs-analysis
■ihsrlogコマンド実行文を指定して日数単位で設定する場合
例
アクセスログのログローテーションを以下の条件で行う場合
・ 日数:1日
・ ローテーション時刻:「Webサーバ起動日の00時00分から日数(1日)×24時間」経過後の次のログ出力時
・ ファイル名:C:\Interstage\F3FMihs\servers\FJapache\logs\accesslog
・ ファイル数の上限値:5
CustomLog "|ihsrlog.exe -d logs/accesslog 1 5" ihs-analysis
アクセスログのログローテーションを以下の条件で行う場合
・ 日数:1日
・ ローテーション時刻:「Webサーバ起動日の00時00分から日数(1日)×24時間」経過後の次のログ出力時
・ ファイル名:/var/opt/FJSVihs/servers/FJapache/logs/accesslog
・ ファイル数の上限値:5
CustomLog "|/opt/FJSVihs/bin/ihsrlog -d logs/accesslog 1 5" ihs-analysis
■ihsrlogコマンド実行文を指定してファイルサイズ単位で設定する場合
例
アクセスログのログローテーションを以下の条件で行う場合
・ ファイルサイズ:1Mバイト
・ ファイル名:C:\Interstage\F3FMihs\servers\FJapache\logs\accesslog
・ ファイル数の上限値:5
CustomLog "|ihsrlog.exe -s logs/accesslog 1 5" ihs-analysis
アクセスログのログローテーションを以下の条件で行う場合
・ ファイルサイズ:1Mバイト
・ ファイル名:/var/opt/FJSVihs/servers/FJapache/logs/accesslog
・ ファイル数の上限値:5
CustomLog "|/opt/FJSVihs/bin/ihsrlog -s logs/accesslog 1 5" ihs-analysis
■フィルタリング機能を使用して特定のリクエストを出力しない場合
例
アクセスログを以下の条件で出力する場合
・ IPアドレス「192.168.1.1」からのリクエストをアクセスログに出力しない。
・ ファイルサイズ単位でログローテーションを行う
LoadModule setenvif_module "C:/Interstage/F3FMihs/modules/mod_setenvif.so"
SetEnvIf Remote_Addr 192\.168\.1\.1 nolog_remote_addr
CustomLog "|ihsrlog.exe -s logs/accesslog 1 5" ihs-analysis env=!nolog_remote_addr アクセスログを以下の条件で出力する場合
・ URL「/abc/」配下へのリクエストをアクセスログに出力しない
・ ファイルサイズ単位でログローテーションを行う
LoadModule setenvif_module "C:/Interstage/F3FMihs/modules/mod_setenvif.so"
SetEnvIf Request_URI "^/abc/" nolog_request_uri
CustomLog "|ihsrlog.exe -s logs/accesslog 1 5" ihs-analysis env=!nolog_request_uri アクセスログを以下の条件で出力する場合
・ メソッド「HEAD」のリクエストをアクセスログに出力しない
・ ファイルサイズ単位でログローテーションを行う
LoadModule setenvif_module "C:/Interstage/F3FMihs/modules/mod_setenvif.so"
SetEnvIf Request_Method HEAD nolog_request_method
CustomLog "|ihsrlog.exe -s logs/accesslog 1 5" ihs-analysis env=!nolog_request_method
アクセスログを以下の条件で出力する場合
・ IPアドレス「192.168.1.1」からのリクエストをアクセスログに出力しない。
・ ファイルサイズ単位でログローテーションを行う
LoadModule setenvif_module /opt/FJSVihs/modules/mod_setenvif.so SetEnvIf Remote_Addr 192\.168\.1\.1 nolog_remote_addr
CustomLog "|/opt/FJSVihs/bin/ihsrlog -s logs/accesslog 1 5" ihs-analysis env=!nolog_remote_addr アクセスログを以下の条件で出力する場合
・ URL「/abc/」配下へのリクエストをアクセスログに出力しない
・ ファイルサイズ単位でログローテーションを行う
LoadModule setenvif_module /opt/FJSVihs/modules/mod_setenvif.so SetEnvIf Request_URI "^/abc/" nolog_request_uri
CustomLog "|/opt/FJSVihs/bin/ihsrlog -s logs/accesslog 1 5" ihs-analysis env=!nolog_request_uri アクセスログを以下の条件で出力する場合
・ メソッド「HEAD」のリクエストをアクセスログに出力しない
・ ファイルサイズ単位でログローテーションを行う
LoadModule setenvif_module /opt/FJSVihs/modules/mod_setenvif.so SetEnvIf Request_Method HEAD nolog_request_method
CustomLog "|/opt/FJSVihs/bin/ihsrlog -s logs/accesslog 1 5" ihs-analysis env=!nolog_request_method
参考
関連ディレクティブ
・ CustomLog
・ LoadModule
・ SetEnvIf