前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spring Boot 的 Actuator 模块和内置监控端点

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

作者头像
张云飞Vir
发布2021-12-06 17:03:05
2K0
发布2021-12-06 17:03:05
举报
文章被收录于专栏:写代码和思考写代码和思考

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.name或logging.file.path属性)。支持使用 HTTPRange头来检索日志文件的部分内容。

prometheus

以 Prometheus 服务器可以抓取的格式公开指标。需要依赖于micrometer-registry-prometheus.

3.使用 Actuator 模块

3.1 启用 Actuator 模块

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

代码语言:javascript
复制
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
</dependencies>

3.2 启用端点

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

代码语言:javascript
复制
management:
  endpoint:
    shutdown:
      enabled: true

3.3 暴露端点

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

代码语言:javascript
复制
management:
  endpoints:
    web:
      exposure:
        include: "*"
        exclude: "env,beans"

4. 扩展

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

5.参考:

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021/10/9 上,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 背景
  • 2.知识
    • Actuator 模块
      • Actuator 的端点
        • 内置的端点
        • 3.使用 Actuator 模块
          • 3.1 启用 Actuator 模块
            • 3.2 启用端点
              • 3.3 暴露端点
              • 4. 扩展
              • 5.参考:
              相关产品与服务
              数据传输服务
              腾讯云数据传输服务(Data Transfer Service,DTS)可帮助用户在业务不停服的前提下轻松完成数据库迁移上云,利用实时同步通道轻松构建高可用的数据库多活架构,通过数据订阅来满足商业数据挖掘、业务异步解耦等场景需求。同时,DTS 还提供私有化独立输出版本 DTS-DBbridge,支持异构数据库和同构数据库之间迁移和同步,可以帮助企业实现完整数据库迁移(如 Oracle)。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档