什么是Actuator?
spring-boot-starter-actuator是一个用于监控服务自身信息的模块
提供大量的监控端点,主要作用是用于监控与管理
spring-boot-starter-actuator有效的减少了监控系统的开发量
监控端点分类
- 应用配置类:获取应用程序中加载的应用配置、环境变量、自动化配置报告等与SpringBoot应用密切相关的配置类信息。
- 度量指标类:获取应用程序运行过程中用于监控的度量指标,比如:内存信息、线程池信息、HTTP请求统计等。
- 操作控制类:提供了对应用的关闭等操作类功能。
监控端点详解
- 应用配置类端点
端点路径 | 描述 |
---|---|
/autoconfig | 获取一系列关于Spring 应用配置内容的详细内容,例如:自动化配置的报告、Bean创建的报告、环境属性的报告等 |
/beans | 该端点用来获取应用上下文中创建的所有Bean |
/configprops | 该端点用来获取应用中配置的属性信息报告。prefix属性代表了属性的配置前缀,properties代表了各个属性的名称和值。 可以通过该报告来看到各个属性的配置路径。 我们要关闭该端点,就可以通过使用endpoints.configprops.enabled=false来完成设置 |
/loggers | 查看日志级别设置信息。也可以通过/loggers/{name:.*}的方式来查看指定的日志设置 |
/env | 它用来获取应用所有可用的环境属性报告。包括:环境变量、JVM属性、应用的配置配置、命令行中的参数 |
/mappings | 该端点用来返回所有Spring MVC的控制器映射关系报告 |
/info | 该端点用来返回一些应用自定义的信息。默认情况下,该端点只会返回一个空的json内容。 可以在application.properties或application.yml配置文件中通过info前缀来设置一些属性。 例如: info.app.name=spring-boot-hello info.app.version=1.0.0 |
- 度量指标类端点
端点路径 | 描述 |
---|---|
/metrics | 该端点用来返回当前应用的各类重要度量指标,比如:内存信息、线程信息、垃圾回收信息等。 还可以通过/metrics/{name}接口来更细粒度的获取度量信息,比如我们可以通过访问/metrics/mem.free来获取当前可 用内存数 |
/heapdump | 获取详细堆栈信息,生成heapdump年-月-日-时-分-live7295082294321485537.hprof.gz文件,放置hprof文件。 可以使用jdk里的jvisualvm.exe直接打开 |
/dump | 该端点用来暴露程序运行中的线程信息 |
/trace | 该端点用来返回基本的HTTP跟踪信息,只能查询最近100条HTTP请求信息 |
- 操作控制类
端点路径 | 描述 |
---|---|
/shutdown | 只支持post 通过如下配置开启它:endpoints.shutdown.enabled=true 只需要访问该应用的/shutdown端点就能实现关闭该应用的远程操作 |
如何使用?
直接引入依赖即可
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
如果要查看前面描述的端点情况,还需要在application.yml文件里加上这段
#是否关闭敏感信息校验
management:
security:
enabled: false
最后附上部分相关配置,未完待续
#是否关闭敏感信息校验
management:
security:
enabled: false
endpoints:
#是否关闭某个端点,例如/configprops端点
configprops:
enabled: false
#用于控制/shutdown端点是否可用
shutdown:
enabled: true
#info.配置用于控制/info这个端点的返回信息
info:
app:
name: spring-boot-hello
version: 1.0.0
company: mimaxueyuan