时光闹钟app开发者,请关注我,后续分享更精彩!
坚持原创,共同进步!
微服务的健康状态检查是感知服务可用性的常用手段,为快速发现系统问题提供了重要途径,是微服务体系建设中必不可缺的一环。
本文整理了springboot项目快速集成health Check的方式,开箱即用,希望对大家有所帮助。
添加maven依赖
spring-boot-starter-actuator组件自动实现应用的健康检查接口,默认url为 /actuator/health
注意:actuator组件默认只对外开放health接口端点,对info、dump等端点生产环境禁止开放,预防信息泄露过多导致安全问题。
org.springframework.boot
spring-boot-starter-actuator
配置属性
# springboot启动会检查health的starter基础组件(redis/mongo/es...),
# 若发现有集成组件,health检查请求时,会一并检查相应组件的健康状况。
# 1.屏蔽单个基础组件检查
# management.health.mail.enabled: false
# management.health.mongo.enabled: false
# management.health.redis.enabled: false
# management.health.solr.enabled: false
# management.health.elasticsearch.enabled: false
# 2.屏蔽所有基础组件检查(redis/mongo/es...),减少health接口频繁调用影响应用性能
management:
health:
defaults:
enabled: false
### 3.健康检查url从/actuator/health调整为/healthz
# 默认base路径从/actuator路径改为/
# management.endpoints.web.base-path: /
# 将health修改成healthz
# management.endpoints.web.path-mapping.health: healthz
上面列了health一些关键属性配置,详细可参见注释说明。
spring-boot-starter-actuator组件预置了很多功能,除了health,还有info、dump等丰富诊断接口,这些接口可以方便的帮忙我们了解系统运行时信息。但需要注意的是,这些接口同时也暴露了过多系统概况信息,在生产环境一定要慎用,线上环境通常只打开health,不同应用场景请按需选择使用。
另外,health健康检查作为服务应用的探活接口,访问频率通常比较高,因此,health接口要尽可能简单,避免过多基础组件的检查(redis/mongo/es...),以免逻辑太重影响原有业务服务。
在springboot项目中按上面集成方式引入,启动服务,浏览器输入访问地址
http://{服务地址}/actuator/health,返回状态200,表示集成成功,如下图
介绍了spring-boot-starter-actuator的引入步骤。开箱即用,快速实现health健康检查接口到项目的集成。同时,需关注组件关键配置属性,注意生产环境系统信息的安全泄露问题,屏蔽不需要的信息接口。
最后,希望本文整理能对大家有所帮助和参考,若有疑问,欢迎留言讨论。
页面更新:2024-04-29
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号