0

私は初めて JMX について調べており、本番環境で発生している問題に対する実行可能な解決策であるかどうかを確認しようとしています。

リモート Web サービス (独自のサーバー上の別のチームによって管理されている) を常にヒットし、そこからデータを要求するアーキテクチャがあります (このサービスからもキャッシュしますが、キャッシュが非常に効果的ではないという厄介な問題です)。

サービスに送信している正確なURL/クエリを確認できる Web サービスにアクセスする直前に、コード内の特定のポイントでログのオン/オフを動的に切り替える機能が必要です。やみくもにログ レベルを設定し、すべての Web サービス リクエストをログに記録すると、天文学的に大きなログ ファイルが作成されます。

JMX は、マネージド Bean を使用してこのセクションのロギングを制御し、その Bean の状態 (setLoggingEnabled(boolean)など) をマネージャー (おそらく基本的な HTML アダプター) を介してリモートで設定できるソリューションのようです。

私の質問はすべて展開関連です。

  • MBean インターフェイスと impl、およびエージェント (MBean と HTML アダプターをプラットフォーム MBean サーバーに登録する) を作成する場合、それらをメインの Web アプリケーション (WAR) 内でコンパイル、パッケージ化、デプロイしますか?独自の、たとえば JAR にコンパイルして、アプリケーションの横にある JVM に置くには?
  • Dev、QA、Demo、Prod の環境があります。異なる MBean が登録されている MBean サーバーを指す 1 つの HTML アダプターを、環境ごとに 1 つ持つことは可能ですか? さまざまな環境で Bean を管理できる URL が 1 つあると便利です
  • 上記の最初の質問に対する答えが、MBean インターフェイス、impl、およびエージェントがすべてアプリケーション内にデプロイされるというものである場合、JMX 対応アプリケーションを 1 つのサーバー (たとえば、デモ) にデプロイし、それを別のサーバーから監視することは可能ですか?サーバ?

前もって感謝します!

4

2 に答える 2

0

MBean をどのようにパッケージ化するかは、大部分が移植性の問題です。これらの特定のサービスには、この webapp の範囲外で現実的な有用性がありますか? そうでない場合は、単に Web アプリケーションを「JMX 管理可能」と宣言して組み込みます。それ以外の場合は、MBean をコンポーネント化し、jar に入れ、jar を WEB-INF/lib に入れ、構成されたスタートアップ サーブレットを使用して初期化します。 web.xml。

単一の HTML アダプターの場合、可能です。Dev、QA、Demo、および Prod MBeanServer と、1 つのMaster MBeanServer があると考えてください。HTML アダプターはマスターをレンダリングする必要があります。次に、 OpenDMK カスケード サービスを使用して、Dev、QA、Demo、および Prod のカスケードをマスターに登録できます。これで、HTML アダプター表示に 5 つの MBeanServer の Bean がすべて表示されます。

それはあなたの 3 番目の質問に答えていますか?

于 2012-04-12T21:08:29.427 に答える
0

JMXは、アプリケーションのリモート管理に使用されるテクノロジであり、たとえば、再起動せずに構成を変更したい場合などに使用するのが最も適切な方法です。

しかし、あなたの場合、JMX が必要な理由がわかりません。たとえば、ログに を使用する場合Log4j、ファイル ウォッチドッグを構成し、ログを可能な限り低いレベルに変更するだけです。つまり、デバッグします。これには、最初の設計であったはずの再起動と IMHO は必要ありません。つまり、ロガーとレベルの周りで作業します。現時点では、あなたが何を意味し、 で何が起こるかは明確ではありませんsetLoggingEnable

いずれにせよ、マネージド Bean はアプリケーションと共にデプロイされることになっています。Spring を使用している場合は、Spring JMXBean との非常に優れた統合が提供され、Spring Bean をマネージド Bean としてデプロイできるため、幸運です。

最後に、プロセスに接続すると、その JVM に対して実行されているマネージド Bean が表示されます。したがって、ポイント2で正確に何を意味するのかわかりません。

とにかく、これが少し役立つことを願っています

于 2012-04-12T14:12:27.283 に答える