7.6.1 JP1イベント受信監視ジョブの注意事項
JP1イベント受信監視ジョブの注意事項(使用する前に知っておいた方がよいこと)を次に示します。
JP1イベントはJP1/Baseで管理されるイベントで,JP1シリーズプログラムで発生した事象を契機として発行されます。JP1イベントは,エラー,警告,通知などの重大度やメッセージなどの情報を持っているので,重大度ごとに異なる後続ジョブを実行したり,特定のメッセージを受け取ったときだけ後続ジョブを実行したりできます。JP1イベント中のメッセージや詳細情報の一部分を正規表現で切り出して,後続ジョブに引き継ぐこともできます。
JP1イベント受信監視ジョブを使った例を次に示します。
-
JP1シリーズプログラムでエラーが発生するか,または警告が通知された場合に後続ジョブを実行する。
-
複数のJP1シリーズプログラムで処理を実行している場合,すべての処理が終了してから後続ジョブを実行する。
-
他ホストのJP1/AJS3 - Managerで実行されたジョブネットの終了時にJP1イベント送信ジョブを実行し,送信されたJP1イベントを別のジョブネットで受信し,後続ジョブを実行する。
-
JP1/Baseのイベント変換機能を使って,JP1シリーズ以外のアプリケーションの終了を契機として後続ジョブを実行する。
イベント変換機能については,マニュアル「JP1/Base 運用ガイド」を参照してください。
(1) JP1イベントが発生するタイミングに関する注意事項
JP1イベント受信監視ジョブで監視できるJP1イベントは,JP1イベント受信監視ジョブが実行状態になったあとに発生したJP1イベントが対象です。そのため,次のタイミングで発生したJP1イベントは,JP1/AJS3では検知されません。
-
JP1/AJS3が停止中に発行されたJP1イベント
-
JP1/AJS3が起動したあとにイベントジョブが実行状態になる間に発生したJP1イベント
JP1イベント受信監視ジョブで監視する対象となるJP1イベントは,JP1/AJS3のイベントジョブが監視状態になるまで発行されないJP1イベントを監視対象にしてください。
JP1イベント受信監視ジョブが検知できないタイミングを次の図に示します。
|
(2) JP1イベント受信監視ジョブのオプション
JP1イベント受信監視ジョブには,JP1イベント受信監視ジョブがJP1イベントの監視を開始する前に発生したJP1イベントを受信監視の対象とするかどうかを指定するJP1イベント受信監視実行前のイベント検索オプションを設定できます。このオプションは,イベントIDを指定し,かつJP1イベントの監視を開始した時刻を基準に何分前まで検索するかを指定した場合に有効になります。指定できる値は1〜720(単位:分)の間です。なお,このオプションを指定した場合に基準となる時刻は,JP1イベント受信監視ジョブが実行されるホストで設定されている時刻です。
このオプションを指定しない場合は,通常のJP1イベント受信監視だけになり,JP1イベントの監視を開始した時刻以前のJP1イベントは検索しません。
このオプションを指定するには,次の注意事項があります。
-
「JP1イベント受信監視実行前のイベント検索オプション」を指定する際に指定したイベントの検索範囲(JP1イベントの監視を開始した時刻を基準に何分前まで検索するか)が大きくなればなるほど,JP1イベント受信監視実行前のイベント検索に掛かる時間が長くなります。また,イベントの検索対象範囲内にあるJP1イベントの件数が多ければ多いほど,JP1イベント受信監視実行前のイベント検索に掛かる時間が長くなります。イベントの検索範囲は必要最小限の短い時間となるようにしてください。長くても10分程度とすることを推奨します。
-
JP1イベント受信監視ジョブは,JP1/BaseのイベントDBからJP1イベントを取得しています。そのため,イベントの検索範囲内にJP1イベントが発生していても,イベントDBが切り替わり,イベントDBから検索対象のJP1イベントが削除された場合,イベントを検知しません。検索対象となるJP1イベントが削除されるおそれがある場合は,「JP1イベント受信監視実行前のイベント検索オプション」でイベントの検索範囲に必要最小限の短い時間を指定した上で,イベントの検索範囲内に監視対象イベントが発生する運用を行ってください。必要最小限の短い時間を指定しても,検索対象となるJP1イベントが削除されることがあるときは,イベントDBを拡張してください。イベントDBについては,マニュアル「JP1/Base 運用ガイド」を参照してください。
-
「JP1イベント受信監視実行前のイベント検索オプション」を使用したJP1イベント受信監視ジョブでは,検索対象となるJP1イベントが大量にある場合,CPU使用率が高くなり,ほかのジョブの実行が遅れるおそれがあります。
そのため,「JP1イベント受信監視実行前のイベント検索オプション」は,数件程度の特定のJP1イベントを監視条件としたい場合に使用してください。大量に発生したり,継続的に発生したりするようなJP1イベントを監視条件としたい場合には,「JP1イベント受信監視実行前のイベント検索オプション」を使用しないでください。検索対象となるJP1イベントが大量にある場合は,JP1イベント受信監視ジョブの監視条件を細かく設定し,検索対象となるJP1イベントを絞り込んだり,「JP1イベント受信監視実行前のイベント検索オプション」を指定する際に指定したイベントの検索範囲を短くしたりしてください。
-
「JP1イベント受信監視実行前のイベント検索オプション」は起動条件ジョブの中での使用を推奨します。起動条件ではないイベントジョブでも使用できますが,イベントジョブで「JP1イベント受信監視実行前のイベント検索オプション」を使用する場合には,同じイベントを何度も受信監視の条件としてしまう場合があります。イベントジョブとしてJP1イベント受信監視ジョブを使用する場合には,その使用方法に注意が必要です。
同一のJP1イベントを受信監視の条件にしてしまう例を次に示します。
- (例)
-
ジョブネット「recv」に,イベントジョブとして次の条件でJP1イベント受信監視ジョブが登録されているとします。
-
起動条件:
ジョブネット「recv」は,実行間隔制御ジョブによって9:00と9:10に起動するように設定
-
JP1イベント受信監視実行前のイベント検索オプションの指定:
「30」(単位:分)を指定
-
イベントID:
「111」を指定
-
JP1イベント(イベントID:111)の発行状況:
8:20と8:50
動作
-
ジョブネット「recv」が,実行間隔制御ジョブによって9:00に起動する。
-
JP1イベント受信監視実行前のイベント検索オプションで指定した条件に従って8:30の以降のJP1イベントを検索します。
-
ジョブネット「recv」が,実行間隔制御ジョブによって9:10に起動する。
-
JP1イベント受信監視実行前のイベント検索オプションで指定した条件に従って8:40の以降のJP1イベントを検索します。
結果
このとき,8:30以降と8:40以降に検索条件を満たすJP1イベントはともに8:50の1回であったとすると,9:00に実行されたJP1イベント受信監視ジョブも9:10に実行されたJP1イベント受信監視ジョブも,両方とも同じ8:50のJP1イベントを検知し,受信監視の条件としてしまいます。
図7‒2 同一のJP1イベントを受信監視の条件にしてしまう例
(3) JP1イベント受信監視ジョブ定義時の注意事項
JP1イベント受信監視ジョブを定義するときの注意事項を次に示します。
-
JP1イベント受信監視ジョブを実行する前に,JP1/Baseイベントサービスを起動しておいてください。また,JP1/BaseイベントサービスのAPI設定は「keep-alive」に設定しておいてください。JP1/Baseイベントサービスが起動されていない場合,JP1イベント受信監視ジョブは,イベントサービスが起動されるまで実行待ちの状態になります。
-
JP1イベント受信監視ジョブが実行中になる前に発生したJP1イベントは,受信できません。受信したいJP1イベントは,JP1イベント受信ジョブが実行中になってから発行するか,「JP1イベント受信監視実行前のイベント検索オプション」を使用するようにしてください。
-
JP1イベントにはメッセージや詳細情報が含まれています。JP1イベント受信監視ジョブでJP1イベント中の文字列を監視したい場合は,正規表現を使って文字列を指定できます。正規表現を拡張した拡張正規表現を使用したい場合は,WindowsはJP1/Baseの設定を行ってください。UNIXでは,JP1/Baseの設定に関係なく,OSの拡張正規表現の文法で使用できます。
Windowsの拡張正規表現の設定方法については,マニュアル「JP1/Base 運用ガイド」の「使用する正規表現を拡張する」を参照してください。UNIXの正規表現については,UNIXのドキュメントを参照してください。
-
正規表現で,すべての文字に一致する「.*」を多数使用すると,JP1イベントと突き合わせるために時間が掛かることがあります。長いメッセージなどに対しては,必要な個所に対してだけ「.*」を使用するようにしてください。「.*」を使用したJP1イベント受信監視ジョブを複数実行すると,JP1イベントを各ジョブの監視条件と突き合わせる時間が指数関数的に増えるため,イベントの検知が極端に遅延するおそれがあります。そのため,いったん別のホストでJP1/Baseのイベント転送機能とフィルター条件でJP1イベントの数を絞り込んでから監視したり,監視条件を追加して「.*」部分の比較が行われる頻度を下げたりしてください。なお,UNIXでは,空白以外の文字に一致させたい場合など,「.*」の代わりに「[^ ]*(空白以外の文字の繰り返し)」を使用すると,JP1イベントと突き合わせる時間を短縮できます。
-
JP1イベント受信監視ジョブを起動条件として定義する場合,必ず一つ以上の項目を定義してください。一つも定義がない場合,イベント受信監視を行っているホスト上でJP1イベントが発生するたびに,JP1イベント受信監視ジョブが終了します。JP1/AJS3が発行するJP1イベントでも,監視条件が成立してしまうため,ジョブを実行するたびにジョブネットが起動してしまうので注意してください。
-
WindowsのJP1/Baseイベントサービスで,JP1/SES Version 5またはJP1/AJS Version 5以前のイベントサービス,JP1/SESのプロトコルを使用して発行されたJP1イベントを受信した場合,JP1イベントにはイベント発行元IPアドレスが設定されていません。そのため,WindowsではJP1イベント受信監視ジョブの監視条件にイベント発行元IPアドレスを指定しても,上記のイベントは監視条件に合致しません。
-
JP1イベントのイベント詳細情報については,JP1イベント中の詳細情報がテキストの場合だけ監視対象になります。バイナリーデータが含まれている場合には,JP1イベント中の詳細情報が無視され,監視条件に合致しません。監視するJP1イベントにバイナリーデータが含まれている場合は,監視条件にイベント詳細情報を指定しないでください。
-
JP1イベント中のイベント発行元ユーザー名には,JP1イベントを発行したOSユーザー名が設定されます。JP1イベント受信監視ジョブの監視条件のうち,イベント発行元ユーザー名にJP1ユーザー名を指定しても,JP1イベント受信監視ジョブはJP1イベントの受信を正しく監視できません。また,JP1イベント受信監視ジョブの監視条件のうち,イベント発行元ユーザー名はイベント受信監視時に大文字/小文字が区別されます。JP1イベント中の発行元ユーザー名に合わせて指定してください。
-
JP1イベント受信監視ジョブの監視条件のうち,イベント発行元ホスト名はJP1イベント受信監視時に大文字小文字が区別されます。JP1イベント中のホスト名(発行元イベントサーバ名)に合わせて指定してください。
-
正規表現で指定する項目では,指定した文字列は部分一致で条件一致となります。完全一致させたい場合は,完全名を明示的に指定した正規表現を使用してください。
-
JP1イベント受信監視ジョブで監視するJP1イベント情報については,JP1/Baseのイベントサービスの仕様に従います。監視したいJP1イベントの詳細については,マニュアル「JP1/Base 運用ガイド」,およびJP1イベントを発行する製品のマニュアルを参照してください。
-
Windowsでは,JP1/Baseイベントサービスのイベントサーバ設定(conf)でJP1イベントを取得できるユーザー名(usersパラメーター)に,JP1/AJS3のサービスを起動するアカウントのユーザー名を設定してください。なお,デフォルトでは「users」はすべてのユーザーがJP1イベントを取得できるように設定されています。
-
JP1イベントには,イベント発行元ホストのIPアドレスとしてIPv6形式のIPアドレスは出力されません。そのため,イベント発行元IPアドレスとしてIPv6アドレスは指定できません。