アクセスログは、環境定義ファイル(httpd.conf)において、以下に示すディレクティブでihsrlogコマンド実行文、またはログファイル名を指定することにより出力します。
ポイント
ihsrlogコマンド実行文を指定して出力させるログファイルは、ログローテーションコマンド(ihsrlog)のオプション指定により、それぞれのログローテーションを以下の5とおりの単位で指定できます。
時刻単位(-Tオプション指定時)
日付単位(-Cオプション指定時)
曜日単位(-Wオプション指定時)
日数単位(-dオプション指定時)
ファイルサイズ単位(-sオプション指定時)
初期値は、ログメッセージがログローテーションコマンド(ihsrlog)により以下のログファイル(インストールディレクトリはデフォルト)に出力される設定です。
なお、ログファイルの出力先を以下の初期値から変更した場合、一括情報採取ツール(iscollectinfoコマンド)では採取できません。その場合、別途ログファイルを採取してください。
C:\Interstage\F3FMihs\servers\(Webサーバ名)\logs\accesslog
/var/opt/FJSVihs/servers/(Webサーバ名)/logs/accesslog
フィルタリング機能を使用できます。
HTTPリクエストの属性に基づきSetEnvIfディレクティブを設定することにより、特定のIPアドレスからのリクエスト、または特定のURLへのリクエストなどのアクセスログを出力しないように指定できます。
出力するログの項目については、“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