前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SpringBoot核心技术:你了解Actuator开放指定监控节点吗?

SpringBoot核心技术:你了解Actuator开放指定监控节点吗?

作者头像
恒宇少年
发布2018-11-22 11:36:11
3.6K0
发布2018-11-22 11:36:11
举报
文章被收录于专栏:SpringBoot 核心技术

之前章节SpringBoot核心技术:探究Actuator的默认开放节点 & 详细健康状态讲解了spring-boot-actuator默认开放的节点以及如何修改查看详细的健康信息,那我们怎么设置开放指定的节点访问呢?

本章目标

开放spring-boot-actuator的指定节点访问。

构建项目

由于我们在SpringBoot核心技术:探究Actuator的默认开放节点 & 详细健康状态已经创建了项目,之前章节的源码已经上传到码云,访问:SpringBoot源码汇总下载源码,下载完成后使用idea工具打开即可,我们在之前的基础上修改。

开放指定节点

management.endpoints.web.exposure.include的配置字段我们已经了解到了在org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointProperties属性配置类内,而且exposure.include的值默认为["health","info"]

除此之外通过spring-configuration-metadata.json元数据配置文件内还知道了management.endpoints.web.exposure.include配置参数的类型为java.util.Set<java.lang.String>,这样我们就知道了该如何进行修改配置了,修改application.yml配置文件如下所示:

代码语言:javascript
复制
# 管理节点配置
management:
  endpoints:
    web:
      # actuator的前缀地址
      base-path: /
      # 开放指定节点
      exposure:
        include:
          - health
          - info
          - mappings
          - env

由于management.endpoints.web.exposure.includejava.util.Set<java.lang.String>类型,那么我就可以采用中横线换行形式进行配置(这是SpringBoot采用yaml配置文件风格的约定), 一个- xxx代表一个配置的值。

当然我们采用数组的形式也是可以的,如下所示:

代码语言:javascript
复制
# 管理节点配置
management:
  endpoints:
    web:
      # actuator的前缀地址
      base-path: /
      # 开放指定节点
      exposure:
        include: ["health","info","mappings","env"]

开放全部节点

如果不做节点的开放限制,可以将management.endpoints.web.exposure.include配置为*,那么这样就可以开放全部的对外监控的节点,如下所示:

代码语言:javascript
复制
# 管理节点配置
management:
  endpoints:
    web:
      # actuator的前缀地址
      base-path: /
      # 开放指定节点
      exposure:
        include: "*"

内置节点列表

开放全部节点后在项目启动时,控制台会打印已经映射的路径列表,spring-boot-actuator内置了丰富的常用监控节点,详见如下表格:

节点

节点描述

默认启用

auditevents

公开当前应用程序的审核事件信息。

beans

显示应用程序中所有Spring bean的完整列表。

conditions

显示在配置和自动配置类上评估的条件以及它们匹配或不匹配的原因。

configprops

显示所有的整理列表@ConfigurationProperties。

env

露出Spring的属性ConfigurableEnvironment。

health

显示应用健康信息。

httptrace

显示HTTP跟踪信息(默认情况下,最后100个HTTP请求 - 响应交换)。

info

显示任意应用信息。

loggers

显示和修改应用程序中记录器的配置。

metrics

显示当前应用程序的“指标”信息。

mappings

显示所有@RequestMapping路径的整理列表。

scheduledtasks

显示应用程序中的计划任务。

shutdown

允许应用程序正常关闭。

threaddump

执行线程转储。

sessions

允许从Spring Session支持的会话存储中检索和删除用户会话。使用Spring Session对响应式Web应用程序的支持时不可用。

总结

通过本章详细你应该可以知道你需要开发的节点了,根据具体的业务需求开放不同的节点。

注意:节点开放一定要慎重,不要过度开放接口,也不要方便盲目填写*开放全部节点。

源码位置

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 本章目标
  • 构建项目
  • 开放指定节点
  • 开放全部节点
  • 内置节点列表
  • 总结
  • 源码位置
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档