首页 > 解决方案 > 访问 Spring Boot 应用程序的 JConsole 上的特定 JMX 指标信息

问题描述

我有一个打包为 WAR 并部署在 Tomcat 9 服务器上的 Spring Boot 应用程序。

它已配置为通过 JMX 公开以下指标:

spring.jmx.default-domain: my-app
management.endpoints.jmx.exposure.include: health,info,metrics

我可以通过 JConsole 连接到 Tomcat 并查看提供这 3 个端点的 my-app MBean:

在此处输入图像描述

选择 Metrics -> Operations - listNames 我可以通过调用 listNames 方法获得公开的整个指标列表:

在此处输入图像描述

现在我想查看一个特定的指标(例如jvm.memory.used),转到指标 -> 操作 -> 指标:

在此处输入图像描述

但是 metric(requiredMetricName, tag) 方法被禁用。

如何从 JConsole 中的 mbean 获取特定指标的值?

标签: springspring-bootjmxjconsolespring-jmx

解决方案


它被禁用的原因是因为 JConsole 不允许输入复杂类型的参数。见https://stackoverflow.com/a/12025340/62667

但是,如果您使用替代的 JMX 接口(例如,将 Hawtio 添加到您的应用程序),那么您可以使用它来调用操作。在此处输入图像描述


推荐阅读