jvm - 从非 Java 客户端通过 JMX 调用/监控 JVM

标签 jvm monitoring jmx

我正在使用 Nagios 进行监控 - 并查看 NPRE 以在给定的盒子上进行各种监控。我有一些 Java 进程 - 如果能通过 JMX 等“查看它们”会很好。如果不启动 JVM 并进行远程连接,我看不出有什么方法可以做到这一点?

有什么想法吗?

最佳答案

我相信您可以通过 RMI-IIOP 连接到 JMX 服务,我认为这是 Java 的 CORBA。我相信这意味着您可以使用任何 COBRA 客户端连接到 RMI-IIOP Java 服务。查看JBoss IIOP ,我相信它可以满足您的需求,只是它是特定于 JBoss 的。

也许使用 JAX-WS 或 JAX-RS(即,作为 Web 服务)简单地包装您想要导出的 JMX 服务可能更容易?然后您可以使用普通的 HTTP 访问您想要的内容。

事实上,it seems someone has done exactly that !我假设您想要访问以下内容:

  • http://<host>:<port>/rest/jmx/java.lang:type=Memory/NonHeapMemoryUsage/commited

整个项目可在 https://opendmk.dev.java.net/contributions/rest-adaptor/readme.html 获得。 :

Restful JMX Adaptor

This Project OpenDMK contribution offers an HTTP access to JMX information in a RestFul way. An article published in the JMX NetBeans blog, covers in detail the approach.

另一个(相同的?)项目可在 https://ws-jmx-connector.dev.java.net/ 获得

关于jvm - 从非 Java 客户端通过 JMX 调用/监控 JVM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3605458/

相关文章:

java - 斯坦福 NER 重新训练的内存要求

java - Java内存模型中堆的实现

java - 为什么我收到 JVM 最大堆空间错误?

java - 指定Java虚拟机的内存限制有什么好处?

java - 当指定多个条件锁定时会出现死锁

java - 使用 JMX 获取远程 JVM 属性

rmi - JMX RMI 代理容错机制

web-services - 一个网络服务监控工具

c++ - Inotify 删除事件丢失

tomcat - Mark Sweep 和 Scavenge 计数如何工作?