Spring Boot 的 Actuator 模块和内置监控端点

2021-10-09  本文已影响0人  张云飞Vir

1. 背景

Spring Boot 包含许多附加功能,可帮助您在将应用程序推送到生产环境时监控和管理应用程序,其中 Actuator 组件可帮助开发者监控了解应用的运行状态。

2.知识

Actuator 模块

Spring Boot 提供了 Actuator 模块。Actuator 翻译过来就是执行器。它是一个制造术语,指的是用于移动或控制某物的机械装置。

Actuator 的端点

Actuator 模块 提供了许多端点可让您监控应用程序并与之交互。有许多内置端点,也支持你自定义端点。

内置的端点

常用端点可用:

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

3.使用 Actuator 模块

3.1 启用 Actuator 模块

要启用 Actuator 模块,请添加以下依赖项:

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

3.2 启用端点

添加了依赖后默认是启动一些内置节点,你有可以控制这些端点的开启
要配置端点的启用, 可使用 management.endpoint.<id>.enabled属性。示例:

management:
  endpoint:
    shutdown:
      enabled: true

3.3 暴露端点

默认会暴露一些常用端点,你也可以使用 include和exclude 控制它。
示例:

management:
  endpoints:
    web:
      exposure:
        include: "*"
        exclude: "env,beans"

4. 扩展

要了解更多请阅读官方文档,很详细了:

5.参考:

https://docs.spring.io/spring-boot/docs/current/reference/html/actuator.html

上一篇 下一篇

猜你喜欢

热点阅读