2009-10-15 12 views
18

こんにちは私はブラウザを使ってJavaアプリケーションを監視したいが、同時に既存のJMXインフラストラクチャを利用したい。JMX-RESTブリッジはありますか?

私はJMXがHTTPインターフェイスを提供していることを知っていますが、標準のWeb GUIを提供し、既存のシステムと機能をマッシュアップすることはできません。

あなたはJMXのRESTインターフェイスについて認識していますか?

私の研究では、現在のところ、類似のことをするprojectが1つ存在することが示されています。これは唯一のオプションですか?

答えて

3

Tomcatは、マネージャアプリケーションでJMX Proxy Servletです。私はそれがまったくRESTだとは思わないが、ステートレスで、単純なHTTPリクエストから構築されているので、十分に近いはずです。

+0

TomcatのJMXプロキシは、JSON、XMLまたは他の符号化タイプをサポートしていません。実際にはヘッダのAcceptキーをサポートしていません。 –

1

jmx4perlをご覧ください。これにはローカルのJMX呼び出しに対するREST要求をプロキシするエージェントサーブレットが付属しており、応答を含むJSON構造体を返します。これは、読み込み、書き込み、exec、リスト(mbeansのリスト)、検索操作をサポートし、XPath式のような複雑なデータ構造にどのように潜んでいくかを知っています。詳細はプロトコルの説明を見てください。

今後のリリースでは、バルク(複数の同時リクエスト)リクエストも処理でき、純粋なREST GETリクエストの代わりにJSONリクエストを投稿する可能性が追加されています。

次のリリースのいずれかでは、ターゲットプラットフォームにエージェントサーブレットを配備する必要はなく、中間のプロキシサーバーのみにプロキシモードをサポートします。

23

JolokiaはJVMにインストールできる新しい(現時点で)JMXエージェントで、JSON形式でHTTP経由でMBeanServerを公開します。

1

MX4Jは別の代替である、それのホーム・ページから、下に引用 - 。

MX4Jは、Java(TM)管理拡張(JMX)のとJMXリモートのオープンソース実装を構築するためのプロジェクトですAPI(JSR 160)の仕様、およびJMXに関連するツールの構築に役立ちます。

2

私は最近、SimpleJMXパッケージに小さなWebサーバーを追加しました。クラスパス内にある場合は、プラットフォームMBeanServerからJetty経由でHTTPにBeanを公開します。すべてのページのテキストバージョンでは、簡単に掻きすることができます。

// create a new JMX server listening on a specific port 
JmxServer jmxServer = new JmxServer(8000); 
jmxServer.start(); 

// register any beans to jmx as necessary 
jmxServer.register(someObj); 

// create a web server publisher listening on a specific port 
JmxWebServer jmxWebServer = new JmxWebServer(8080); 
jmxWebServer.start(); 

が操作でそれを示してlittle test programあります。ここには、ブラウザからアクセスされるjava.lang:type=Memoryの画像があります。あなたが見ることができるように、出力は非常に基本的なHTMLです。

enter image description here

+0

私はこのプロジェクトが本当に好きですが、コネクタがjetty 9で動作しないことを指摘する価値がありますので、jetty 8を使用してください。 –

+0

したがって、SimpleJMXバージョン1.10 @ShawnVaderにJetty 9サポートを追加しようとしました。それは動作しないと思いますか?私はJava 7を残念ながら持っていないので、自分でテストすることはできません。 http://256.com/gray/email/で私にpingしてください。 – Gray

関連する問題