Spring Actuator 监控管理
Spring Actuator 是 Spring Boot 提供的一个功能强大的监控和管理端点。它提供了一系列的 HTTP 端点,可以用来监控应用程序的运行状态、健康状况、性能指标等信息。这些端点可以通过 HTTP 或 JMX 访问。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
Spring Boot Actuator Web API Documentation
常用的端点:
- /health:用于检查应用程序的健康状况。
查看详细信息需要新加配置:management.endpoint.health.show-details=always
- /info:用于显示应用程序的基本信息。
- /metrics:用于显示应用程序的性能指标。要再使用/actuator/metrics/{metric.name}分別查看各个指标的详细信息。
- /trace:用于显示应用程序的请求跟踪信息。
- /env:用于显示应用程序的环境变量。
- /beans:用于显示应用程序中所有的 Bean。
例如:
http://localhost:8080/actuator/health
引入依赖后,SpringBoot 在运行时就會自动开启/actuator/health
和/actuator/info
这两个endpoint。查询暴露的端点:
http://localhost:8080/actuator
但是因为安全因素,所以需要另外设置才能打开這些 endpoint。可在配置里增加配置,控制端口的开闭:
// 开放所有端口
management.endpoints.web.exposure.include=*
// 指定端口开放
management.endpoints.web.exposure.include=beans,mappings
// 指定端口关闭
management.endpoints.web.exposure.exclude=beans
management.endpoints.web.exposure.include=*
// 特殊的,如果要开启/actuator/shutdown,需要额外添加这行
management.endpoint.shutdown.enabled=true