问题标签 [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.

0 投票
2 回答
6136 浏览

java - 远程 JMX 调用因 ClassNotFoundException 失败:...(无安全管理器:RMI 类加载器已禁用

我尝试从 Tomcat 的 Web 应用程序调用 MBean 的方法。目标 MBean 在 JBoss 4.2.3 下运行。Tomcat 和 JBoss 应用程序都使用具有相同类的相同版本的 jar,但在调用时我看到以下异常:

我认为 JBoss 不使用自己的类,而是尝试从某个地方下载该类,但由于“没有安全管理器:RMI 类加载器已禁用”而失败。但是如何改变这种行为来使用本地已经加载的类。或者也许我猜错了..?

0 投票
5 回答
34051 浏览

java - 如何在远程 Glassfish 服务器上激活 JMX 以使用 jconsole 进行访问?

我想监控远程 glassfish 服务器。我在 domain.xml 中启用了 JMX 连接:

但这没有帮助。我仍然无法使用 JConsole 连接到服务器。然后我找到了解决方案 - 我需要在 domain.xml 中指定 JVM 属性以打开 8686 端口进行远程连接。所以我将此行添加到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(Native Method) 在 java.net.URLClassLoader.findClass(URLClassLoader.java:188) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:307) 在 sun.misc.Launcher$AppClassLoader .loadClass(Launcher.java:301) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:252) 在 java.util.logging.LogManager$1.run(LogManager.java:166) 在 java.security.AccessController.doPrivileged (本机方法)在 java.util.logging.LogManager.(LogManager.java:156) 在 java.util.logging.Logger。getLogger(Logger.java:273) 在 sun.management.snmp.util.MibLogger.(MibLogger.java:57) 在 sun.management.snmp.util.MibLogger.(MibLogger.java:42) 在 sun.management.jmxremote .ConnectorBootstrap.(ConnectorBootstrap.java:760) 在 sun.management.Agent.startAgent(Agent.java:127) 在 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 在 javax.management.MBeanServerFactory.checkMBeanServerBuilder(MBeanServerFactory.java :480) 在 javax.management.MBeanServerFactory.getNewMBeanServerBuilder(MBeanServerFactory.java:511) 在 javax。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) 在 java.lang.management.ManagementFactory.getPlatformMBeanServer(ManagementFactory.java:504) 在 sun.management.jmxremote.ConnectorBootstrap.initialize(ConnectorBootstrap.java:392) 在 sun.management.Agent.startAgent( Agent.java:127) 在 sun.management.Agent.startAgent(Agent.java:239) 引起:java.lang.ClassNotFoundException: com.sun.enterprise.admin.server.core.jmx.AppServerMBeanServerBuilder 在 java.net。 URLClassLoader$1。在 java.net.URLClassLoader.findClass(URLClassLoader.java:188) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:307) 的 java.security.AccessController.doPrivileged(Native Method) 运行(URLClassLoader.java:200)在 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:252) 在 javax.management.MBeanServerFactory.loadBuilderClass(MBeanServerFactory.java:423) 在 javax。 management.MBeanServerFactory.checkMBeanServerBuilder(MBeanServerFactory.java:465) ... 9 更多代理引发的异常:javax.management.JMRuntimeException:无法加载 MBeanServerBuilder 类 com.sun.enterprise.admin.server.core.jmx.AppServerMBeanServerBuilder: java.lang.ClassNotFoundException:com.sun.enterprise.admin.server。core.jmx.AppServerMBeanServerBuilder

我该如何解决这个问题?

提前致谢。

0 投票
12 回答
85712 浏览

java - 使用 jConsole 连接远程 tomcat JMX 实例

我正在尝试使用 jConsole 连接到远程 tomcat JMX 实例。但是无法连接成功。任何想法?

我在远程 tomcat 中包含了以下选项catalina.sh

0 投票
5 回答
29842 浏览

java - 访问远程 MBean 服务器

我正在使用 JBoss 运行客户端/服务器应用程序。

如何连接到服务器 JVM 的 MBeanServer?我想使用 MemoryMX MBean 来跟踪内存消耗。

我可以使用 JNDI 查找连接到 JBoss MBeanServer,但是 java.lang.MemoryMX MBean 没有向 JBoss MBeanServer 注册。

编辑:要求是从客户端以编程方式访问内存使用情况。

0 投票
0 回答
3630 浏览

java - 使用 JMX 和 Hyperic 监控特定于应用程序的指标

我的 webapp 通过 JMX 公开了一些特定于应用程序的指标(想想“下达的订单”),我想使用Hyperic HQ(开源版本)对其进行监控。

