springboot中使用actuator

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/nanruitao10/article/details/85232667

引入pom依赖

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

配置文件

#若不配置可能会找到监控端点
management:
  security:
    enabled: false
  #springboot2.x版本上根据需要进行配置,默认是health和info,同时也可以排查不要显示的端点使用
  #exclude
  endpoints:
    web:
      exposure:
        include: "*"
        exclude:info

验证

  1.在springboot1.x下使用actuator

   在启动日志你可以根据看到如下内容:

在postman中请求一下:

  2.在springboot2.x下使用actuator

在springboot2.x使用actuator主要的变化是:

  1. 访问路径,由“/”转换为“/actuator”
  2. 默认只暴露health和info节点

在postman中进行访问如下:

对于原生节点的介绍

对于原生端点可分为以下三类:

  1. 应用配置类:获取应用程序中加载的应用配置、环境变量、自动化配置报告等于springboot密切相关的的配置类信息。
  2. 度量指标类:获取应用程序运行过程中用于监控的度量指标,比如内存信息、线程池信息、HTTP请求统计等。
  3. 操作控制类:提供了对应用的关闭等操作类功能。

应用配置类

序号

请求

方式

端点 描述
1 get autoconfig 该端点用来获取应用的自动化配置报告,其中包括所有自动化配置的候选项。同时还列出了每个候选项是否满足自动化配置的各个先决条件。可方便帮助我们找出一些自动化配置为什么没有生效的具体原因。
2 get beans 获取应用程序所创建的所有beans
3 get configprops 获取应用中配置文件的属性信息。
4 get env 获取应用中所有可用的环境属性,包括环境变量、jvm属性、应用的配置属性、命令行中的参数。
5 get mappings 获取应用中所有Spring MVC的控制器映射关系报告。
6 get info 获取一些应用自定义的信息。默认情况下,返回一个空json。可以配置info的属性,如info.app.name=hello。

度量指标类

序号 请求方式 端点 描述
1 get metrics 返回当前应用的各类重要度量指标,比如内存、线程、垃圾回收等信息
2 get health 获取应用的各类健康指标信息。
3 get dump 获取程序中的线程信息
4 get trace 获取基本的HTTP跟踪信息,使用的org.springframework.boot.actuate.trace.InMemoryTraceRepository的实现方式,始终保持最近的100记录。

操作控制类

序号 请求方式 端点 描述
1 get shutdown 关闭应用程序,要求endpoints.shutdown.enabled设置为true

2.x 部分更改

1.x端点 2.x端点
/actuator 不再可用。 但是,在 management.endpoints.web.base-path 的根目录中有一个映射,它提供了到所有暴露端点的链接。
/auditevents 该after参数不再需要
/autoconfig 重命名为 /conditions
/docs 不再可用
/health  现在有一个 management.endpoint.health.show-details 选项 never, always, when-authenticated,而不是依靠 sensitive 标志来确定 health 端点是否必须显示全部细节。 默认情况下,/actuator/health公开并且不显示细节。
/trace  重命名为 /httptrace

2.x中只有端点/health和/info端点是暴露的。

属性 默认值
management.endpoints.jmx.exposure.exclude  
management.endpoints.jmx.exposure.include *
management.endpoints.web.exposure.exclude  
management.endpoints.web.exposure.include info, health

示例:

  1.  您可以按如下方式公开所有端点:management.endpoints.web.exposure.include=* 
  2.  您可以通过以下方式显式启用/shutdown端点:management.endpoint.shutdown.enabled=true 
  3.  要公开所有(已启用)网络端点除env端点之外:
management.endpoints.web.exposure.include=*
management.endpoints.web.exposure.exclude=env

参考:

  1. spring cloud 微服务实践
  2. 博客

猜你喜欢

转载自blog.csdn.net/nanruitao10/article/details/85232667