jevlogstart
機能
ログファイルトラップを起動します。このコマンドを実行すると,オプションに指定したログファイルを検索し,ログファイルトラップ動作定義ファイルで指定した条件に合うログの1行をJP1イベント化して,イベントサーバに登録します。このコマンドの起動前に,ログファイルトラップ動作定義ファイルを作成しておく必要があります。
このコマンドを実行した環境のロケール情報(LANGなどの言語種別)でログを監視してJP1イベントに登録するため,ログファイルトラップ動作定義ファイルと監視対象のログファイルの言語を統一する必要があります。
UNIXの場合,監視できるログファイルの言語については,「3.4.2 使用する言語種別を設定する(UNIXの場合)」を参照してください。
Windowsの場合,監視できるログファイルの言語は,MS932,Unicode(UTF-8,UTF-16),およびCです。Unicodeのファイルを監視する場合,ログファイルトラップ動作定義ファイルは,UnicodeではなくOSの起動している言語で作成してください。
ログファイルに出力されるデータの形式が異なるファイルは同時に扱えません。この場合は,新たに別のログファイルトラップを起動してください。
このコマンドを実行して正常にログファイルトラップが起動すると,標準出力にログファイルトラップのID番号を出力します。このID番号は,Windowsの場合はスレッドID,UNIXの場合はプロセスIDです。ID番号は,次に示すコマンドで使用します。
-
jbsgetopinfoコマンド(稼働情報取得)
-
jevlogstatコマンド(状態確認)
-
jevlogstopコマンド(ログファイルトラップの停止)
-
jevlogreloadコマンド(リロード)
なお,クラスタ運用でのフェールオーバー時に,ログファイルトラップ起動定義ファイルに指定されているログファイルトラップをまとめて起動するためのコマンドについては,「jevlogstart(クラスタ運用限定)」を参照してください。
形式
jevlogstart [-f ログファイルトラップ動作定義ファイル名] [-t ファイル監視間隔(秒)] [-m イベント化するデータの最大長(バイト)] [-h] [-n 表示コマンド名](UNIX限定) [-p ログデータ出力元プログラム名] [-r] [-s 登録先イベントサーバ名] [-a 監視名] [{-g UTF-8 | -g [UTF-16] [-b { LE | BE }]}](Windows限定) [-x] {ログファイル名1[ログファイル名32(100)] | ログファイル名(UPDタイプのログファイル監視用)}
実行権限
Windowsの場合:Administrators権限(WindowsのUAC機能が有効な場合は管理者コンソールから実行)
UNIXの場合:スーパーユーザー権限またはJP1/Base管理者権限
格納先ディレクトリ
- Windowsの場合
-
インストール先フォルダ\bin\
- UNIXの場合
-
/opt/jp1base/bin/
引数
-f 動作定義ファイル名
ログファイルトラップ動作定義ファイルの名称を256バイト以内で指定します。相対パス名を指定する場合,ディレクトリ名を補ったフルパス名が256バイト以内になるように指定してください。相対パスはこのコマンドを実行するカレントディレクトリからの相対パスです。
なお,次のようなログファイルトラップ動作定義ファイルは,指定できません。
-
フォルダ名,ディレクトリ名,またはファイル名に環境依存文字を含むファイル
-
UNIXの場合,ディレクトリ名やファイル名にスペースを含むファイル
-
Windowsの場合,Unicodeファイル
あらかじめconfフォルダにjevlog.confを作成し,そこに動作定義内容を指定しておいた場合,このオプションは省略できます。
jevlog.confの格納先ディレクトリは次のとおりです。
- Windowsの場合
-
インストール先フォルダ\conf\
- UNIXの場合
-
/etc/opt/jp1base/conf/
-t ファイル監視間隔(秒)
ログファイルの監視間隔(1〜86,400秒)を指定します。このオプションを省略すると,10が仮定されます。
- WRAP1,WRAP2またはHTRACEの形式のログファイルを監視する場合
-
ラップアラウンドする頻度が高い場合や監視間隔を長く指定した場合に,ログファイルトラップがデータを読み込む前に上書きされてしまい,データの読み込み漏れが発生するおそれがあります。データの読み込み漏れの予防策として,次の監視間隔の見積もり式を参考にしてください。
ログファイルサイズ(バイト) × ログファイル数 > 1秒当たりの出力サイズ(バイト) × 監視間隔(秒)
-m イベント化するデータの最大長(バイト)
指定したログファイルを読み込むとき,ログファイルの1行を,先頭から何バイト(1〜1,024)までJP1イベントにするのかを指定します。行の終了文字は終了記号「\0」に変更されます。先頭からのバイトの指定には,「\0」が含まれます。読み込んだログファイルの1行がこのオプションで指定されたバイト数を超えた場合,イベント化するデータは「-mで指定したバイト数 - 1バイト」になります。
このオプションで指定した値は,入力したログファイルの1行の有効範囲を示します。したがって,ログファイルトラップ動作定義ファイルのMARKSTRパラメーターの正規表現とACTDEFパラメーターの正規表現をチェックするのは,ここで指定した範囲内です。つまり,有効範囲を超えたカラムに対応する正規表現があっても,それらはチェックの対象にはなりません。このオプションを省略すると,512が仮定されます。行終了文字は「\0」に変更されます。
-h
ログを先頭から読み込みたい場合に指定します。ログを出力するプログラムを起動したあとに,このオプションを省略してコマンドを実行すると,コマンド実行時点ですでに出力されているログは読み込まれません。しかし,このオプションを指定すれば,ファイルの先頭データから読み込みができるようになります。
ラップアラウンドファイルの場合,ファイルの先頭からEOF(End Of File)までデータを読み込んだ後,カレント入力ポインターを見つけて,最新データを読み込んでいきます。
-n 表示コマンド名
このオプションはUNIXだけで使用できます。
ログファイルトラップの表示コマンド名を指定します。この表示コマンド名は,psコマンドで表示できます。なお,コマンド名は256バイト以内で指定してください。表示コマンド名にはスペースは使用できません。このオプションを省略した場合,「ログファイル名1」が表示コマンド名に仮定されます。
-p ログデータ出力元プログラム名
ログデータを出力するプログラム名を指定します。プログラム名は256バイト以内で指定してください。スペースを含むプログラム名は指定できません。
指定した名称はJP1/IM - Viewの[イベントコンソール]画面に表示されます。表示される名称は次のとおりです。
- Windowsの場合
-
/HITACHI/JP1/NT_LOGTRAP/ログデータ出力元プログラム名
- UNIXの場合
-
/HITACHI/JP1/UX_LOGTRAP/ログデータ出力元プログラム名
このオプションを省略すると,Windowsの場合,「/HITACHI/JP1/NT_LOGTRAP」,UNIXの場合,「/HITACHI/JP1/UX_LOGTRAP」と表示されます。
-r
-rオプションを指定しておくと,ログファイルトラップ起動時に指定したログファイルが存在しなかった場合,そのファイルが作成されるまで,-tオプションで指定した間隔でオープンを試みます。オープンに成功すると検索を開始します。
UPDタイプのログファイルを監視する場合,ログファイルトラップ起動時に指定したログファイル名(ワイルドカード含む)に該当するファイルが作成されるまで,-tオプションで指定した間隔で監視対象となるファイルの検出を試みます。
共有ディスクのログファイルを監視する場合は,論理ホストの起動と停止に合わせてログファイルトラップを起動および停止してください。なお,-rオプションは,ログファイルトラップの起動後に作成されるログファイルを監視する場合に指定してください。
このオプションを省略した場合,ログファイルトラップを起動した時点で,指定したログファイルが存在していない場合,ログファイルトラップはログファイルのオープンを中止し,処理を終了します。
-s 登録先イベントサーバ名
JP1イベント登録先のサーバ名を,このオプションで指定されたサーバ名に変更します。指定できるイベントサーバは,自ホストで稼働しているイベントサーバに限ります。このオプションを省略すると,自ホストと同じイベントサーバ名(hostnameコマンドが返すホスト名)が仮定されます。イベントサーバ名は255バイト以内で指定してください。大文字,小文字は区別されます。
このオプションは,主にクラスタシステムで使用します。
また,自ホスト名がショート名の環境で物理ホストのイベントサービスをFQDN形式で起動している場合は,このオプションで明示的にFQDN形式のイベントサーバ名を指定してください。
-a 監視名
ID番号に代わる別名として監視名を指定します。監視名は30バイト以内で指定してください。使用できる文字は,英数字,ハイフン,およびアンダーラインです。監視名の先頭の文字は,必ず英数字を指定してください。大文字,小文字は区別されます。
-g UTF-8 | -g [UTF-16] [-b { LE | BE }]
このオプションはWindowsだけで使用できます。
このオプションを指定すると,ログファイルトラップはUnicodeファイルとして監視します。また,JP1イベントを登録する際のコードセットが,UTF-8になります。動作定義ファイルの条件文の正規表現には,拡張正規表現を適用します。
このオプションを省略した場合は,ログファイルトラップは非Unicodeファイルとして監視します。
- -g UTF-8
-
ログファイルトラップはUTF-8のUnicodeファイルとして監視します。
- -g [UTF-16]
-
ログファイルトラップはUTF-16のUnicodeファイルとして監視します。指定値のUTF-16は省略できます。なお,ログファイルトラップ動作定義ファイルのFILETYPEパラメーターにHTRACEを指定している場合は指定できません。
監視できるUTF-16のUnicodeの形式を次に示します。
-
UTF-16:BOM(Byte Order Mark)があるUTF-16。
-
UTF-16LE:BOMがない,リトルエンディアン形式のUTF-16。
-
UTF-16BE:BOMがない,ビッグエンディアン形式のUTF-16。
- BOMがあるUnicodeファイルを監視する場合
-
BOMの値によってバイトオーダー(リトルエンディアン形式またはビッグエンディアン形式)を判別して監視します。
- BOMがないUnicodeファイルを監視する場合
-
-b {LE | BE}オプションでUnicodeファイルのバイトオーダーを指定できます。-b {LE | BE}オプションを省略した場合は,プロセッサのアーキテクチャによって,バイトオーダーを判別して監視します。なお,Windowsの場合は,リトルエンディアン形式のUnicodeファイル(UTF-16LE形式)として監視します。
-
- -b { LE | BE }
-
このオプションを指定すると,明示的にUnicodeファイルのバイトオーダーを指定できます。このオプションを指定するときは,-g [UTF-16]オプションに続いて指定する必要があります。
- BOMがあるUnicodeファイルを監視する場合
-
このオプションの指定は無視されて,BOMの値よってバイトオーダーを判別して監視します。
- BOMがないUnicodeファイルを監視する場合
-
指定された形式のUnicodeファイルとして監視します。指定値を次に示します。
- LE
-
リトルエンディアン形式のUnicodeファイル(UTF-16LE形式)として監視します。
- BE
-
ビッグエンディアン形式のUnicodeファイル(UTF-16BE形式)として監視します。
-x
ログファイルをJP1イベント化したときの拡張属性JP1_SOURCEHOSTに,ログデータの出力元ホスト名を設定する場合に指定します。
ログファイル名1[ ...ログファイル名32(100)]
監視するログファイル名を256バイト以内で指定します。なお,相対パス名を指定する場合,ディレクトリ名を補った完全名が256バイト以内になるように指定してください。相対パスはこのコマンドを実行するカレントディレクトリからの相対パスです。ログファイル名はオプションの最後に指定してください。
ログファイル名には,次のようなログファイルは指定しないでください。
-
ファイル名の先頭が「-(ハイフン)」のログファイル
-
フォルダ名,ディレクトリ名,またはファイル名に環境依存文字を含むファイル
-
UNIXの場合,ディレクトリ名やファイル名にスペースを含むファイル
指定できるファイル名の数はWindowsでは32個,UNIXでは100個までです。ただし,オープンできるファイル数が各システムによって異なるため,実際に指定できる個数の最大値は,Windowsでは32以下,UNIXでは100以下になる場合があります。また,UNIXの場合,1ログファイルの監視につき,1プロセスを使用します。
なお,1回のjevlogstartコマンドの実行でログファイルを一つ指定した場合,ログデータの出力順とJP1イベントの登録順は一致します。それに対して,1回のjevlogstartコマンドの実行で複数のログファイルを指定した場合,それぞれのログファイルを独立して監視します。その際,監視間隔中にログデータが複数のログファイルにわたって出力されると,それぞれのログファイルを並行して監視するため,ログデータの出力順とJP1イベントの登録順が一致しないことがあります。
psコマンドで表示されるコマンド名は「ログファイル名.child」です。
ログファイル名(UPDタイプのログファイル監視用)
UPDタイプのログファイルを監視するときのログファイル名を256バイト以内で指定します。ログファイルトラップ動作定義ファイルのFILETYPEパラメーターに,UPDを指定した場合に使用します。
ログファイル名は,ワイルドカード(*または?)を含めて指定します。使用できるワイルドカードは,「*(任意の0文字以上の文字列)」と「?(任意の1文字)」です。ワイルドカードは,ファイル名の個所だけに指定できます。相対パスの個所には指定できません。UNIXの場合,シェルがワイルドカードを展開しないように次に示す例を参考に指定してください。
- (例)
-
-
ファイル名をダブルクオート「""」で囲む
"/home/log*.log"
-
ワイルドカードを「¥」でエスケープする
/home/log\*.log
-
指定できるファイル名の個数はWindows,UNIX ともに1個です。
なお,相対パス名を指定する場合,ディレクトリ名を補った完全名が256バイト以内になるように指定してください。相対パスはこのコマンドを実行するカレントディレクトリからの相対パスです。ログファイル名はオプションの最後に指定してください。大文字,小文字は区別されます。
ログファイル名には,次のようなログファイルは指定しないでください。
-
ファイル名の先頭が「-(ハイフン)」のログファイル
-
フォルダ名,ディレクトリ名,またはファイル名に環境依存文字を含むファイル
-
UNIXの場合,ディレクトリ名やファイル名にスペースを含むファイル
注意事項
-
ログファイルの形式によっては監視できない場合があります。監視できるログファイルおよび監視できないログファイルの形式については,「2.4.4 監視できるログファイル」および「2.4.5 監視できないログファイル」を参照してください。
-
ログファイルトラップは,ログを出力するプログラムを起動する前に起動してください。ログ出力中のファイルに対してログファイルトラップを起動すると,正しくトラップできません。まだ,存在していないログファイルを指定する場合は,-rオプションでログファイルトラップを待機させてください。
-
Windowsの場合はログファイルトラップ管理サービス,UNIXの場合はログファイルトラップ管理デーモンが起動しているのを確認してから,jevlogstartコマンドを実行してください。
-
UPDタイプのログファイルを監視する場合,ログファイル名にワイルドカード「*」を多数指定してログファイルトラップを起動すると,監視対象ファイルの検索に時間が掛かるおそれがあります。ワイルドカード「*」を使用するときは,必要な個所にだけ使用してください。
-
UPDタイプのログファイルを監視する場合,ワイルドカードの条件に該当するファイルでも,ファイル名の長さが完全名で257バイト以上のときは監視対象にはなりません。
-
UPDタイプのログファイルを監視する場合,監視対象になるディレクトリにログファイル以外のファイルが作成されると,ワイルドカードの条件に該当して監視の対象になるおそれがあります。監視対象になるディレクトリには,バックアップファイルなどをコピーしないでください。
-
UPDタイプのログファイルを監視する場合,KAVA3667-EメッセージまたはKAVA3672-Eメッセージが出力されるときは,最新の更新日時のログファイルが複数存在しているおそれがあります。同じ更新日時(1秒以内)のログファイルがワイルドカードの条件に該当しないように,ファイル名を変更してからログファイルトラップを再起動してください。
-
-gオプションを指定してUnicodeファイルを監視する場合,コードセットがUTF-8のJP1イベントを登録します。そのJP1イベントの転送先ホストのJP1/Baseは,バージョン8以降にしてください。
-
-hオプションを指定してファイルサイズが大きいログファイルを監視する場合,ログファイルトラップ起動後に出力されたログの読み込みが遅延したり,イベントが大量に発生したりするおそれがあります。運用に支障がある場合は,いったんログファイルトラップを停止して,-hオプションを指定しないでログファイルトラップを再起動してください。
戻り値
0 |
正常終了 |
1 |
引数エラー |
2 |
サービスまたは管理デーモンが起動していない |
3 |
イベントサービスが起動していない |
4 |
同一の監視名で起動済み(-aオプション指定時だけ) |
255 |
そのほかのエラー |
また,jevlogstartコマンドを実行すると,標準出力にID番号を出力します。このID番号はログファイルトラップを終了するときに必要になります。
使用例
この使用例は,Windowsの場合です。なお,(例6)はUPDタイプのログファイルが監視対象の場合です。
- (例1)
-
ログファイルc:\log\logfile1.logから検索し,読み込みます。ここでの引数はログファイル名以外すべて省略しています。ログファイルトラップ動作定義ファイルはJP1/Baseのconfフォルダ内のjevlog.conf,ファイル監視間隔は10秒,イベント化するデータの最大長は512バイトが仮定されます。
jevlogstart c:\log\logfile1.log
- (例2)
-
ログファイルトラップ動作定義ファイルをc:\conf\configfile.confにして,ログファイルc:\log\logfile1.logから検索し,読み込みます。
jevlogstart -f c:\conf\configfile.conf c:\log\logfile1.log
- (例3)
-
ログファイルトラップ動作定義ファイルをc:\conf\configfile.confにして,c:\log配下のUTF-8形式のUnicodeファイルlogfile_uni.logから検索し,読み込みます。
jevlogstart -f c:\conf\configfile.conf -g UTF-8 c:\log\logfile_uni.log
- (例4)
-
ログファイルトラップ動作定義ファイルをc:\conf\configfile.confにして,c:\log配下のUTF-16BE形式のUnicodeファイルlogfile_uni_be.logから検索し,読み込みます。
jevlogstart -f c:\conf\configfile.conf -g UTF-16 -b BE c:\log\logfile_uni_be.log
- (例5)
-
ファイル監視間隔を5秒にして,ログファイルc:\log\logfile1.logとc:\log\logfile2.logから検索し,読み込みます。
jevlogstart -t 5 c:\log\logfile1.log c:\log\logfile2.log
- (例6)
-
ログファイルトラップ動作定義ファイルをc:\conf\configfile.confにして,c:\log配下の「logfile.」から始まるファイルから検索し,読み込みます。
jevlogstart -f c:\conf\configfile.conf c:\log\logfile.*