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