Spring Boot 应用监控与管理:使用 JConsole 访问 JMX 端点

在现代微服务架构中,监控和管理应用的健康状态是至关重要的。Spring Boot 通过其内置的 Actuator 模块提供了丰富的监控和管理功能。默认情况下,Spring Boot 将管理端点以 JMX MBeans 的形式暴露在 org.springframework.boot 域下。本文将介绍如何通过 JConsole 访问这些端点,并结合实例进行详细说明。

引入 Actuator 依赖

首先,我们需要在 Spring Boot 应用中引入 Actuator 依赖。以下是 pom.xml 文件中的配置示例:

<project>
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.logicbig.example</groupId>
    <artifactId>accessing-actuator-jmx-end-point</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>war</packaging>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.1.RELEASE</version>
    </parent>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>
</project>

请注意,虽然 spring-boot-starter-web 不是访问 MBeans 端点所必需的,但包含它可以帮助我们保持主方法 (main()) 不退出,这对于演示和测试是有帮助的。

编写启动类

接下来,创建一个启动类 JmxEndpointExampleMain 来运行 Spring Boot 应用:

public class JmxEndpointExampleMain {
    public static void main(String[] args) {
        SpringApplication.run(JmxEndpointExampleMain.class, args);
    }
}

使用 JConsole 访问端点

运行上述主类后,我们可以通过 JConsole 访问暴露的 JMX 端点。以下是操作步骤:

  1. 启动 JConsole。
  2. 在 JConsole 中,找到并连接到我们的主类 JmxEndpointExampleMain
  3. 忽略“Secure connection failed”的消息,选择“不安全连接”。
  4. 点击“MBean”标签页。
  5. 在左侧树形结构中,找到 org.springframework.boot 下的 Spring MBeans。
  6. 例如,选择 Beans/Operations/beans,然后在右侧面板点击“beans”按钮(按钮后的括号表示这是一个远程操作,它将返回 java.util.Map 作为响应)。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 点击“beans”操作按钮,查看返回的结果。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

同样,其他 Actuator MBeans 也可以被访问,并且可以调用远程“Operations”来获取相关信息。

示例项目

本示例项目使用了以下依赖和技术:

  • Spring Boot 2.0.1.RELEASE
  • Spring 5.0.5.RELEASE
  • spring-boot-starter-actuator:用于使用 Spring Boot 的 Actuator,提供生产就绪功能,帮助您监控和管理应用程序。
  • spring-boot-starter-web:用于构建 Web 应用程序,包括使用 Spring MVC 的 RESTful 应用程序。默认使用 Tomcat 作为嵌入式容器。
  • JDK 1.8
  • Maven 3.3.9

通过本文的介绍,您应该能够理解如何在 Spring Boot 应用中使用 JConsole 访问 JMX 端点,以及如何利用 Actuator 模块进行应用的监控和管理。这将为您在生产环境中的应用程序提供强大的支持。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

t0_54coder

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值