使用 Spring Boot Actuator 实现应用实时监控

1. 引言

1.1 什么是 Spring Boot Actuator

Spring Boot Actuator 是 Spring Boot 提供的一组生产级功能模块,用于帮助开发者对 Spring Boot 应用进行监控和管理。它提供了一系列 REST API 端点(Endpoints),可以获取应用程序的运行状态、健康检查、度量指标等信息。

这些端点开箱即用,适用于本地开发、测试环境以及生产部署。

1.2 为什么需要应用实时监控

在微服务架构中,系统复杂度高、服务数量多且分布广泛。为了快速定位问题、优化性能、保障系统稳定性,必须具备完善的监控能力。

Spring Boot Actuator 提供了以下关键优势:

  • 开箱即用的健康检查
  • 实时查看 JVM 和系统指标
  • 快速排查配置和 Bean 注入问题
  • 支持自定义监控逻辑和集成主流监控平台

2. Spring Boot Actuator 简介

2.1 Actuator 的核心功能概述

Actuator 提供的功能包括但不限于:

功能 描述
健康检查 检查应用是否正常运行
指标收集 获取 JVM、HTTP 请求次数、线程数等运行数据
配置查看 查看当前环境变量与配置属性
请求映射 查看 URL 与 Controller 方法的映射关系

2.2 常用内置端点(Endpoints)介绍

端点名称 描述
/actuator/health 查看应用健康状态
/actuator/metrics 获取 JVM 和系统运行时指标
/actuator/info 显示自定义项目信息
/actuator/env 查看当前环境变量和配置
/actuator/beans 查看 Spring 容器中的 Bean 列表
/actuator/mappings 查看请求路径与控制器方法的映射关系

2.3 Actuator 在生产环境中的典型用途

  • Kubernetes 或 Consul 中的服务健康检查探针
  • Prometheus + Grafana 的可视化监控接入
  • 日志与报警系统的数据源
  • 运维人员快速诊断问题的依据

3. 快速开始:集成 Spring Boot Actuator

3.1 创建一个基础的 Spring Boot 应用

使用 Spring Initializr 创建一个 Spring Boot 项目,选择以下依赖:

  • Spring Web
  • Spring Boot Actuator

下载并导入项目到 IDE 中。

3.2 引入 Actuator 依赖(Maven / Gradle)

Maven:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

Gradle:

implementation 'org.springframework.boot:spring-boot-starter-actuator'

3.3 启用所有端点并访问健康状态接口

默认情况下,并非所有端点都启用。我们可以在 application.yml 中开启所有端点:

management:
  endpoints:
    web:
      exposure:
        include: "*"

启动应用后,访问:

http://localhost:8080/actuator/health

响应示例:

{
   
  "status": "UP"
}

3.4 自定义管理端口与路径配置

你可以在 application.yml 中修改 Actuator 的访问端口和路径:

server:
  port: 8081

management:
  server:
    port: 8082
  endpoints:
    web:
      base-path: /manage
      exposure:
        include: "*"

现在可以通过:

http://localhost:8082/manage/health

访问健康检查接口。

4. 核心功能详解

4.1 /actuator/health:应用健康状态监控

Actuator 默认提供了一个简单的健康检查接口。你可以通过添加数据库依赖让其自动检测数据库是否可用。

添加数据库依赖(如 MySQL):

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

随风九天

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

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

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

打赏作者

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

抵扣说明:

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

余额充值