ESM 多段(階層)構成の注意点

1 Likes

ESMを多段(階層)構成でご利用になる場合の注意点です。

詳細は次の記事をご参照いただきたいのですが、Event ID の仕様による制限になります。

---------------------------------------------

ESM Event ID and Event Forwarding
ESM Event ID and Event Forwarding 

---------------------------------------------


簡単にご説明すると、ESM の eventID は64ビットで次の2つの部分から構成されています。

1.上位16ビットは、ESMマネージャ間でフォワードされたイベントのパスを特定するもの
2.下位48ビットは、各々のESMでイベントを特定するもの

この上位16ビットですが、"server.pathinfo.single.bits" というパラメータがあり
(デフォルトでは3になっています)この値によって次の資料の様に各階層のESMの数が制限されます。

PDF


例えば、デフォルトの"server.pathinfo.single.bits=3"の場合、5階層までで、各階層は7台までのESMとなります。
そのため、8台目のESMを構成しようとすると次のようなエラーが発生しイベントを上位の階層のESMへ送ることができません。

---------------------------------------------
[ERROR][default.com.arcsight.common.flow.queue.AsyncEventProcessor$ProcessorThread][run]
java.lang.RuntimeException: Unable to get path info. Next one would be 8 but maximum is 7.
---------------------------------------------

また、Event IDの最上位ビットが"1"(資料の赤字)になるESMから送られたイベントのEvent IDは
コンソール上では負の値として表示されます。
次はEvent IDが負の場合の例です。


ご存知かもしれませんが、コンソールはJavaのアプリケーションで、JavaにはC言語のような符号なし整数型が無く、
2の補数表現によって最上位ビットが"1"の整数は負の数になるためで、特にESMの動作に問題はありません。

事前に8台以上のESMを構成される場合は、全てのESMのserver.propertiesファイルに次を追加され、
ESMを再起動後に構成されることをお勧め致します。
"server.pathinfo.single.bits=4"
この場合は4階層までで、各階層15台までのESMとなります。

もし、"server.pathinfo.single.bits"がデフォルトの値で
各階層のESMが8台以上になってしまった場合の変更方法については
次のKMをご参照ください。

---------------------------------------------
Manager RunTimeException "Unable to get path info (...)" when Receiving Events from More than 7 Forwarding Connectors
https://support.microfocus.com/kb/kmdoc.php?id=KM1270822
---------------------------------------------

なお、以前開発に確認したところ、Event IDはユニークである必要はなく、
重複してもESM上動作には問題はないとのことですので、
もしEvent IDを使用したアプリなどを開発される場合はご注意ください。

Labels:

Knowledge Docs
Comment List
  • なお、既に稼働しているESMの "server.pathinfo.single.bits" の値を変更される場合、過去に遡って Event ID の変更はされませんので、"server.pathinfo.single.bits" の値を変更された時点を将来的に参照することになった時のため何らかの記録に残されることをお勧めします。

Related
Recommended