Spring Boot Actuator: 生产就绪功能
Spring Boot Actuator:生产就绪功能
Spring Boot 包含许多其他功能,可帮助你在将应用程序推送到生产环境时监控和管理应用程序。你可以选择使用 HTTP 端点或 JMX 来管理和监控应用程序。审计、健康和指标收集也可以自动应用于你的应用程序。
1.1 启用生产就绪功能
pring-boot-actuator 模块提供了 Spring Boot 的所有生产就绪功能。启用这些功能的最简单方法是添加 spring-boot-starter-actuator starter 到依赖中。
要将 actuator 添加到基于 Maven 的项目,请添加以下 starter 依赖项:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
</dependencies>
1.2 端点
通过 Actuator 端点,你可以监控应用程序并与之交互。Spring Boot 包含许多内置端点,也允许你添加自己的端点。例如,health 端点提供基本的应用程序健康信息。
可以启用或禁用每个端点。它可控制当其 bean 存在于应用程序上下文中是否创建端点。要进行远程访问,必须通过 JMX 或 HTTP 暴露端点。大多数应用程序选择 HTTP 方式,端点的 ID 以及 /actuator 的前缀映射到一个 URL。例如,默认情况下,health 端点映射到 /actuator/health。
可以使用以下与技术无关的端点:
ID | 描述 |
---|---|
auditevents | 暴露当前应用程序的审计事件信息。 |
beans | 显示应用程序中所有 Spring bean 的完整列表。 |
caches | 暴露可用的缓存。 |
conditions | 显示在配置和自动配置类上评估的条件以及它们匹配或不匹配的原因。 |
configprops | 显示所有 @ConfigurationProperties 的校对清单。 |
env | 露 Spring ConfigurableEnvironment 中的属性。 |
flyway | 显示已应用的 Flyway 数据库迁移。 |
health | 显示应用程序健康信息 |
httptrace | 显示 HTTP 追踪信息(默认情况下,最后 100 个 HTTP 请求/响应交换)。 |
info | 显示应用程序信息。 |
integrationgraph | 显示 Spring Integration 图。 |
loggers | 显示和修改应用程序中日志记录器的配置。 |
liquibase | 显示已应用的 Liquibase 数据库迁移。 |
metrics | 显示当前应用程序的指标度量信息。 |
mappings | 显示所有 @RequestMapping 路径的整理清单。 |
scheduledtasks | 显示应用程序中的调度任务。 |
sessions | 允许从 Spring Session 支持的会话存储中检索和删除用户会话。当使用 Spring Session 的响应式 Web 应用程序支持时不可用。 |
shutdown | 正常关闭应用程序。 |
threaddump | 执行线程 dump。 |
如果你的应用程序是 Web 应用程序(Spring MVC、Spring WebFlux 或 Jersey),则可以使用以下附加端点:
ID | 描述 |
---|---|
heapdump | 返回一个 hprof 堆 dump 文件。 |
jolokia | 通过 HTTP 暴露 JMX bean(当 Jolokia 在 classpath 上时,不适用于 WebFlux) |
logfile | 返回日志文件的内容(如果已设置 logging.file 或 logging.path 属性)。支持使用 HTTP Range 头来检索部分日志文件的内容。 |
prometheus | 以可以由 Prometheus 服务器抓取的格式暴露指标。 |