根据Hyperic Inventory 模型,我的 Linux 服务器称为托管我的 Tomcat 6服务器的平台,该服务器又托管服务(例如“Servlet Monitor”),最终公开指标(例如“每分钟错误计数”)。

我假设我需要开发一个自定义 Hyperic 插件(实际上只是一个 XML 文件),它将代理和服务器指向正确的 JMX MBean。理想情况下,我希望将我的 webapp 列为由 Tomcat 6 服务器托管的服务,但查看插件开发文档,这似乎是不可能的。

也许这还不算太糟糕,因为理论上,我可能想将我的应用程序切换到 Jetty。但我认为这是一个非常常见的用例,那么有什么最佳实践吗?我真的在网上找不到任何这样的例子,所以我想我可以问问专家..

请注意:我链接到的 Hyperic 文档似乎需要一个帐户才能查看。

0 投票
3 回答
6843 浏览

.net - JMX 的 .NET 等价物是什么?

是否有用于监视和管理的 .NET 等效项 - 类似于 JMX?

0 投票
3 回答
3981 浏览

tomcat - 我应该如何使用 JMX 监控 tomcat 上的 Web 应用程序?

我想使用 JMX 监控在 tomcat 下运行的 Web 应用程序。

我不想只使用 Tomcat 的内置 JMX 实现,我想为实际的 Web 应用程序实现一个 mbean,以便获取有关应用程序特定设置的信息并对其进行监视。

Web 应用程序和在线监控的问题在于,Web 应用程序并不总是处于活动状态,而是“唤醒”以处理服务器的请求,因此监控它们不仅仅是插入 JMX,就像我对正常运行的进程所做的那样。

你如何让 Tomcat 在后台运行应用程序(像单例一样),以便我可以随时连接到它?

有没有办法做到这一点,这是常见的,我不知道?

谢谢!

0 投票
2 回答
2670 浏览

java - 强制 Spring 的 MBeanExporter 使用特定的 MBeanServer

我有一个在 JBoss 4.2.2 上运行的 Web 应用程序。为了监控性能,我启用了 Java 5 附带的内部平台 JMX 服务器。换句话说,我添加了:

到 JBoss 的启动脚本。这按预期工作。但是,因此,所有 MBean 现在都在平台 MBeanServer 上注册。我不希望这样,我希望它们在 JBoss 的 MBeanServer 上注册。

困难在于我使用 Spring 来注册我的托管 bean。为此,MBeanExporter使用。因此,我需要告诉我MBeanExporter在注册 bean 时使用 JBoss 的 MBeanServer。但是,影响所使用服务器的唯一公开方法MBeanExportersetServer(MBeanServer mBeanServer). 问题是我只知道如何以编程方式获取对正确 MBeanServer 的引用,而不是在MBeanExporter声明 的 Spring 的 XML 中。

我的选择似乎是:

  1. 编写一个子类MBeanExporter,覆盖某些方法,以便加载正确的 MBeanServer
  2. 写一个PostBeanProcessor找到 JBoss 的 MBeanServer 然后调用setServer
  3. JNDI? 仅当 MBeanServer 在 JNDI 中公开时才有效,而我无法找到它。

最惯用的方法是什么?我做的事情真的很傻吗?

0 投票
1 回答
2239 浏览

java - 如何管理 JMX Web 应用程序

我已经完成了页面上的流程以公开 Web 应用程序的 JMX 接口。

我已经设法在 Tomcat JMX 代理上查看了公开的接口,但是当我加载 JConsole 并查找公开的 mbean 接口时,我找不到与公开的属性和操作相关的任何内容。

Web 应用程序的 jconsole 上没有特定条目,因此我认为它可能位于 TOMCAT jmx 条目下。它不是。(记住,我确实设法在 tomcat jmx 代理页面上看到它)。

如何在本地管理我的 Web 应用程序?为什么 JConsole 不显示它?

0 投票
1 回答
1910 浏览

jboss - 在 JBoss 5.0 中看不到新的 MBean

我已经浏览了几个关于如何将 MBean 添加到 JBoss 5.0 的示例,以便可以通过 JMX 控制台对其进行配置,但是这些示例都没有出现在 JMX 视图中。我现在试图让 ehCache 的 JMX 集成工作无济于事。

我正在尝试(如在 ehCache 文档中)以下内容:

我自己的或现在的 ehCache 版本从来没有看到任何错误,但它从来没有出现在 JMX 视图中。我想知道 - 我需要对 JBoss 配置进行设置以获取这些添加吗?我错过了一些基本的东西吗?有什么提示吗?

谢谢你的帮助。我在这里拉头发。