複数プロセスのJMX監視について

広瀬です

現在1.8(古いよ!)から2.4へUpgradeするに当たり、2.4の調査をしていますが、JavaGatewayを利用した
監視についてご質問です

※検証環境
  CentOS5.11 64bit
  Zabbix本体:2.4.5
  MySQL5.6

※監視対象のリソース
  Tomcat、Flume

上記、今まではJavaプロセスと言えば、Tomcatオンリーだったのでどのような方法だとしても「重複」が発生する
要因はありませんでしたが、Flumeを導入した事によりJavaプロセスが事実上2つになりました

当然の事ながら、Zabbixの基本仕様とも言うべき部分ですが同一ホスト上に同一アイテムキーは存在出来ません
ので、例えばヒープやGC監視であればほぼ同一のモノが出てしまいます。こうなると、同一ホスト上の監視設定に
TomcatとFlumeを同時には設定が出来無くなります。

苦肉の策として別ホスト名を作成し、JMXインタフェースのみに指定したホストを作成して、そちらに分類するという
手法をとらざるを得ないかと思います。本手法以外の取り得る対応はありますでしょうか?

Hadoopなど元より複数プロセスなので、どうされているのか少々気になる次第。。。APIで取れよと言われそうです
が、極力Zabbix側の処理だけにしたいなと思った次第です(そうで無くともUserParamだらけなので)

よろしくお願い致します。

 

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー TNK の写真

ホストの設定でJMXのインターフェースは複数登録できるのですが、
同じホスト上で同じキーのアイテムは存在できないので、Tomcatと
Flumeに関しては、やはり、別のホストとして登録しないと、同じ
キーの値が取得できないようです。

1つの環境上で、Tomcatを別のポートで2つ起動してみましたが、
JMXのテンプレートをホストに紐づけると、どちらかのJMXインター
フェースしか指定できませんでした。
手動で同じキーを別のインターフェースで登録しようとすると、
アイテムのキー重複エラーになります。

つまり、1つのホスト上でキーが重複することができないので、別
のインターフェースで同じキーの値を取得することはできないよう
です。
※Zabbix 2.4.5で確認。

本家フォーラムで、キーにスペースを入れたり入れなかったりとか
やっていた方もいらしたようですが.....。
ZBXNEXT-1490に期待ですかね。

本家フォーラムでの議論:
Multiple JMX interfaces on same host
https://www.zabbix.com/forum/showthread.php?t=26882
Zabbix 2.x JMX and multiple instances
https://www.zabbix.com/forum/showthread.php?t=28785
Monitoring java processes
https://www.zabbix.com/forum/showthread.php?p=117660
ZBX-5536
Issues with monitoring multiple Java instances on the same host
https://support.zabbix.com/browse/ZBX-5536
ZBXNEXT-1490
Unable to use same item key with multiple interfaces
https://support.zabbix.com/browse/ZBXNEXT-1490

ユーザー wakaba の写真

TNKさま

広瀬です、ご返答ありがとうございます
やはり現時点の状態では別ホスト化する以外は手立てはなさそうですね。
わざわざのご確認を頂き恐縮です

本家側では統一出来無いかという議論があるの点は探しきれていません
でした。確かにその点がインクルードされると非常に有り難いですね
少なくとも2つ以上あるJMX監視の場合、対象の起動ポートが違いますの
でその差で何かいい手が探れると期待したいと思います。

暫くは本家のZBXNEXT-1490含めてWatchして行こうと思います。