当前位置: 首页 > 知识库问答 >
问题:

如何配置JBoss 6.3.0GA以使用RMI JMX?

卢深
2023-03-14

如您所见,有新的说明:
https://docs.jboss.org/author/display/AS71/JMX子系统配置和旧RMI指令:
https://docs.jboss.org/author/pages/viewpage.action?pageId=21627109

我可以让新指令工作,但我们使用nagios,它只允许通过RMI检查JMX,所以我需要让RMI JMX工作。

有人能解决这个问题吗?我不能使用旧的指令,因为上面写着<代码>

我在JBoss启动时的JAVA_选项中添加了以下内容:

JAVA\u OPTS=“$JAVA\u OPTS-Dcom.sun.management.jmxremote.port=12345-Dcom.sun.management.jmxremote.authenticate=false-Dcom.sun.management.jmxremote.ssl=false”-Djava.util.logging.manager=org.jboss.logmanager。LogManager-Dorg.jboss.logging.Logger.pluginClass=org.jboss.logging.LogManager。LoggerPluginImpl-Djava.rmi.server.hostname=10.20.2.50

但我无法让jconsole连接到服务:jmx:rmi:///jndi/rmi://10.20.2.50:12345/jmxrmi

(注:如果任何拥有redhat paywall访问权限的人可以在此处报告答案:https://access.redhat.com/solutions/263763那太棒了:P)

共有1个答案

梁嘉祥
2023-03-14

要连接到JMX,输入的URL应采用以下格式

service:jmx:remoting-jmx://{host_name}:{port}

独立模式

其中{port}是被监控的AS7安装的本机管理接口(默认=9999)。

域模式

其中{port}是正在监视的AS7安装的JMX子系统接口(第一个服务器=4447,端口偏移量=150下一个服务器)。

<subsystem xmlns="urn:jboss:domain:jmx:1.1">
   <show-model value="true"/>
   <remoting-connector use-management-endpoint="false"/>
</subsystem>

两种模式

在localhost之外,您必须设置-Djboss.bind.address。管理或内部xml(standalone.xml/host.xml)。

一旦连接上,就可以正常地使用jContor提供的功能。

身份验证

连接器利用JBoss远程处理与服务器通信,因此,这里将应用与CLI使用的完全相同的身份验证机制。

本地的

对于在AS7安装本地运行的进程,我们支持本地身份验证机制,该机制允许客户端通过与服务器共享文件系统上的令牌来验证其身份-该机制以静默方式运行,无需任何进一步的用户交互。

用户名/密码

在无法进行本地身份验证的情况下,例如客户端作为AS7进程以外的其他用户运行,或者默认情况下在远程安装上运行,则下一种使用的机制是基于用户名/密码的。在使用此机制的情况下,如果使用默认管理连接器(端口9999),则应在ManagementRealm中提供用户的用户名和密码;如果使用远程连接器(端口4447),则应在单击“连接”按钮之前在“新建连接”屏幕的框中提供用户的用户名和密码。

$JBOSS\u HOME/bin/add用户。sh(Linux)或$JBOSS\u HOME/bin/add user。bat(Windows)脚本可用于添加这些用户。确保在管理用户和管理领域与应用程序用户和应用程序领域之间进行选择,这取决于您使用的是默认管理连接器还是远程处理连接器(通常与域模式一起使用,或在远程连接时使用)。

通过JBoss远程连接JMX所需的库

JMX MBeanServer可以通过管理连接使用JBoss Remote ting访问。因此,有必要将以下库从EAP6/AS7发行版的模块目录添加到监控应用程序的类路径中:

org/jboss/remoting3/remoting-jmx
org/jboss/remoting3
org/jboss/logging
org/jboss/xnio
org/jboss/xnio/nio
org/jboss/sasl
org/jboss/marshalling
org/jboss/marshalling/river

参考:使用jconsole连接到AS7上的JMX

其他资源:将VisualVM与远程JBoss连接为7/EAP6 JVM进程

编辑:

JBoss EAP 5支持使用RMI进行JMX监控,而JBoss EAP 6不支持。EAP 6使用“远程控制-jmx”而不是“rmi”。

您应该寻找另一种解决方案,如SNMP,或适合nagios的插件

见:

使用pnp4nagios模板通过SNMP监控JBoss EAP 6工作节点的JVM

用于与Jboss 7.1.1兼容的Nagios的Jboss SAR MBean和Perl插件

 类似资料:
  • 我正在尝试了解如何使用Spring。 我试着效仿这个例子。但是,当我从Eclipse启动Tomcat时,我得到了以下错误: 这是DispatcherServlet的相关代码。xml salvaUtente()是一种方法,我将在其中处理多个插入(现在仍然是exmpty)。

  • 问题内容: 我已经为我的应用程序设置了Resque.redis.namespace,现在resque-web不再显示辅助程序和队列。 有什么方法可以使resque-web知道redis.namespace或理想情况下是多个redis namspace? 问题答案: 假设您在中设置了Resque.redis.namespace 。比您可以运行resque- web将此路径作为命令行参数传递给该文件,

  • 这是一个已知的问题,因为Spring AOP使用的是基于代理的方法,该方法不会“看到”同一个类中的内部调用。显然我可以通过使用AspectJ而不是Spring AOP来解决这种情况。如果我没有理解错的话,它可以从Spring内部进行配置。从我的发现来看,我应该包含注释来配置Spring使用AspectJ而不是自己的AOP。不幸的是,这没有帮助,在添加注释之后,没有发生对被注释的方法的拦截。 Spr

  • 我们正在使用cloudfront为具有自定义域的图像提供服务。 我们希望能够使用SSL访问它们,例如

  • 问题内容: 如何使Grails 3.1.1用户成为Hibernate 5? 以下操作报告了Hibernate版本4.3.11.Final:在Grails 3.1.1中 grails创建应用hello311 编辑BootStrap.groovy,如下所示 Grails运行应用 控制台显示:Hibernate版本为:4.3.11.Final 我的build.gradle未编辑。create-app命令

  • 问题内容: 我正在尝试使用axios向api端点发出请求,但出现以下错误: 似乎axios使用的https模块无法验证服务器上使用的SSL证书。 使用浏览器访问服务器时,证书有效,我可以查看/下载该证书。我还可以通过https向浏览器上的api请求。 我可以通过关闭验证来解决此问题。此代码有效。 问题是,这不验证SSL证书,因此打开了安全漏洞。 如何配置axios以信任证书并正确验证它? 问题答案