大家早上好。 我在Linux上配置Jboss wildfly 8.2.0以便在域配置中为Zabbix 3.0进行jmx远程监控时遇到问题。 我正在使用个人资料" full"和"全ha"。 这些是我已启用的字符串:
[[1],
[1 2],
[1 2 3]]
在host.xml中,我为每个虚拟服务器插入了远程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>
所以,我已经尝试将这个字符串放入domain.conf:
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
但在这种情况下,我&#39;收到以下错误:
JAVA_OPTS="$JAVA_OPTS -Djava.util.logging.manager=$JBOSS_HOME/modules/org/jboss/logmanager/main/jboss-logmanager-1.5.2.Final.jar"
那么,我该怎么办?为什么我收到这些错误,如何解决并最终启动我的虚拟服务器?
感谢大家的帮助
问候 红色
答案 0 :(得分:0)
昨天刚刚解决了这个问题。这个question总结了解决方案,但潜在的问题是:
java.util.logging.manager
覆盖"java.util.logging.manager=org.jboss.logmanager.LogManager"
到 org.jboss.logmanager.LogManager (值是类名,而不是jar)< / LI>
"-Xbootclasspath/p:$JBOSS_HOME/modules/system/layers/base/org/jboss/logmanager/main/jboss-logmanager-1.5.2.Final-redhat-1.jar"
(实际版本可能因EAP版本而异你正在跑步。)此外,您必须将jboss日志记录包添加到引导时模块列表中。启动器脚本(conf修饰符)有一行如下:
if [“x $ JBOSS_MODULES_SYSTEM_PKGS”=“x”];然后 JBOSS_MODULES_SYSTEM_PKGS = “org.jboss.byteman” 网络
需要扩展以包含jboss日志包:
if [ "x$JBOSS_MODULES_SYSTEM_PKGS" = "x" ]; then
JBOSS_MODULES_SYSTEM_PKGS="org.jboss.byteman, org.jboss.logmanager"
fi
在最后一部分,您可以跳过env变量,因为它会转换为命令行集系统属性,如下所示:
-Djboss.modules.system.pkgs=$JBOSS_MODULES_SYSTEM_PKGS
也就是说,您可以直接设置该系统属性。
需要进行此调整的根本原因是JMX命令行设置,它在启动过程的早期就会激活java.util.logging,这可以在您的日志中看到:
[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服务来弥补这一问题,因此您可以选择。