問題タブ [jmx]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - リモート JMX 呼び出しが ClassNotFoundException で失敗しました: ... (セキュリティ マネージャがありません: RMI クラス ローダーが無効になっています
Tomcat から Web アプリケーションから MBean のメソッドを呼び出してみます。ターゲット MBean は JBoss 4.2.3 で実行されています。Tomcat と JBoss の両方のアプリケーションは、同じクラスの同じバージョンの jar を使用しますが、呼び出し時に次の例外が表示されます。
JBoss は独自のクラスを使用していないと思いますが、このクラスをどこかからダウンロードしようとすると、「no security manager: RMI class loader disabled」で失敗します。ただし、この動作を変更して、ローカルの既にロードされたクラスを使用する方法。それとも、この推測を間違えているのでしょうか..?
java - jconsoleでアクセスするためにリモートGlassfishサーバーでJMXをアクティブ化する方法は?
リモートのGlassfishサーバーを監視したいと思います。domain.xmlでJMX接続を有効にしました。
しかし、これは役に立ちませんでした。それでもJConsoleでサーバーに接続できません。次に、解決策を見つけました。リモート接続用に8686ポートを開くには、domain.xmlでJVMプロパティを指定する必要があります。そこで、この行をjava-configセクションに追加しました。
しかし、サーバーを起動すると、次のエラーが発生します。
Logmanager "com.sun.enterprise.server.logging.ServerLogManager" java.lang.ClassNotFoundException:com.sun.enterprise.server.logging.ServerLogManager at java.net.URLClassLoader $ 1.run(URLClassLoader.java:200)を読み込めませんでしたjava.security.AccessController.doPrivileged(ネイティブメソッド)at java.net.URLClassLoader.findClass(URLClassLoader.java:188)at java.lang.ClassLoader.loadClass(ClassLoader.java:307)at sun.misc.Launcher $ AppClassLoader .loadClass(Launcher.java:301)at java.lang.ClassLoader.loadClass(ClassLoader.java:252)at java.util.logging.LogManager $ 1.run(LogManager.java:166)at java.security.AccessController.doPrivileged (ネイティブメソッド)java.util.logging.LogManager。(LogManager.java:156)atjava.util.logging.Logger。getLogger(Logger.java:273)at sun.management.snmp.util.MibLogger。(MibLogger.java:57)at sun.management.snmp.util.MibLogger。(MibLogger.java:42)at sun.management.jmxremote .ConnectorBootstrap。(ConnectorBootstrap.java:760)at sun.management.Agent.startAgent(Agent.java:127)at sun.management.Agent.startAgent(Agent.java:239)javax.management.JMRuntimeException:MBeanServerBuilderのロードに失敗しましたクラスcom.sun.enterprise.admin.server.core.jmx.AppServerMBeanServerBuilder:java.lang.ClassNotFoundException:com.sun.enterprise.admin.server.core.jmx.AppServerMBeanServerBuilder at javax.management.MBeanServerFactory.checkMBeanServerBuilder(MBeanServerFactory.java :480)javax.management.MBeanServerFactory.getNewMBeanServerBuilder(MBeanServerFactory.java:511)atjavax。management.MBeanServerFactory.newMBeanServer(MBeanServerFactory.java:298)at javax.management.MBeanServerFactory.createMBeanServer(MBeanServerFactory.java:213)at javax.management.MBeanServerFactory.createMBeanServer(MBeanServerFactory.java:174)at sun.management.ManagementFactory.createPlatformMBeanServer (ManagementFactory.java:302)at java.lang.management.ManagementFactory.getPlatformMBeanServer(ManagementFactory.java:504)at sun.management.jmxremote.ConnectorBootstrap.initialize(ConnectorBootstrap.java:392)at sun.management.Agent.startAgent( Agent.java:127)at sun.management.Agent.startAgent(Agent.java:239)原因:java.lang.ClassNotFoundException:com.sun.enterprise.admin.server.core.jmx.AppServerMBeanServerBuilderatjava.net。 URLClassLoader$1。run(URLClassLoader.java:200)at java.security.AccessController.doPrivileged(Native Method)at java.net.URLClassLoader.findClass(URLClassLoader.java:188)at java.lang.ClassLoader.loadClass(ClassLoader.java:307) sun.misc.Launcher $ AppClassLoader.loadClass(Launcher.java:301)at java.lang.ClassLoader.loadClass(ClassLoader.java:252)at javax.management.MBeanServerFactory.loadBuilderClass(MBeanServerFactory.java:423)atjavax。 management.MBeanServerFactory.checkMBeanServerBuilder(MBeanServerFactory.java:465)... 9 moreエージェントによってスローされた例外:javax.management.JMRuntimeException:MBeanServerBuilderクラスのロードに失敗しましたcom.sun.enterprise.admin.server.core.jmx.AppServerMBeanServerBuilder: java.lang.ClassNotFoundException:com.sun.enterprise.admin.server。core.jmx.AppServerMBeanServerBuilder
どうすれば問題を解決できますか?
前もって感謝します。
java - jConsole を使用したリモート Tomcat JMX インスタンスの接続
jConsole を使用してリモート Tomcat JMX インスタンスに接続しようとしています。しかし、うまく接続できません。何か案が?
リモート tomcat に次のオプションを含めましたcatalina.sh
。
java - リモート MBean サーバーへのアクセス
JBoss を使用してクライアント/サーバー アプリケーションを実行しています。
サーバー JVM の MBeanServer に接続するにはどうすればよいですか? MemoryMX MBean を使用してメモリ消費を追跡したいと考えています。
JNDI ルックアップを使用して JBoss MBeanServer に接続できますが、java.lang.MemoryMX MBean が JBoss MBeanServer に登録されていません。
編集: 要件は、クライアントからのメモリ使用量へのプログラムによるアクセスです。
java - JMX および Hyperic を使用したアプリケーション固有のメトリックの監視
私の webapp は、 Hyperic HQ (オープン ソース版)を使用して監視したい JMX 経由でいくつかのアプリケーション固有のメトリック (「発注」と考えてください) を公開します。
ハイパーリック インベントリ モデルによると、私の Linux サーバーは、Tomcat 6サーバーをホストするプラットフォームと呼ばれ、最終的にメトリック(「1 分あたりのエラー数」など) を公開するサービス(「サーブレット モニター」など) をホストします。
エージェントとサーバーを正しい JMX MBean に向けるカスタム Hyperic プラグイン (実際には単なる XML ファイル) を開発する必要があると思います。理想的には、Web アプリケーションが Tomcat 6 サーバーによってホストされるサービスとしてリストされていることを確認したいのですが、Plugin Development docsを見ると、それは不可能のようです。
理論的には、アプリを Jetty に切り替えたいと思うかもしれません。しかし、それは非常に一般的なユースケースだと思うので、ベストプラクティスはありますか? ウェブ上でこれの例を実際に見つけることができなかったので、専門家に聞いてみようと思いました..
注意:リンクした Hyperic ドキュメントを表示するにはアカウントが必要なようです。
.net - JMXに相当する.NETとは何ですか?
JMXと同様に、監視と管理に相当する.NETはありますか?
tomcat - JMXを使用してTomcatでWebアプリケーションを監視するにはどうすればよいですか?
JMXを使用してTomcatで実行されているWebアプリケーションを監視したいと思います。
Tomcatの組み込みのJMX実装だけを使用するのではなく、実際のWebアプリケーションにmbeanを実装して、アプリケーション固有の設定に関する情報を取得して監視できるようにします。
Webアプリケーションとオンライン監視の問題は、Webアプリケーションが常にアクティブであるとは限らず、サーバーによる要求を処理するために「起動」されるため、通常の実行プロセスの場合のように、それらの監視がJMXにプラグインするだけではないことです。
Tomcatをバックグラウンドで(シングルトンのように)実行して、いつでも接続できるようにするにはどうすればよいですか?
これを行う方法は一般的で、私は気づいていませんか?
ありがとう!
java - SpringのMBeanExporterに特定のMBeanServerを使用するように強制する
JBoss4.2.2でWebアプリケーションを実行しています。パフォーマンスを監視するために、Java 5に同梱されている内部プラットフォームのJMXサーバーを有効にしました。つまり、次のように追加しました。
JBossの起動スクリプトに。これは期待どおりに機能します。ただし、この結果、すべてのMBeanがプラットフォームMBeanServerに登録されるようになりました。それは望ましくありません。JBossのMBeanServerに登録してもらいたいのです。
難しいのは、Springを使用してマネージドBeanを登録していることです。このために、MBeanExporter
が使用されます。したがって、MBeanExporter
Beanを登録するときにJBossのMBeanServerを使用するように指示する必要があります。ただし、MBeanExporter
使用されるサーバーに影響を与える唯一の公開されたメソッドはですsetServer(MBeanServer mBeanServer)
。問題は、プログラムで正しいMBeanServerへの参照を取得する方法しか知らないことであり、MBeanExporter
が宣言されているSpringのXMLではわかりません。
私のオプションは次のようです:
- サブクラスを
MBeanExporter
に書き込み、特定のメソッドをオーバーライドして、正しいMBeanServerがロードされるようにします PostBeanProcessor
JBossのMBeanServerを見つけて呼び出すsetServer
- JNDI?MBeanServerがJNDIで公開されている場合にのみ機能し、私はそれを見つけることができませんでした。
最も慣用的な方法は何ですか?私は本当にばかげたことをしていますか?
java - JMX Web アプリケーションの管理方法
このページのプロセスを実行して、Web アプリケーションの JMX インターフェースを公開しました。
Tomcat JMX プロキシで公開されたインターフェイスを表示することはできましたが、JConsole をロードして公開された mbean インターフェイスを探すと、公開された属性と操作に関連するものが見つかりません。
Web アプリの jconsole には特定のエントリがないため、TOMCAT jmx エントリの下にある可能性があると考えました。そうではありません。(念のため、Tomcat jmxプロキシページでそれを見ることができました)。
Web アプリケーションをローカルで管理するにはどうすればよいですか? JConsole に表示されないのはなぜですか?
jboss - JBoss 5.0 で新しい MBean を確認できない
MBean を JBoss 5.0 に追加して JMX コンソールを介して構成できるようにする方法についていくつかの例を調べてきましたが、これらの例のどれもが JMX ビューに表示されたことはありません。私は今、ehCache の JMX 統合を無駄に動作させようとしました。
私は(ehCacheのドキュメントのように)次のことを試みています:
自分のバージョンでも、現在の ehCache バージョンでもエラーは表示されませんが、JMX ビューには表示されません。私は疑問に思っています-これらの追加を取得するためにJBoss構成に行う必要がある設定はありますか? 基本的な何かが欠けていますか?ヒントはありますか?
助けてくれてありがとう。ここで髪を引っ張っています。