2016-04-14 8 views
0

おはようございます。 ドメインコンフィグレーションで、Zabbix 3.0のjmxリモートモニタリング用にlinuxでJboss wildfly 8.2.0を設定する際に問題がありました。 私は "フル"と "フルハ"のプロファイルを使用しています。ここでは、私はすべての仮想サーバーのリモートJMX監視の設定を音声を入れてきた、例えば1 host.xmlインサイドWildFly 8.2.0とのZabbix 3.0とリモートJMXモニタリング誰にでも

(profile=full-ha) 
<subsystem xmlns="urn:jboss:domain:jmx:1.3"> 
<expose-resolved-model/> 
<expose-expression-model/> 
<remoting-connector use-management-endpoint="false"/> 

(Profile=full) 
<subsystem xmlns="urn:jboss:domain:jdr:1.0"/> 
<subsystem xmlns="urn:jboss:domain:jmx:1.3"> 
<expose-resolved-model/> 
<expose-expression-model/> 
<remoting-connector use-management-endpoint="false"/> 

<servers> 
     <server name="server-one" group="main-server-group"> 
      <!-- Remote JPDA debugging for a specific server--> 
      <jvm name="default"> 
       <jvm-options> 
       <!--<option value="-agentlib:jdwp=transport=dt_socket,address=8787,server=y,suspend=n"/>--> 
<option value="-Dcom.sun.management.jmxremote"/> 
<option value="-Dcom.sun.management.jmxremote.port=10150"/> 
<option value="-Dcom.sun.management.jmxremote.authenticate=false"/> 
<option value="-Dcom.sun.management.jmxremote.ssl=false"/> 
<!--<option value="-Dcom.sun.logmanager.Logmanager"/>--> 
<!--org.jboss.logmanager.LogManager--> 
       </jvm-options> 
      </jvm> 
      <!--  --> 
     </server> 
これらは私が有効になっている文字列です

すべてのサーバーで、別のポートに入力しました。

But when I try to start the domain, I receive the following error: 
09:26:50,762 INFO [org.jboss.as.process.Server:server-one.status] (ProcessController-threads - 3) JBAS012017: Starting process 'Server:server-one' 
[Server:server-one] WARNING: Failed to load the specified log manager class org.jboss.logmanager.LogManager 
[Server:server-one] Exception in thread "main" java.lang.IllegalStateException: The LogManager was not properly installed (you must set the "java.util.logging.manager" system property to "org.jboss.logmanager.LogManager") 
[Server:server-one]  at org.jboss.logmanager.Logger.getLogger(Logger.java:61) 
[Server:server-one]  at org.jboss.as.server.DomainServerMain.main(DomainServerMain.java:86) 
[Server:server-one]  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
[Server:server-one]  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
[Server:server-one]  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
[Server:server-one]  at java.lang.reflect.Method.invoke(Method.java:606) 
[Server:server-one]  at org.jboss.modules.Module.run(Module.java:312) 
[Server:server-one]  at org.jboss.modules.Main.main(Main.java:460) 
09:26:51,682 INFO [org.jboss.as.process.Server:server-one.status] (reaper for Server:server-one) JBAS012010: Process 'Server:server-one' finished with an exit status of 1 
[Host Controller] 09:26:51,684 INFO [org.jboss.as.host.controller] (ProcessControllerConnection-thread - 2) JBAS010926: Unregistering server server-one 

だから、私はdomain.confにこの文字列を入れて試してみた:

JAVA_OPTS="$JAVA_OPTS -Djava.util.logging.manager=$JBOSS_HOME/modules/org/jboss/logmanager/main/jboss-logmanager-1.5.2.Final.jar" 

しかし、このケースで私は次のエラーを受け取る:

[Host Controller] 09:28:18,462 INFO [org.jboss.as.host.controller] (Controller Boot Thread) JBAS010922: Starting server server-one 
09:28:18,512 INFO [org.jboss.as.process.Server:server-one.status] (ProcessController-threads - 3) JBAS012017: Starting process 'Server:server-one' 
[Server:server-one] Could not load Logmanager "/application/jboss/modules/org/jboss/logmanager/main/jboss-logmanager-1.5.2.Final.jar" 
[Server:server-one] java.lang.ClassNotFoundException: /application/jboss/modules/org/jboss/logmanager/main/jboss-logmanager-1.5.2.Final.jar 
[Server:server-one]  at java.net.URLClassLoader$1.run(URLClassLoader.java:366) 
[Server:server-one]  at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
[Server:server-one]  at java.security.AccessController.doPrivileged(Native Method) 
[Server:server-one]  at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
[Server:server-one]  at java.lang.ClassLoader.loadClass(ClassLoader.java:425) 
[Server:server-one]  at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 
[Server:server-one]  at java.lang.ClassLoader.loadClass(ClassLoader.java:358) 
[Server:server-one]  at java.util.logging.LogManager$1.run(LogManager.java:191) 
[Server:server-one]  at java.security.AccessController.doPrivileged(Native Method) 
[Server:server-one]  at java.util.logging.LogManager.<clinit>(LogManager.java:181) 
[Server:server-one]  at java.util.logging.Logger.demandLogger(Logger.java:339) 
[Server:server-one]  at java.util.logging.Logger.getLogger(Logger.java:393) 
[Server:server-one]  at com.sun.jmx.remote.util.ClassLogger.<init>(ClassLogger.java:55) 
[Server:server-one]  at sun.management.jmxremote.ConnectorBootstrap.<clinit>(ConnectorBootstrap.java:823) 
[Server:server-one]  at sun.management.Agent.startAgent(Agent.java:260) 
[Server:server-one]  at sun.management.Agent.startAgent(Agent.java:456) 
[Server:server-one] WARNING: Failed to load the specified log manager class org.jboss.logmanager.LogManager 
[Server:server-one] Exception in thread "main" java.lang.IllegalStateException: The LogManager was not properly installed (you must set the "java.util.logging.manager" system property to "org.jboss.logmanager.LogManager") 
[Server:server-one]  at org.jboss.logmanager.Logger.getLogger(Logger.java:61) 
[Server:server-one]  at org.jboss.as.server.DomainServerMain.main(DomainServerMain.java:86) 
[Server:server-one]  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
[Server:server-one]  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
[Server:server-one]  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
[Server:server-one]  at java.lang.reflect.Method.invoke(Method.java:606) 
[Server:server-one]  at org.jboss.modules.Module.run(Module.java:312) 
[Server:server-one]  at org.jboss.modules.Main.main(Main.java:460) 
09:28:19,384 INFO [org.jboss.as.process.Server:server-one.status] (reaper for Server:server-one) JBAS012010: Process 'Server:server-one' finished with an exit status of 1 

