1

Jolokiaは私にとって未知の領域であり、ドキュメントを読んだ後でも、私が念頭に置いているシナリオで動作するかどうかはわかりません.

設定:

  • Tomcat アプリケーション サーバー (バージョンの範囲は 6.x から 7.x)。通常は Windows プラットフォーム上にあり、場合によっては Linux のフレーバー上にあります。
  • JMX 監視が有効になっている (RMI 経由でアクセス可能) サードパーティの Java Web アプリケーション (SAP BusinessObjects) をデプロイしました。

考えられる落とし穴:

  • 監視対象の Java Web アプリケーションは商用かつクローズド ソースであるため、変更はできません。変更できるのは JMX ポート番号だけです
  • JMX エンドポイントはカスタム エンドポイントであるため、デフォルトのjmxrmiエンドポイントではありません。
  • JMX 接続には認証が必要です。

ゴール:

私がやりたいことは、Jolokia WAR ファイルを Tomcat サーバーにデプロイしてから、他の Web アプリケーションから MBean 属性を読み取れるように構成することです。

Python (バージョン 3) とRequests HTTP ライブラリを使用して、自分でクライアントをコーディングします。

私は Jolokia のドキュメントを読んでいます (繰り返しますが、この時点ではまったくの初心者です) が、これが可能かどうかはわかりません (JMX に入る場所が見つからないため) /RMI url または認証情報)。

質問:

  1. このセットアップに WAR エージェントを使用できますか?
  2. そうでない場合は、その理由を説明していただけますか (信じられないからではなく、理解できるように)。また、このシナリオにより適した別のエージェントはありますか?
  3. はいの場合、接続する Web アプリケーションに Jolokia を構成する方法を教えていただけますか?
4

1 に答える 1

5

まず第一に、Jolokia は JSR-160 コネクタを完全にバイパスするため、JMX/RMI 認証は必要ありません。Jolokia の全体的な目的は、HTTP/JSON を介して内部JMX サブシステムへのブリッジを提供することです。エージェントによっては、ジョロキアを非常に簡単に確保できます。WAR エージェントの場合、保護は Java EE Web アプリの場合と同じです。Tomcat 用にいくつかのロールとユーザーを設定し (例: でtomcat-users.xml)、 内のセキュリティ制約でロールを参照しjolokia.warます/WEB-INF/web.xml

あなたの質問に:

  1. はい、できます。特定の認証が必要ない場合は、単純に jolokia.war を tomcat の/webappsディレクトリにドロップします。セキュリティを追加する前に、まずこれを試すことをお勧めします。エージェントをアンインストールするには、単純に war を削除します。

  2. 別の方法として、追加のポート (デフォルト: 8778) で独自の HTTP サーバーを開く JVM エージェントを使用することもできます。これについては、リファレンス マニュアルを参照してください。

  3. MBean はグローバルに登録され、JVM のどこからでもアクセスできるため、Web アプリへの専用接続は必要ありません。もちろん、Web アプリケーションは公開する管理情報を慎重に選択する必要があります。したがって、追加の手順は必要なく、WEB アプリの MBean に直接アクセスできます (ただし、Java セキュリティで異常なことを行う場合を除きますが、私はそうは思いません)。

インストールをテストするには、ブラウザーとコンテキスト/jolokia(例: " http://localhost:8080/jolokia ") を使用して Tomcat に接続するだけです。エージェント自体のバージョン情報が表示されます。

次のステップは、ブラウザ (およびhttp://localhost:8080/jolokia/listのような操作「リスト」ですが、これは面倒です) またはj4pshhawt.ioなどのクライアントを使用して、JMX 名前空間を探索することです。探している Web アプリケーションの MBean が見つかることを願っています。

于 2015-03-18T08:35:23.170 に答える