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加入容器中
但是我定制后并没有出现我定义的信息
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?