だから、何僕にできる?なぜこれらのエラーが表示され、どのように解決して最終的に仮想サーバーを起動できますか?あなたの助けをみんなに

おかげ

挨拶

+0

一般的なコメントです。特定の質問に関連していない可能性があります。いくつかの理由から、私たちはWildFly(または他のJavaベースのアプリケーション)から直接jmxパラメータを監視するためにzabbixを使用しません。私たちはjolokiaを使っています。 JolXはJMXをhttpに変換し、zabbixはhttpデータを読み込みます。それは魅力のように働く。 –

答えて

0

レッド はちょうど昨日、この問題に取り組みました。このquestionは解決策をまとめたが、根本的な問題はこれです:

  • コマンドラインディレクティブ"java.util.logging.manager=org.jboss.logmanager.LogManager"(値はクラス名である、ないとjava.util.logging.managerにorg.jboss.logmanager.LogManagerをオーバーライドする必要がありますjar)
  • これは、起動時にクラスパスにjbssのlogging jarがあることを必要とするため、コマンドラインでは、この指示文でブートクラスパスにjarを挿入する必要があります。実際のバージョンは、使用しているEAPのバージョンランニング)。
  • また、あなたは、ブート時のモジュールリストにJBossのログパッケージを追加する必要があります。ランチャースクリプト(confにモディファイ)は、このような行があります。

    [ "X $ JBOSS_MODULES_SYSTEM_PKGS" = "X"]場合。その後、 JBOSS_MODULES_SYSTEM_PKGS = "org.jboss.byteman" Fiの

と、それは、JBossのログパッケージ含むように拡張する必要があります:あなたはENVをスキップすることができ、その最後の部分で

if [ "x$JBOSS_MODULES_SYSTEM_PKGS" = "x" ]; then 
    JBOSS_MODULES_SYSTEM_PKGS="org.jboss.byteman, org.jboss.logmanager" 
fi 

をこれはコマンドラインに変換されるので、次のようにシステムプロパティを設定します。

-Djboss.modules.system.pkgs=$JBOSS_MODULES_SYSTEM_PKGS 

つまり、そのシステムのプロパティyを直接。

この微調整が必​​要となる根本的な原因は、java.utilのをアクティブにJMXコマンドライン設定です。ここにあなたのログで観察することができるように、非常に早い段階ブートプロセスのログイン:

[Server:server-one]  at java.util.logging.Logger.demandLogger(Logger.java:339) 
[Server:server-one]  at java.util.logging.Logger.getLogger(Logger.java:393) 
[Server:server-one]  at com.sun.jmx.remote.util.ClassLogger.<init>(ClassLogger.java:55) 
[Server:server-one]  at sun.management.jmxremote.ConnectorBootstrap.<clinit>(ConnectorBootstrap.java:823) 
[Server:server-one]  at sun.management.Agent.startAgent(Agent.java:260) 
[Server:server-one]  at sun.management.Agent.startAgent(Agent.java:456) 

このようにして、JMXコマンドラインオプションを削除すると、それ以降でJMXサービスを活性化させることによって補うことができ、この問題を、修正しますあなたがオプションを持っているので、ブートプロセス。

+0

こんにちは、共有しているoptonsの設定を試しましたが、-Xbootclasspathを指定してもlogmanagerモジュールをロードしても、次のエラーが表示されます。 エラー:メインクラスorg.jboss.logmanagerを見つけることができませんでした その後、シェルを終了します。コマンドラインからパスjarをコピーしたので、正しいと確信しています。 –

+0

エラーログの行に貼り付けることはできますか?また、私たちが発見したのは、これが私たちの奇妙な設定だと思っていましたが、あなたにも影響している可能性があります。ファイルconfiguration/logging.propertiesはJBossの起動時に**生成されます**この場合、util.loggingはこのファイルが生成される前に初期化されているため、存在しないか、無効な設定が含まれている可能性があります(server.logにディレクトリが存在しません)。 – Nicholas

+0

....無効なlogging.propertiesファイルによって引き起こされた失敗は、実際には非常に誤解を招く** ClassNotFound **エラーを引き起こしますが、エラースタックトレースにより、何が起こっているのかが明確になります。 – Nicholas

関連する問題