2.3.2 イベントDBとは
イベントDBとは,JP1/Baseがインストールされたホストで発生したJP1イベントを蓄積するファイルです。
イベントDBは次のファイルで構成されています。
-
データ(IMEvent0.dat,IMEvent1.dat)
-
インデックス(IMEvent0.idx,IMEvent1.idx)
-
転送情報(IMEvent0.fwd,IMEvent1.fwd)
-
重複防止テーブル(IMEvent.rep)
イベントサービスのサービスが起動すると,これらのファイルが自動生成されます。データ,インデックス,転送情報はそれぞれ二つずつ生成されます。最初に一方のファイルが使用され,それがイベントサーバ設定ファイル(conf)のdb-sizeパラメーターで指定した容量に達すると,もう一方のファイルに切り替わります。二つ目のファイルの容量がいっぱいになると,一つ目のファイルの内容がすべて削除されたあとに新しくJP1イベントが蓄積されます。
(1) イベントDBの切り替え
イベントDBが切り替わる流れを次の図に示します。
|
イベントDBが切り替わるタイミングは,イベントDBの容量がイベントサーバ設定ファイルに指定した容量に達した場合,またはJP1イベントの保管期限がイベントサーバ設定ファイルに指定した期限に達した場合です。また,コマンドを使って意図的に切り替えることもできます。
イベントDBの内容は,JP1/IM - Viewの[イベントコンソール]画面から確認したり,コマンドを使ってcsvファイルに出力して確認したりできます。JP1/IM - Viewについては,マニュアル「JP1/Integrated Management - Manager 運用ガイド」を参照してください。イベントDBの内容をcsv出力する方法については,「10.3 イベントDBの内容をcsvファイルに出力する」を参照してください。
(2) イベントDBの破損を検知するタイミング
イベントDBを直接編集したり,イベントサービスの稼働中に,OSのコマンドやバックアップ用のソフトウェアでイベントDBをバックアップおよびリストアしたりすると,イベントDBを破損するおそれがあるためご注意ください。
JP1/Baseは,次に示すタイミングでイベントDBが破損したかどうかを検知します。
-
イベントサービスの起動時
-
JP1イベントの転送時
-
イベント取得関数によるJP1イベント取得時※
-
JP1/IM - Viewからのイベント検索時※
- 注※
-
イベントDBのアクティブ面,スタンバイ面ごとに,1回だけメッセージが出力されます。イベントDBのアクティブ面が破損した場合,アクティブ面に登録されているJP1イベントを取得または検索すると,破損を通知するメッセージが1回だけ出力されます。スタンバイ面が破損した場合も同様です。
メッセージをJP1/IM - View上で確認したい場合は,メッセージをJP1イベントに変換して,マネージャーホストへ転送してください。イベント変換の詳細については,「11. イベント変換の設定」を参照してください。
(3) JP1イベントの重複登録チェック
イベントサービスには,イベントDBに同一のJP1イベントが重複して登録されることを防止するため,重複登録チェック機能があります。重複登録チェックを行わないと,次の場合にJP1イベントが重複して登録されるおそれがあります。
-
転送されたJP1イベントを送受信するホスト間で通信障害が発生した場合
-
複数ホストに転送するJP1イベントの再転送先ホストが集約されている場合
-
JP1イベントの転送経路が循環している場合
(4) 重複防止テーブル
重複防止テーブルは,重複登録チェック機能を行うためのテーブルです。重複防止テーブルは,転送元ホストごとの転送実績レコードを記録し,転送されたJP1イベントを受信した場合に,レコードを追加したり更新したりします。転送実績レコードには発行元イベントDB内通し番号の最大値など,重複登録チェック時にイベントDBの検索時に必要な情報が記録されています。
重複防止テーブルは,イベントサーバ設定ファイル(conf)のoptionsパラメーターにsave-repフラグを指定した場合,ファイルに保持します。save-repフラグを指定しない場合,メモリーに保持します。転送されたJP1イベントを受信するイベントサーバでは,ファイルに保持する場合とメモリーに保持する場合で動作に違いがあるため,ファイルに保持して運用することを推奨します。
重複防止テーブルをファイルに保持する場合と,メモリーに保持する場合の動作の違いを次に示します。
- ファイルに保持する場合
-
重複防止テーブルを不揮発的に保持します。このため,イベントサーバを再起動しても,クリアされません。重複防止テーブルに記録されていない転送元ホストからJP1イベントを受信した場合は,転送実績がないと判断してすぐに登録します。転送されたJP1イベントの登録に必要な時間は,転送実績に関係なく一定になります。
サーバリプレースやディスク障害などで転送元ホストのイベントDBが失われ,転送元ホストのイベントDB内通し番号が0に戻った場合に,転送元ホストまたは転送先ホストで重複防止テーブルクリア用JP1イベント(ユーザイベント)を発行すると,運用中に重複防止テーブルから転送元ホストの発行元イベントDB内通し番号の最大値をクリアできます。
-
重複防止テーブルクリア用JP1イベント(ユーザイベント)
イベントID:7FFF8001
メッセージ:DPT CLEAR EVENT
OBJECT_NAME:転送元イベントサーバ名(転送先ホストで発行する場合だけ必要)
-
- メモリーに保持する場合
-
重複防止テーブルを揮発的に保持します。このため,イベントサーバを再起動すると,クリアされてしまいます。重複防止テーブルに記録されていない転送元ホストからJP1イベントを受信した場合は,過去の転送実績をイベントDBから検索し,そのあと重複防止テーブルに登録します。転送されたJP1イベントの登録に必要な時間は,転送実績によって変化します。
また,新たに追加したエージェントから転送されたJP1イベントを受信した場合には,イベントDBに登録されているすべてのJP1イベントに対して検索が行われるため,JP1イベントを使用する処理が遅延する場合があります。遅延する時間はイベントDBのサイズに比例して長くなります。