Hitachi

Cosminexus V11 アプリケーションサーバ Cosminexus HTTP Server


4.2.3 ログを分割する(rotatelogsプログラム)

アクセスログ,エラーログ,リクエストログを一定時間単位(例えば,24時間ごと)に分割して,複数のファイルに出力できます。rotatelogsプログラムは次のディレクティブに指定できます。

プログラムの指定方法を次に示します。

〈この項の構成〉

(1) 形式

rotatelogs 分割ログファイルのプリフィックス  ログ分割時間間隔 〔-fnum ファイル数〕〔-diff GMTに対する時差〕〔-opt use_mtime〕〔-opt date_suffix〕

(2) オペランド

(3) 使用方法

ディレクティブに,"|プログラム名"の形式で指定して使用します。ログファイルを定期的に別ファイルに分割して採取します。

(例)Windows版

24時間ごとに,アクセスログを分割して<Application Serverのインストールディレクトリ>\httpsd\logs\access.nnnnnnnnnnファイルに採取します。分割時間を日本時間に設定し,日本時間の毎0時にログファイルを分割する場合の指定を次に示します。

TransferLog "|\"\"<Application Serverのインストールディレクトリ>/httpsd/sbin/rotatelogs.exe\" \"<Application Serverのインストールディレクトリ>/httpsd/logs/access\" 86400 -diff 540\""
  • ログファイル名:<Application Serverのインストールディレクトリ>\httpsd\logs\access.nnnnnnnnnn

  • ログ分割時間間隔:86400秒(=24時間)

年月日を含むファイル名(access.YYYYMMDD)のファイルにアクセスログを採取する指定を次に示します。

TransferLog "|\"\"<Application Serverのインストールディレクトリ>/httpsd/sbin/rotatelogs.exe\" \"<Application Serverのインストールディレクトリ>/httpsd/logs/access\" 86400 -diff 540 -opt date_suffix\""
  • ログファイル名:<Application Serverのインストールディレクトリ>\httpsd\logs\access.YYYYMMDD

(例)UNIX版

24時間ごとに,アクセスログを分割して/opt/hitachi/httpsd/logs/access.nnnnnnnnnnファイルに採取します。分割時間を日本時間に設定し,日本時間の毎0時にログファイルを分割する場合の指定を次に示します。

TransferLog "|/opt/hitachi/httpsd/sbin/rotatelogs /opt/hitachi/httpsd/logs/access 86400 -diff 540"
  • ログファイル名:/opt/hitachi/httpsd/logs/access.nnnnnnnnnn

  • ログ分割時間間隔:86400秒(=24時間)

年月日を含むファイル名(access.YYYYMMDD)のファイルにアクセスログを採取する指定を次に示します。

TransferLog "|/opt/hitachi/httpsd/sbin/rotatelogs /opt/hitachi/httpsd/logs/access 86400 -diff 540 -opt date_suffix"
  • ログファイル名:/opt/hitachi/httpsd/logs/access.YYYYMMDD

(4) 注意事項

(a) UNIX版の注意事項

  • rotatelogsプログラムはSIGTERM,SIGUSR1およびSIGHUPシグナルを受信してもプロセス終了処理を実施しませんが,制御プロセスとサーバプロセスが終了すればプロセス終了します。

(b) Windows版の注意事項

  • サービスとして起動した場合には,制御プロセスのログは採取されません。

  • ログファイルは,そのファイルを開いているプロセスがある間は削除できません。このため,-fnumで指定した値より多いファイルが残ることがあります。例えば,制御プロセスがログを出力したファイルは,制御プロセスが終了するまで削除されません。

  • 起動時に引数誤りなどがあった場合にWebサーバは起動しますが,rotatelogsプログラムは起動しません。その際,rotatelogsプログラムではイベントログに次に示す属性を持ったメッセージを出力します。

    • 種類:エラー

    • ソース:CosminexusHTTPServer

    • 分類:なし

    • イベント:3299

    • 説明:rotatelogs.exe: (メッセージ)

      出力されたメッセージの意味については,マニュアル「アプリケーションサーバ メッセージ(構築/運用/開発用)」の「21.7.4 rotatelogsプログラム」を参照してください。

    このメッセージが出力されていた場合,メッセージ内容に従って引数を見直したあとにサーバを再起動してください。なお,同じメッセージが複数回出力されることがあります。

(c) 共通の注意事項

  • -fnumオペランドの指定によるログファイルの制御はWebサーバの再起動時に,ディレクトリ名またはログファイルのプリフィックスを変更すると,以前に採取したログファイルは削除されません。この場合は運用に応じて削除してください。

  • Webサーバを起動または再起動してから,指定したログ分割間隔時間が経過した場合,分割したログファイルのプリフィックスに一致するファイルの数が-fnumオペランドの指定値を超えると,作成時間または更新時間(-opt use_mtime指定時)の古いログファイルから削除されます。

  • 分割ログファイルのプリフィックスは絶対パスで指定してください。

  • TransferLog,CustomLog,ErrorLog,およびHWSRequestLogディレクティブのrotatelogsプログラムの引数指定に誤りがある場合,rotatelogsプログラムの起動に失敗しますが,Webサーバは起動します。この場合はログが出力されません。TransferLog,CustomLog,ErrorLog,およびHWSRequestLogディレクティブにrotatelogsプログラムを指定した場合は,ログファイルが作成され,意図した分割が実施されることを確認してください。