spring_boot_actuator实践

简介

进入spring.io

选择spring boot

点击learn

点击Reference Doc

点击Production-ready Features

Spring Boot 包含许多附加功能,可帮助您在将应用程序推送到生产环境时对其进行监控和管理。您可以选择使用 HTTP 端点或 JMX 来管理和监视您的应用程序。审计、健康和指标收集也可以自动应用于您的应用程序。

1. 启用生产就绪功能

1
2
3
4
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

2. 端点

执行器端点使您可以监视应用程序并与之交互。Spring Boot 包含许多内置端点,并允许您添加自己的端点。例如,health端点提供基本的应用程序健康信息。

您可以启用或禁用每个单独的端点并通过 HTTP 或 JMX 公开它们(使它们可以远程访问)。当端点被启用和公开时,它被认为是可用的。内置端点仅在可用时才会自动配置。大多数应用程序选择通过 HTTP 公开,其中端点的 ID 和前缀/actuator映射到 URL。例如,默认情况下,health端点映射到/actuator/health.

ID 描述
auditevents 公开当前应用程序的审计事件信息。需要一个AuditEventRepository豆子。
beans 显示应用程序中所有 Spring bean 的完整列表。
caches 公开可用的缓存。
conditions 显示在配置和自动配置类上评估的条件以及它们匹配或不匹配的原因。
configprops 显示所有@ConfigurationProperties.
env 公开 Spring 的ConfigurableEnvironment.
flyway 显示已应用的任何 Flyway 数据库迁移。需要一个或多个Flyway豆子。
health 显示应用程序运行状况信息。
httptrace 显示 HTTP 跟踪信息(默认情况下,最近 100 个 HTTP 请求-响应交换)。需要一个HttpTraceRepository豆子。
info 显示任意应用程序信息。
integrationgraph 显示 Spring 集成图。需要依赖spring-integration-core.
loggers 显示和修改应用程序中记录器的配置。
liquibase 显示已应用的任何 Liquibase 数据库迁移。需要一个或多个Liquibase豆子。
metrics 显示当前应用程序的“指标”信息。
mappings 显示所有@RequestMapping路径的整理列表。
quartz 显示有关 Quartz 调度程序作业的信息。
scheduledtasks 显示应用程序中的计划任务。
sessions 允许从 Spring Session 支持的会话存储中检索和删除用户会话。需要使用 Spring Session 的基于 servlet 的 Web 应用程序。
shutdown 让应用程序正常关闭。默认禁用。
startup 显示由. _ ApplicationStartup需要SpringApplication配置BufferingApplicationStartup.
threaddump 执行线程转储。

如果您的应用程序是 Web 应用程序(Spring MVC、Spring WebFlux 或 Jersey),您可以使用以下附加端点:

ID 描述
heapdump 返回一个堆转储文件。在 HotSpot JVM 上,HPROF返回一个 -format 文件。在 OpenJ9 JVM 上,PHD返回一个 -format 文件。
jolokia 当 Jolokia 在类路径上时,通过 HTTP 公开 JMX bean(不适用于 WebFlux)。需要依赖jolokia-core.
logfile 返回日志文件的内容(如果已设置logging.file.name或属性)。logging.file.path支持使用 HTTPRange标头检索部分日志文件内容。
prometheus 以 Prometheus 服务器可以抓取的格式公开指标。需要依赖micrometer-registry-prometheus.

端点控制

开启所有端点

1
2
3
4
5
management:
endpoints:
web:
exposure:
include: '*'

个别开启

1
2
3
4
5
management:
endpoints:
web:
exposure:
include: health,info

个别禁用

1
2
3
4
5
6
management:
endpoints:
web:
exposure:
include: '*'
exclude: env,beans

总结

actuator 提供一些端点,用于指标的查询,可以配合监控软件,实现对应用服务的监控。


spring_boot_actuator实践
http://hanqichuan.com/2022/06/28/spring_cloud/spring_boot_actuator实践/
作者
韩启川
发布于
2022年6月28日
许可协议