サービスを監視したい

Nimbusを使って、様々なサービスを利用すると、サービスの状態を監視したい事があります。
例えば、Queueサービスを利用する場合、キューの滞留数を監視して一定数以上の滞留がある場合はそれを検知したくなります。

さて、JavaでBeanの状態を監視する仕組みはあるのでしょうか?
JMX(Java Management eXtensions)という規格が、それにあたります。
JMXサーバに登録されたMBean(Managed Bean)は、ネットワーク越しに状態を取得したり、操作する事ができます。

実は、Nimbusのサービスは、JMXのMBeanです。
従って、JMXを経由する事で、ネットワーク越しにNimbusのサービスの状態を取得する事ができます。
取得した状態を出力したり、値を監視して閾値を超えるとログを出力したりできるのが、MBeanWatcherServiceです。


FAQ