如何使用Python连接JMX代理

10 投票
3 回答
12336 浏览
提问于 2025-04-16 02:50

我正在为我的服务器开发一个自定义监控系统。

这个应用是用Python和Django开发的。

我的服务器上运行着Java的网络应用,我需要监控这些应用运行的JVM(Java虚拟机),所以我启动应用时开启了JMX(Java管理扩展)。

现在我需要把我的Python应用连接到JVM的JMX代理。

有没有什么方法可以做到这一点呢?

我读过关于HtmlAdapterServer的内容,它可以通过特定的URL来管理JMX的MBeans(管理基础对象),但我不知道该怎么使用它。

提前谢谢你,祝好!

3 个回答

0

Jpype是另一个选择。你可以启动JVM(Java虚拟机),然后用Java代码来获取Glassfish的监控数据。想了解更多,可以查看这个链接:http://jpype.sourceforge.net/

2

这里有一个可以在你的服务器上部署的基于Web服务的JMX服务器的参考实现,具体可以查看这个链接。根据文档,你可以使用VB脚本来调用JMX操作,所以我猜想你也可以用Python来做这件事。

更新:

Jolokia提供了一个HTTP/REST API,可以用来访问JMX的MBean服务器。这样的话,Python客户端应该很容易就能调用它。

4

你觉得用 Jython 怎么样?可以看看这个网站:http://www.jython.org/

撰写回答