SpringBoot 1x 系列之(十五)Spring Boot与监控管理
Spring Boot与监控管理
1. 监控管理
应用在运维时的一个重要功能,Spring Boot为我们提供了准生产环境下的应用监控和管理功能,可以通过HTTP,JMX,SSH协来进行操作,得到监控信息。
1.1 引入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
1.2 访问监控管理端点
引入监控管理后,项目启动会打印监控信息

访问监控信息,发现没有权限

监控信息默认是受保护的,无法直接访问,可以通过修改全局配置文件内容开启监控信息访问
management.security.enabled=false
再次访问,就是正常的了

1.3 监控和管理端点
| 端点名 | 描述 |
|---|---|
| autoconfig | 所有自动配置信息,查看生效和未生效的自动配置类 |
| auditevents | 审计事件 |
| beans | 所有Bean的信息,监控容器中每一个组件的信息 |
| configprops | 所有配置属性,每个配置属性的信息报告 |
| dump | 线程状态信息,暴露程序运行中的线程信息 |
| env | 当前环境信息 |
| health | 应用健康状况 |
| heapdump | 下载当前内存快照 |
| info | 当前应用信息 |
| metrics | 应用的各项监控指标 |
| mappings | 应用@RequestMapping映射路径 |
| shutdown | 关闭当前应用(该端点默认关闭),必须发送POST请求 |
| trace | HTTP请求的追踪信息(所有发过的HTTP请求都能够追踪到) |
info端点的数据来源:
1)全局配置文件中以info开头的配置项


2)继承于InfoProperties的XXXProperties类对应的配置文件中的配置项
GitProperties是继承于InfoProperties的

GitProperties对应的配置文件git.properties中的配置项


开启shutdown端点
endpoints.shutdown.enabled=true
2. 定制端点信息
通过定制端点来改变已有端点的默认规则
#全局配置文件:application.properties,定制端点信息要在全局配置文件中进行设置
#修改端点id
endpoints.beans.id=mybeans
#修改端点的访问路径
endpoints.beans.path=/mybeans
#开启shutdown端点
endpoints.shutdown.enabled=true
#关闭指定的端点 endpoints.端点名.enabled=false
endpoints.beans.enabled=false
#关闭所有端点访问
endpoints.enabled=false
#开启指定的端点 endpoints.端点名.enabled=true
endpoints.beans.enabled=true
#定制端点访问根路径,这样做的好处是,端点的访问都以一个路径开始,结合Spring Security做权限控制
management.context-path=/manage
#定制端点访问端口
management.port=8088
#关闭http端点
management.port=-1
3. 自定义HealthIndicator
相当于定制health端点的信息
自定义健康状态指示器(HealthIndicator)
1、编写一个指示器,实现HealthIndicator接口
2、指示器的名字xxxxHealthIndicator
3、标注@Component加入容器中
但是我定制后并没有出现我定义的信息

浙公网安备 33010602011771号