Cosminexus V9 アプリケーションサーバ Cosminexus HTTP Server
アクセスログやエラーログを一定時間単位(例えば,24時間ごと)に分割して,複数のファイルに出力できます。rotatelogsプログラムは次のディレクティブに指定できます。
- CustomLogディレクティブ
- ErrorLogディレクティブ
- HWSRequestLogディレクティブ
- TransferLogディレクティブ
プログラムの指定方法を次に示します。
- <この項の構成>
- (1) 形式
- (2) オペランド
- (3) 使用方法
- (4) 注意事項
rotatelogs 分割ログファイルのプリフィックス ログ分割時間間隔 〔-fnum ファイル数〕〔-diff GMTに対する時差〕
|
- 分割ログファイルのプリフィックス
分割ログファイルのプリフィックスを絶対パスで指定します。
「プリフィックス.nnnnnnnnnn」というファイルに,ログを採取します。
- nnnnnnnnnn:ログ採取開始時刻を表します。ログ採取時刻とは次の式で示す値です。
- ((1970年1月1日の0時0分0秒(GMT:Greenwich Mean Time)を起点とした,ログを出力する時間の通算秒数÷ログ分割時間間隔)の小数点以下を切り捨てた値)×ログ分割時間間隔
- ログ分割時間間隔 〜((1−31536000))
一つのログファイルを採取する時間間隔を秒単位に指定します。指定した時間が経過するごとに,新規ファイルにログを採取します。
- -fnum ファイル数 〜((1−256))
分割したログファイルのファイル数を指定します。分割したファイル数がここで指定した数を超えた場合,最も古いファイルから削除されます。このオペランドを省略した場合,ファイルは削除されません。
- -diff GMTに対する時差 〜((-1439−1439))
ログファイルを分割する基準となる時間を,GMTに対する時差として分単位で指定します。指定しないまたは0を指定すると,1970年1月1日0時0分0秒(GMT)が基準時間となります。GMTに対するローカルタイムの差がn時間である場合に,ローカルタイムのm時0分0秒を基準にする場合には,(n-m)×60を指定します。JSTの0時0分0秒を基準にする場合には,(+9-0)×60で540を指定します。
ディレクティブに,"|プログラム名"の形式で指定して使用します。ログファイルを定期的に別ファイルに分割して採取します。
- (例)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時間)
- (例)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時間)
(a) UNIX版の注意事項
- rotatelogsプログラムはSIGTERM,SIGUSR1およびSIGHUPシグナルを受信してもプロセス終了処理を実施しませんが,制御プロセスとサーバプロセスが終了すればプロセス終了します。
(b) Windows版の注意事項
- サービスとして起動した場合には,制御プロセスのログは採取されません。
- ログファイルは,そのファイルを開いているプロセスがある間は削除できません。このため,-fnumで指定した値より多いファイルが残ることがあります。例えば,制御プロセスがログを出力したファイルは,制御プロセスが終了するまで削除されません。
- 起動時に引数誤りなどがあった場合にWebサーバは起動しますが,rotatelogsプログラムは起動しません。その際,rotatelogsプログラムではイベントログに次に示す属性を持ったメッセージを出力します。
- 種類:エラー
- ソース:CosminexusHTTPServer
- 分類:なし
- イベント:3299
- 説明:rotatelogs.exe: (メッセージ)
出力されたメッセージの意味については,マニュアル「アプリケーションサーバ メッセージ(構築/運用/開発用)」の「23.9(6) rotatelogsプログラム」を参照してください。
このメッセージが出力されていた場合,メッセージ内容に従って引数を見直したあとにサーバを再起動してください。なお,同じメッセージが複数回出力されることがあります。
(c) 共通の注意事項
- -fnumオペランドの指定によるログファイルの制御はWebサーバの再起動時に,ディレクトリ名またはログファイルのプリフィックスを変更すると,以前に採取したログファイルは削除されません。この場合は運用に応じて削除してください。
- Webサーバを起動または再起動してから,指定したログ分割間隔時間が経過した場合,分割したログファイルのプリフィックスに一致するファイルの数が-fnumオペランドの指定値を超えると,作成時間の古いログファイルから削除されます。
- 分割ログファイルのプリフィックスは絶対パスで指定してください。
- TransferLog,CustomLog,ErrorLog,およびHWSRequestLogディレクティブのrotatelogsプログラムの引数指定に誤りがある場合,rotatelogsプログラムの起動に失敗しますが,Webサーバは起動します。この場合はログが出力されません。TransferLog,CustomLog,ErrorLog,およびHWSRequestLogディレクティブにrotatelogsプログラムを指定した場合は,ログファイルが作成され,意図した分割が実施されることを確認してください。
All Rights Reserved. Copyright (C) 2012, 2015, Hitachi, Ltd.