JP1/Base 運用ガイド
ログファイルトラップ機能の動作定義ファイルの詳細について説明します。
なお,ログファイルトラップ機能の動作定義ファイルはデフォルトで提供されません。ユーザーが作成する場合と,定義配布機能によって作成される場合があります。
- <この項の構成>
- (1) 格納先ディレクトリ
- (2) パラメーター一覧
- (3) MARKSTR,ACTDEFパラメーター文法
- (4) パラメーターの説明
(1) 格納先ディレクトリ
confディレクトリにjevlog.confの名称の動作定義ファイルを作成した場合は,jevlogstartコマンドの-fオプションの指定を省略できます。
confディレクトリを次に示します。
- Windowsの場合
- インストール先フォルダ\conf\
- UNIXの場合
- /etc/opt/jp1base/conf/
任意のファイル名で,任意のフォルダに作成できますが,jevlogstartコマンドを実行する際,-fオプションにディレクトリ名を補ったファイル名を指定する必要があります。
(2) パラメーター一覧
定義できるパラメーターは全部で13種類あります。パラメーターの一覧を次に示します。
項番 パラメーター 1 [ retry-times=リトライ回数(イベントサービスへの接続用)] 2 [ retry-interval=リトライ間隔(イベントサービスへの接続用)] 3 [ open-retry-times=リトライ回数(ログファイルのオープン用)] 4 [ open-retry-interval=リトライ間隔(ログファイルのオープン用)] 5 [ read-retry-times=リトライ継続回数しきい値(ログファイルの読み込み用)] 6 [ hold-count=JP1イベントの保留件数 ] 7 [ keep-event={ OLD | NEW } ] 8 [ FILETYPE={ SEQ | SEQ2 | WRAP1 | WRAP2 | HTRACE } ] 9 10 [HEADLINE=ヘッダーの行数] 11 [HEADSIZE=ヘッダーのサイズ] 12 13
- 注 「正規表現n」は複数個の指定を表します。
(3) MARKSTR,ACTDEFパラメーター文法
動作定義ファイルを定義するときの文法を次に示します。
- 1カラム目から入力します。
- パラメーターとその値は「=」でつなぎます。パラメーターと「=」との間には空白を入れてもかまいませんが,「=」と値の間には空白は入れないでください。空白とは,一つ以上の半角スペース,またはタブのことです。次に例を示します。
(例)FILETYPE△△=SEQ
(凡例)△:1個の空白
- 一つのパラメーターに対して複数の値がある場合,値と値の間には空白を入れます。次に例を示します。
(例)ACTDEF=0△message
- 値の後ろ(値が複数ある場合は最後の値)と改行の間にはコメントを記入することはできません。空白以外は入れないでください。
- ACTDEFのように,パラメーターに対する値の組み合わせが複数ある場合,1組ごとに改行します。2組目からは値だけを指定します。この場合,2組目以降の値の先頭に一つ以上の空白を入れてください。次に例を示します。
(例)ACTDEF=111△"jp1base" …改行
△△△△△△"KAJP" …改行
△"test"
- 行頭に「#」を指定すると,その行はコメント行になります。
- MARKSTR,およびACTDEFパラメーターは複数指定できます。指定できる個数に制限はありません。MARKSTR,およびACTDEFパラメーター以外のパラメーターは複数指定できません。
- MARKSTR,およびACTDEFパラメータで指定する正規表現は,OSによって異なります。また,Linuxの場合,MARKSTR,およびACTDEFパラメーターで指定する正規表現に日本語を指定できません。.(ピリオド)2個が日本語文字1個にマッチするなどの動作になります。
正規表現の文法の詳細については,「付録F 正規表現の文法」を参照してください。
(4) パラメーターの説明
動作定義ファイルの各パラメーターを説明します。
(a) retry-times
[ retry-times=リトライ回数(イベントサービスへの接続用)]
一時的な通信障害で,イベントサービスへの接続に失敗した場合に行うリトライの回数を指定します。値は,0〜86,400の10進数で指定します。このパラメーターを省略すると,リトライは行われません。
なお,リトライ回数とリトライ間隔の指定にかかわらず,リトライを開始してから86,400秒(24時間)経過するとエラーとなります。
(b) retry-interval
[ retry-interval=リトライ間隔(イベントサービスへの接続用)]
一時的な通信障害で,イベントサービスへの接続に失敗した場合に行うリトライの間隔を秒単位で指定します。リトライ回数を1以上に設定した場合に有効となります。リトライ間隔は,イベントサービスへの接続に失敗してから次にイベントサービスへの接続を試みるまでの間隔です。イベントサービスへの接続処理に掛かる時間は含みません。値は,1〜600の10進数で指定します。このパラメーターを省略すると,10秒が仮定されます。
なお,リトライ回数とリトライ間隔の指定にかかわらず,リトライを開始してから86,400秒(24時間)経過するとエラーとなります。
(c) open-retry-times
[ open-retry-times=リトライ回数(ログファイルのオープン用)]
ログファイルトラップの開始時に,一時的にログファイルをオープンできなかった場合に行うリトライの回数を指定します。値は,1〜3,600の10進数で指定します。このパラメーターを省略すると,1回が仮定されます。
なお,リトライ回数とリトライ間隔の指定にかかわらず,リトライを開始してから3,600秒経過するとエラーとなります。
(d) open-retry-interval
[ open-retry-interval=リトライ間隔(ログファイルのオープン用)]
ログファイルトラップの開始時に,一時的にログファイルをオープンできなかった場合に行うリトライ処理のリトライ間隔を秒単位で指定します。リトライ間隔は,ログファイルのオープンに失敗してから,次にログファイルのオープンを試みるまでの間隔です。値は,1〜600の10進数で指定します。このパラメーターを省略すると,1秒が仮定されます。
なお,リトライ回数とリトライ間隔の指定にかかわらず,リトライを開始してから3,600秒経過すると,エラーと見なされ該当のログファイルの監視を停止します。
(e) read-retry-times
[ read-retry-times=リトライの継続回数のしきい値(ログファイルの読み込み用)]
一時的にログファイルの読み込みに失敗した場合に行うリトライの,継続回数のしきい値を秒単位で指定します。リトライの継続回数のしきい値とは,10ミリ秒間隔で5回行うリトライを1セットとしてカウントした回数です。10ミリ秒間隔で5回行うリトライが,read-retry-timesパラメーターに指定した回数を超えると,エラーと見なされ該当のログファイルの監視を停止します。
値は,1〜1,000の10進数で指定します。このパラメーターを省略すると,100回が仮定されます。
(f) hold-count
[ hold-count=JP1イベントの保留件数 ]
リトライ処理中に保留できるJP1イベントの件数を指定します。値は,1〜1,000の10進数で指定します。このパラメーターを省略すると,100件が仮定されます。
リトライ処理を行う場合,リトライ処理中に変換されたJP1イベントを保留するためのリソースが必要となります。リトライ処理を行う場合に必要なメモリー所要量を次に示します。
JP1イベントの保留件数 × 1KB
(g) keep-event
[ keep-event={ OLD | NEW } ]
リトライ処理中に保留されたJP1イベントが保留件数を超過した場合,超過したJP1イベントは消去されます。超過した場合に,古いJP1イベントと新しいJP1イベントのどちらを残すかを指定します。このパラメーターを省略すると,OLDが仮定されます。
- OLD
- 古いJP1イベントを残したい場合に指定します。この場合,hold-countパラメーターに指定したJP1イベントの保留件数までJP1イベントを保留し,以降に発生したJP1イベントは保留されずに消去されます。
- NEW
- 新しいJP1イベントを残したい場合に指定します。この場合,JP1イベントの保留件数を超過すると,古いJP1イベントから消去されます。
(h) FILETYPE
[ FILETYPE={ SEQ | SEQ2 | WRAP1 | WRAP2 | HTRACE } ]
読み込むログファイルのデータ出力形式を指定します。このパラメーターを省略すると,SEQが仮定されます。
- SEQ
- シーケンシャルファイル(一つのログファイルに追加書き込みし続けるファイル,またはログファイルが一定の容量に達すると,別のファイル名で新たにログファイルを作成して書き込むファイル)
- SEQ2
- シーケンシャルファイル(ファイル名を変更して保存,またはファイルをいったん削除したあと,同じ名称のファイルを作成して新たにログを書き込む形式のファイル)
- 注意事項
- Windowsでは,ログファイルトラップでの監視中は削除できないことがあります。
- SEQ2で監視する場合,監視間隔の間にログファイルが1回切り替わると,切り替わる前のファイル内から前回読み込んだデータ以降に蓄積されたデータを読み込んだあと,新たなファイル内のデータを読み込みます。そのため,監視間隔の間に2回以上切り替わると,切り替わる直前のファイルからのデータしか読み込めません。ログファイルが切り替わる頻度を考慮してjevlogstartコマンドの-tオプション(監視間隔)を設定してください。
- WRAP1
- ラップラウンドファイル(ラップラウンドして,再び先頭からデータを上書きするファイル)
- WRAP1の場合,監視するファイルの容量と同じサイズのディスク容量が必要です。WRAP1形式の場合は,読み込むログファイルのコピーを作成して,そのコピーと現在のログファイルを比較して読み込み位置を決定するためです。
- 注意事項
- WRAP1で大容量のファイルを監視する場合,書き込んでいるデータ位置がファイルの最後の方にあると,最初のJP1イベントが発生するまでに時間が掛かります。
- WRAP2
- ラップラウンドファイル(ラップラウンドするとき,データを削除して再び先頭からデータを書き込むファイル)
- ファイルを削除または名称を変更して作成し直す運用の場合,SEQ2を適用してください。
- 注意事項
- WRAP2の場合,データをすべて読み込んでしまう前にラップラウンドしてデータが削除されると,読み込めないデータが発生します。監視間隔を長くすると,一度に読み込むデータの量が多くなるため,jevlogstartコマンドの-tオプション(監視間隔)の指定に注意してください。
- ラップラウンドしたことを,ファイルのサイズが小さくなったことで検知しています。ラップラウンド前とラップラウンド後のファイルのサイズが同じである場合やラップラウンド後のファイルのサイズが大きい場合,ラップラウンドしたと判断しないため注意が必要です。
- HTRACE
- マルチプロセス対応トレースファイル(複数のプロセスが一組のトレースファイルを共有し,メモリマップドファイルを使用した固定サイズのファイル)
- ログファイルへの書き込み方法はWRAP1と同様で,ログファイルが一定の容量に達するとラップラウンドして,再び先頭からデータを上書きします。
(i) RECTYPE
[ RECTYPE={ VAR { ’\n’| ’1行の終了文字’ | ’1行の終了記号’} | FIX レコード長 } ]
読み込むログファイルのレコード形式を指定します。このパラメーターを省略すると,RECTYPE=VAR ’\n’が仮定されます。つまり,可変長で「\n」が1行の区切りというレコード形式の指定になります。
- VAR
- 可変長のレコード形式の場合に,1行の終了文字,または1行の終了記号を指定します。C言語でのキャラクター1文字の指定と同じように「’’」で囲み,エスケープシーケンスでも指定できます。
- FIX
- 固定長のレコード形式の場合に,レコード長を1行の区切りとして指定します。レコード長は10進数(1〜9,999,999)で指定します。
(j) HEADLINE
- [ HEADLINE=ヘッダーの行数 ]
読み込むログファイルの先頭にヘッダーがある場合,ヘッダーの行数を10進数(0〜99,999)で指定します。
このパラメーターを省略すると,0行が仮定されます。
(k) HEADSIZE
- [ HEADSIZE=ヘッダーのサイズ ]
読み込むログファイルの先頭にヘッダーがあり,かつそのヘッダーが行数で指定できない場合,ヘッダーのサイズを10進数(0〜9,999,999)で指定します。行数で指定できないヘッダーとは,バイナリーデータや,レコード形式がログデータと異なっているヘッダーなどです。
HEADLINEパラメーターを指定しているときには,このパラメーターは無効になります。
このパラメーターを省略すると,0バイトが仮定されます。
(l) MARKSTR
監視の対象外にしたいログデータを正規表現で指定します。正規表現は「" "」で囲んで指定します。また,一つのパラメーターに複数の正規表現が指定できます。ログデータ以外のデータとは,一定間隔でログファイル中に出力されるデータなどです。ログデータ以外のデータの例を次に示します。
(例)"==== 13:00:00 JP1/Base Event ===="「!」を一つ目の「" "」の手前に付けた場合,指定した正規表現に一致しないデータを選択します。複数の正規表現を指定した場合,「!」の指定も含んだ,すべての正規表現の条件に一致するデータだけを選択します。このパラメーターを複数指定した場合,それぞれの指定に一致するデータをすべて選択します。
MARKSTRパラメーターに指定した正規表現がチェックされるのは,入力したログデータのうち,先頭からjevlogstartコマンドの-mオプションで指定した長さまでの間だけです。
このパラメーターを省略すると,ログデータ以外のデータはないと仮定されます。
(m) ACTDEF
読み込むログファイル中のデータの正規表現と,対応するイベントIDおよび重大度を指定します。正規表現に一致するログがあると,指定したイベントIDでJP1イベントを発行します。一つのパラメーターには複数の正規表現が指定できます。
- 注意事項
- 「=」,「{EXIT}」,「<重大度>」,および「イベントID」の間にスペースまたはタブを入れないでください。入れた場合は文法エラーになります。
- {EXIT}
- 複数のACTDEFパラメーターを指定した場合に,「{EXIT}」を指定した条件に一致した時点で,以降の条件の監視を終了したいときに指定します。
- 複数のACTDEFパラメーターを指定した場合,一つのログデータが複数のACTDEFパラメーターの条件に一致すると,一致した数だけJP1イベントが発行されます。「{EXIT}」を指定しておくと,「{EXIT}」を指定した条件のイベントIDでJP1イベントが発行され,以降のパラメーターの条件監視は行われません。
- 「{EXIT}」を指定した場合,および指定しない場合の処理の違いを次の図に示します。
- <重大度>
- JP1イベントの拡張属性の重大度を「< >」で囲んで指定します。重大度とイベントIDは,対にして指定します。指定できる値を次に示します。重大度を指定しなかった場合はNoticeが仮定されます。
- Emergency
- Alert
- Critical
- Error
- Warning
- Notice
- Information
- Debug
- イベントID
- イベントサーバにJP1イベント登録する際に指定するイベントIDを指定します。イベントIDは上位4バイト(基本コード)と下位4バイト(拡張コード)をコロン「:」で区切り,16進数で記述します。A〜Fは大文字で記述してください。なお,下位4バイトまたはコロン以下の下位4バイトは省略できます。この場合,省略値には0を仮定します。また,上位下位とも8桁に満たない場合は前から補われます。ユーザーが指定できる範囲の値,0:0〜1FFF:0および7FFF8000:0〜7FFFFFFF:0を指定してください。なお,拡張コードには0を指定してください。イベントIDの表記例を次に示します。
- (例)次に示す3通りの表記は同じ意味になります。
0000011A:00000000 11A:0 11A
- "正規表現"
- イベントIDに対応させるデータを選択する正規表現を指定します。正規表現は「" "」で囲みます。「!」を一つ目の「" "」の手前に付けた場合,指定した正規表現に一致しないデータを選択します。複数の正規表現を指定する場合,一つの正規表現ごとに改行します。この場合,2行目からは「ACTDEF=」部分を省略して指定します。複数の正規表現を指定した場合,「!」の指定も含んだ,すべての正規表現の条件に一致するデータだけを選択します。
このパラメーターを複数指定した場合,それぞれの指定に一致するデータをすべて選択します。
ACTDEFパラメーターに指定した正規表現がチェックされるのは,入力したログデータのうち,先頭からjevlogstartコマンドの-mオプションで指定した長さまでの間だけです。
このパラメーターは省略できません。
All Rights Reserved. Copyright (C) 2006, 2008, Hitachi, Ltd.