一文带你了解Spring Actuator

服务监控Spring Boot Actuator是一个用于监控和管理Spring Boot应用的子项目,它提供了一组REST端点和命令行工具,用于查看应用的运行状态、性能指标和健康状况等 。Actuator还支持应用度量数据的导出,以及自定义端点和安全控制等功能 。通过使用Spring Boot Actuator,开发人员可以更加方便地了解应用的运行状况,及时发现和解决问题 。
概述随着微服务架构的普及,Spring Boot 已经成为JAVA开发人员的首选框架 。然而,随着应用的规模不断扩大, 如何有效地监控和管理这些应用成为一个重要的问题 。Spring Boot Actuator的出现,为开发人员提供了一个解决方案 。本文将详细介绍Spring Boot Actuator的功能、工作原理、使用场景以及应用示例,帮助读者更好地理解和掌握这一工具 。
功能简介

  • 应用度量数据的导出:Actuator 可以将应用的运行数据导出到各种不同的存储后端 , 例如 Prometheus、Datadog、New Relic 等 。这样,开发人员可以方便地使用这些数据来监控应用的性能和健康状况 。
  • REST 端点:Actuator 提供了一组 REST 端点 , 用于查看应用的运行状态、健康状况、度量数据等信息 。开发人员可以通过 HTTP 请求来获取这些数据,并使用各种工具进行可视化展示 。
  • 命令行工具:除了 REST 端点之外,Actuator 还提供了一些命令行工具,例如 spring-boot-cli 和 spring-boot-admin 。这些工具可以让开发人员更方便地管理和监控应用 。
  • 自定义端点:Actuator 支持自定义端点的开发,让开发人员可以根据自己的需求来暴露自定义的监控数据 。这样可以更灵活地监控和管理应用 。
  • 安全控制:Actuator 支持对监控端点的安全控制,例如限制访问权限、身份验证等 。这样可以保护应用的敏感信息不被泄露 。
Spring-Actuator默认监控服务 服务端点
描述
auditevents
公开当前应用程序的审核事件信息 。
beans
显示应用程序中所有Spring bean的完整列表 。
caches
公开可用的缓存
conditions
显示在配置和自动配置类上评估的条件以及它们匹配或不匹配的原因 。
configprops
显示所有@ConfigurationProperties的有序列表 。
env
公开Spring的ConfigurableEnvironment中的属性
flyway
显示已应用的任何Flyway数据库迁移 。
health
显示应用健康信息 。
httptrace
显示HTTP跟踪信息(默认情况下 , 最后100个HTTP请求 – 响应交换) 。
info
显示任意应用信息 。
integrationgraph
显示Spring集成图 。
loggers
显示和修改应用程序中日志记录器的配置 。
liquibase
显示已应用的任何Liquibase数据库迁移 。
metrics
显示当前应用程序的“指标”信息 。
mAppings
显示所有@RequestMapping路径的有序列表 。
scheduledtasks
显示应用程序中的计划任务 。
sessions
允许从Spring Session支持的会话存储中检索和删除用户会话 。使用Spring Session对响应式Web应用程序的支持时不可用 。
shutdown
允许应用程序正常关闭 。
http://localhost:8080/actuator
  • 依赖
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency>
  • 配置
management:endpoints:web:exposure:#[health, info]include: "*"
  • 自定义监控
监控端点相关注解: