14.1.4 相関イベント発行の検討
JP1/IM - Managerが管理するJP1イベントは,システムの規模に従って膨大な量になります。加えて,JP1イベントはシステム内の発生事象を一つ一つ管理する概念であるため,その種類も多岐にわたります。
JP1/IM - Managerの提供する各種フィルターを活用することで,イベントコンソール上に表示するJP1イベントを制限して管理できます。しかし,障害発生時には障害を通知するJP1イベントが大量に発生して,イベントコンソール上を埋めてしまうことがあります。システム管理者がこれらのJP1イベントごとに分析・調査して,障害要因を特定し対策するまでには大きな手間と負担が掛かります。
JP1/IM - Managerでは,あらかじめ発生が予測できる複数のJP1イベント同士を関連づけたり,JP1イベントの属性値を任意の値に変更したりして,新しいJP1イベント(相関イベント)を発行できます。相関イベントは,相関成立時だけでなく,相関不成立時にもJP1イベントを発行できます。システム管理者は,相関イベントの発行を活用することで,管理負担の軽減や障害対応までの時間を短縮できます。
なお,相関イベントの発行処理は,統合監視DBを使用しない場合と使用する場合で,相関処理の引き継ぎ方法が異なります。詳細については,「4.3 相関イベントの発行」を参照してください。
次からは相関イベントの発行を使用する上で検討してほしいことについて説明します。検討事項を次に示します。
-
相関イベント発行定義の検討
-
相関イベントを発行するための稼働環境の検討
-
相関イベントの発行に関する注意事項
(1) 相関イベント発行定義の検討
相関イベント発行定義には,相関元イベント(イベント条件),タイムアウト時間,イベント相関タイプ,および発行する相関イベントを定義します。
相関イベント発行定義の次の項目について,十分な検討をしてください。
-
相関の対象範囲の絞り込み
イベント条件に一致するJP1イベントが特定のシステムから発行されるものではないか
-
相関元イベント(イベント条件)
-
どのJP1イベントを相関元イベントとするか
-
相関元イベントは1件か,または複数件か
-
-
タイムアウト時間
-
イベント相関タイプ(順序性,組み合わせ,およびしきい値)
-
同一属性値条件
ホストやユーザーなどでグルーピングして,相関イベントを管理する必要はないか
-
同時相関数
-
発行する相関イベント
ここでは,これらの相関イベント発行定義について,次の六つの例を用いて説明します。相関イベント発行定義を検討する際の参考にしてください。
-
JP1イベントの属性値に任意の属性を付加する
-
JP1イベントのメッセージをシステムに合わせたメッセージに変更する
-
ホストA,BおよびCのすべてが起動したのを契機に自動アクションを実行する
-
JP1イベントを発行した特定のホストを対象として,相関イベントを発行する
-
認証エラーを示すJP1イベントをサーバごとに管理する
-
指定時間内にイベントが発生しなかったことを監視する
これら六つの例について,満たしたい要件,理由,および相関イベント発行定義ファイルの定義内容について説明します。
なお,相関イベント発行定義ファイルの詳細については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「相関イベント発行定義ファイル」(2. 定義ファイル)を参照してください。
(a) JP1イベントの属性値に任意の属性を付加する
この例では,ほかのJP1製品などが発行するJP1イベントの固定の属性値に任意の属性値を付加して,相関イベントを発行する場合について説明します。
- 満たしたい要件
-
JP1/AJSのジョブの異常終了を通知するJP1イベント(00004107)の重大度を緊急(Emergency)として通知したい。
- この例での相関イベントは,次のように設定します。
-
-
イベントID:A01
-
重大度:緊急(Emergency)
-
メッセージ:相関元イベント(00004107)のメッセージを引き継ぐ
-
- 理由
-
システム運用での重大度は次の表のように定義されているが,JP1/AJSのジョブの異常終了を通知するJP1イベント(00004107)は,重大度がエラーとなっているため。
表14‒1 システム運用での重大度の定義 重大度
システム要件
緊急
すぐに対処する必要がある問題
エラー
1運用日中に対処する必要がある問題
- 相関イベント発行定義ファイルの定義内容
-
相関イベント発行定義ファイルの定義内容を次の図に示します。
図14‒3 相関イベント発行定義ファイルの定義内容 注 この例では定義ファイルに記述する際の1行を示すために,行頭に行番号を入れています。
ここで示した相関イベント発行定義を使用したい場合は,次の記述をコピーして使用してください。
[Emergency_event]
CON=CID:1,B.ID==4107
SUCCESS_EVENT=B.ID:A01,E.SEVERITY:Emergency,B.MESSAGE:$EV1_B.MESSAGE
(b) JP1イベントのメッセージを管理しやすいメッセージに変更する
この例では,JP1イベントのメッセージを変更して,相関イベントとして発行する場合について説明します。
- 満たしたい要件
-
JP1イベントのメッセージを,システムに合わせたメッセージに変更したい。また,変更後のメッセージに元のJP1イベントのメッセージの一部を引き継ぐ。
- この例での相関イベントは,次のように設定します。
-
-
イベントID:A02
-
重大度:相関元イベント(00004107)の重大度
-
メッセージ:次の表に示すとおり,相関元イベントのメッセージを一部引き継ぐ。
表14‒2 メッセージの内容 相関イベントの種別
メッセージ内容
相関元イベント
KAVS0265-E ジョブ(ジョブ名:実行ID)が異常終了しました(status:状態,code:コード,host:ホスト名,JOBID:ジョブ番号)
相関イベント
ジョブ:ジョブ名 が RC=コード で異常終了:ジョブ担当者(内線:xxxx)へ連絡
-
- 理由
-
JP1イベントのメッセージが長く,管理の必要な情報が後ろにあると,スクロールしないと全体がわからないことがあり,運用負荷が高くなるため。
- 相関イベント発行定義ファイルの定義内容
-
相関イベント発行定義ファイルの定義内容を次の図に示します。
図14‒4 相関イベント発行定義ファイルの定義内容 注 この例では定義ファイルに記述する際の1行を示すために,行頭に行番号を入れています。例えば,この例の行番号3は2行にわたっていますが,定義ファイルに記述するときは1行で記述します。
ここで示した相関イベント発行定義を使用したい場合は,次の記述をコピーして使用してください。
[Job_error]
CON=CID:1,B.ID==4107,B.MESSAGE*="KAVS0265-E.*\\((.*):.*\\).*code: (.*), host.*"
SUCCESS_EVENT=B.ID:A02,E.SEVERITY:$EV1_E.SEVERITY,B.MESSAGE:"ジョブ:$EV1_ENV1 が RC=$EV1_ENV2 で異常終了:ジョブ担当者(内線:xxxx)へ連絡"
(c) ホストA,BおよびCのすべてが起動したのを契機に自動アクションを実行する
この例では,複数のJP1イベントを関連づけて相関イベントを発行する場合について説明します。なお,自動アクションの定義方法については説明していません。自動アクションの定義については,「6.3 自動アクションの定義」を参照してください。
- 満たしたい要件
-
ホストA,BおよびCのすべてが正常に起動したときに,自動アクションを実行したい(システムのメンテナンス時の運用)。
- ホストA,BおよびCが正常に起動した場合,次のJP1イベントが発行されると仮定します。
-
-
イベントID:100
-
重大度:情報(Information)
-
メッセージ:ホストが起動しました。
メッセージの可変値(ホスト)には,ホスト名A,BまたはCに置き換わります。
-
拡張属性(E.HOST):起動したホスト名A,BまたはCに置き換わります。
-
- この例での相関イベントは,次のように設定します。
-
-
イベントID:A03
-
重大度:情報(Information)
-
メッセージ:すべてのホストが正常に起動しました。ホスト名:A B C
また,すべてのホストから正常起動のJP1イベントが発行されるまでのタイムアウト時間は10分とします。
-
- 理由
-
ホストA,BおよびCが起動したことを通知する三つのJP1イベントに対して,自動アクションを設定すると定義が複雑になる。一方,相関イベント1件に対して自動アクションを設定するのは容易なため。
- 相関イベント発行定義ファイルの定義内容
-
相関イベント発行定義ファイルの定義内容を次の図に示します。
図14‒5 相関イベント発行定義ファイルの定義内容 注 この例では定義ファイルに記述する際の1行を示すために,行頭に行番号を入れています。例えば,この例の行番号6は2行にわたっていますが,定義ファイルに記述するときは1行で記述します。
ここで示した相関イベント発行定義を使用したい場合は,次の記述をコピーして使用してください。
[Start_notification]
CON=CID:10,B.ID==100,B.MESSAGE==Aが起動しました
CON=CID:20,B.ID==100,B.MESSAGE==Bが起動しました
CON=CID:30,B.ID==100,B.MESSAGE==Cが起動しました
TIMEOUT=600
SUCCESS_EVENT=B.ID:A03,E.SEVERITY:Information,B.MESSAGE:"すべてのホストが起動しました。ホスト名:$EV10_E.HOST $EV20_E.HOST $EV30_E.HOST"
(d) JP1イベントを発行した特定のホストを対象として,相関イベントを発行する
この例では,次に示すようなシステム構成でJP1イベントを発行した特定のホストを対象として,相関イベントを発行する場合について説明します。
- 満たしたい要件
-
(a) で説明した次の要件をホスト名host1,host2,host3に限定したい。
JP1/AJSのジョブの異常終了を通知するJP1イベント(00004107)の重大度を緊急(Emergency)として通知したい。
- この例での相関イベントは,次のように設定します。
-
-
イベントID:A01
-
重大度:緊急(Emergency)
-
メッセージ:相関元イベント(00004107)のメッセージを引き継ぐ
-
- 理由
-
JP1/AJSでジョブを実行している複数のホストを監視しているが,特定のホスト(業務のキーとなるジョブを実行するホスト)の重大度だけを変更したいため。
- 相関イベント発行定義ファイルの定義内容
-
相関イベント発行定義ファイルの定義内容を次の図に示します。
図14‒7 相関イベント発行定義ファイルの定義内容 注 この例では定義ファイルに記述する際の1行を示すために,行頭に行番号を入れています。
ここで示した相関イベント発行定義を使用したい場合は,次の記述をコピーして使用してください。
[Emergency_event]
TARGET=B.SOURCESERVER==host1;host2;host3
CON=CID:1,B.ID==4107
SUCCESS_EVENT=B.ID:A01,E.SEVERITY:Emergency,B.MESSAGE:$EV1_B.MESSAGE
(e) 認証エラーを示すJP1イベントをサーバごとに管理する
この例では,次の図に示すように認証エラーを示すJP1イベント(00003A71)が複数件発行されたサーバごとに,相関イベントを発行する場合について説明します。
00003A71はJP1/BaseのWindowsイベントログトラップ機能を使用して発行されたJP1イベントのIDです。なお,ここではWindowsイベントログトラップ機能の設定方法は説明していません。詳細については,マニュアル「JP1/Base 運用ガイド」のイベント変換機能の設定に関する章の,Windowsイベントログを変換する説明を参照してください。
- 満たしたい要件
-
認証エラーを示すJP1イベント(00003A71)が5件発生したサーバごとに相関イベントを発行したい。
- 理由
-
特定サーバへの接続を認証機能を使って制限し,認証エラーを示すJP1イベントを関連づけて相関イベントを発行している。認証機能を持たせたホストは複数台あり,それをホストごとに管理したいため。
- 相関イベント発行定義ファイルの定義内容
-
相関イベント発行定義ファイルの定義内容を次の図に示します。
図14‒9 相関イベント発行定義ファイルの定義内容 注 この例では定義ファイルに記述する際の1行を示すために,行頭に行番号を入れています。
ここで示した相関イベント発行定義を使用したい場合は,次の記述をコピーして使用してください。
[Access_error]
CON=CID:1, B.ID==3A71, B.MESSAGE>=ユーザー認証に失敗
TYPE=threshold:5
SAME_ATTRIBUTE=B.SOURCESERVER
SUCCESS_EVENT=B.ID:A00,E.SEVERITY:Error,B.MESSAGE:$EV1_B.SOURCESERVER で認証エラーが発生しました
(f) 指定時間内にイベントが発生しなかったことを監視する
この例では,次の図に示すように指定時間内にイベントが発生しなかったことを監視するために,相関イベントを発行する場合について説明します。
- 満たしたい要件
-
サーバの停止を検知し,警告イベントAがあがったが,間隔が空いてサーバ起動の情報イベントBがあがった。タイムアウト時間内にAとBを検知できない場合に,相関不成立として警告イベントCをあげたい。
- 理由
-
指定時間内にイベントが発生しなかったことを監視して,その原因を究明したいため。
- 相関イベント発行定義ファイルの定義内容
-
相関イベント発行定義ファイルの定義内容を次の図に示します。
図14‒11 相関イベント発行定義ファイルの定義内容 注 この例では定義ファイルに記述する際の1行を示すために,行頭に行番号を入れています。
ここで示した相関イベント発行定義を使用したい場合は,次の記述をコピーして使用してください。
[sokan1]
TIMEOUT=180
CON=CID:1,B.ID==A
CON=CID:2,B.ID==B
SAME_ATTRIBUTE=B.SOURCESERVER
FAIL_EVENT=B.ID:C,E.SEVERITY:Warning,B.MESSAGE:$EV1_B.SOURCESERVER のサーバが回復してません。
TYPE=sequence
(2) 相関イベントを発行するための稼働環境の検討
ここでは,相関イベントを発行するための稼働環境の検討について説明します。
- 相関イベントの発行によるメモリー所要量,ディスク占有量の見積もり
-
相関イベントを発行するには,JP1/IM - Managerの次のプロセスを稼働させる必要があります。
-
統合監視DBを使用しない場合:
相関イベント発行サービス(evgen)
-
統合監視DBを使用する場合:
イベント基盤サービス(evflow)
プロセスを稼働させることで増加するメモリー所要量について,事前に見積もっておく必要があります。
また,定期的に増加する相関イベント発行履歴ファイルは,ディスク容量を圧迫します。増加するディスク容量を見積もった上で十分なリソースを確保してください。なお,相関イベント発行履歴ファイルのサイズおよび面数は,相関イベント発行環境定義ファイルのパラメーターを調整することで変更できます。詳細については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「相関イベント発行環境定義ファイル」(2. 定義ファイル)を参照してください。
メモリー所要量,ディスク占有量の見積もりについてはJP1/IM - Managerのリリースノートを参照してください。
-
- JP1/IMおよびJP1/Baseの各種フィルターの設計
-
JP1/IMおよびJP1/Baseの各種フィルターについては,次の二つの観点から設定してください。
-
相関元イベントに対するフィルタリング
相関元イベントとするJP1イベントは,相関イベント発行サービスに配信される必要があります。このため,JP1/Baseの転送フィルターおよびJP1/IMのイベント取得フィルターで,相関元イベントが通過できるように設定してください。
なお,JP1/IMの重要イベントフィルター,ユーザーフィルター,および表示フィルターの設定は任意です。相関元イベントを監視したいかどうかによってフィルタリングするか,通過させるかの設定をしてください。
-
相関イベントに対するフィルタリング
相関イベントは,JP1/IM - Viewでの監視が必要になります。基本的には,JP1/IMのイベント取得フィルターを始めとする各種フィルターで,相関イベントが通過できるよう設定してください。
なお,相関イベントを監視以外の目的で発行する場合,例えば自動アクションの実行契機にしたり,監視ノードの状態変更の契機にしたりするときには,フィルタリングの対象としてもかまいません。ただし,この場合もイベント取得フィルターは通過できるよう設定してください。
JP1/IMの各種フィルター設定の検討については,「14.1.3 JP1イベントのフィルタリング設定の検討」を,JP1/Baseの転送フィルター設定の検討については,マニュアル「JP1/Base 運用ガイド」のイベントサービスの設定の章,JP1イベントの転送の説明を参照してください。
-
(3) 相関イベントの発行に関する注意事項
相関イベントの発行に関する注意事項を次に示します。
-
発行された相関イベントは,再度相関イベントの発行処理の対象とすることはできません。
相関イベント発行定義に,相関元イベントとして相関イベントを登録した場合,その定義内容は無視されます。
-
相関イベント発行定義ファイルの編集後は,必ずjcoegscheckコマンドで定義内容をチェックしてください。これによって,不正な条件や冗長な条件を定義不正としてチェックアウトできます。
jcoegscheckコマンドについては,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「jcoegscheck」(1. コマンド)を参照してください。
なお,相関イベント発行定義に不正な定義があった場合でも,相関イベント発行サービスは稼働できます。ただし,定義中の不正個所は無視されます。
-
相関の対象範囲の絞り込み条件および同一属性値条件と,イベント条件に同じイベント属性を指定した場合,絶対に成立しない不正な条件になることがあります。これは,jcoegscheckコマンドでチェックアウトできません。
相関の対象範囲の絞り込み条件,同一属性値条件を指定する場合,イベント条件と矛盾がないか注意して定義してください。
不正な条件について,例を示して説明します。まず,相関の対象範囲の絞り込み条件を指定した場合の例を次に示します。
図14‒12 不正な条件の例1(相関の対象範囲の絞り込み条件を指定した場合) 行頭の行番号を使って説明します。
2行目で相関の対象範囲の絞り込み条件を指定して,発行元イベントサーバ名に「host」を含むJP1イベントを処理の対象としています。このため,4行目のイベント条件で指定した発行元イベントサーバ名が「HOST_A」のJP1イベントは発行処理の対象外になります。
4行目のイベント条件を満たすJP1イベントは処理されないため,相関イベント発行条件が成立せず,相関イベントが発行されません。
次に,同一属性値条件を指定した場合の例を示します。
図14‒13 不正な条件の例2(同一属性値条件を指定した場合) 行頭の行番号を使って説明します。
2行目のイベント条件で先頭が「ERROR=」と一致するメッセージ,また3行目のイベント条件で先頭が「ACCESS ERROR」と一致するメッセージを関連づけています。4行目の同一属性値条件では,メッセージが同一のJP1イベントをグルーピングしています。
2,3行目のイベント条件で,それぞれメッセージが異なるJP1イベントを処理対象としているため,同一属性値条件の「メッセージが同一」を満たすことはなく,相関イベントは発行されません。
なお,2,3行目のイベント条件に一致するJP1イベントはそれぞれ処理され,絶対に成立しない処理が開始されてしまいます。次の順序でJP1イベントが発行された場合を考えてみます。
-
JP1イベント(イベントID:00000999,メッセージ:ERROR=100)が発行される。
2行目のイベント条件に一致するため,発行処理が開始されます。同一属性値として「ERROR=100」が登録され,発行処理中のJP1イベントの組数が一組増加します。
-
JP1イベント(イベントID:00000998,メッセージ:ACCESS ERROR)が発行される。
3行目のイベント条件に一致しますが,メッセージが「ERROR=100」ではないため,上記の1とは別の発行処理が開始されます。同一属性値として「ACCESS ERROR」が登録され,発行処理中のJP1イベントの組数が一組増加します。
-
-
相関イベント機能によって相関イベントおよび相関不成立イベントを発行した場合,システム全体のイベント量が増加します。これによってイベント量の増加に伴い,システム全体の負荷が増加するおそれがあります。
相関イベント機能によって増加するイベント量,およびシステム全体のイベント量を検討し,システム全体の負荷に問題がないか検証してください