SpringBoot
八、健康信息基本配置
1,展示健康信息详情
(1)默认情况下,我们只能通过 health 端点获取到 status 信息,而 detail 信息是默认不显示的 :
(2)我们可以通过 management.endpoint.health.show-details 属性来配置 detail 信息的显示策略,它有如下三种可选值:
never:即不显示 details 信息(默认值) when-authorized:details 信息只展示给认证用户,即用户登录后才可以查看 details 信息另外还可以通过 management.endpoint.health.roles 属性配置要求的角色,management.endpoint.health.roles=ADMIN 表示认证的用户必须具有 ADMIN 角色才能看到 details 信息
always:将 details 信息展示给所有用户(3)这里我们将 details 信息展示给所有用户:
1
management.endpoint.health.show-details=always
(4)再次访问 health 端口,可以看到这次多了 details 信息的显示:
2,健康指示器
(1)默认情况下 Spring Boot 会根据 classpath 中依赖的添加情况来自动配置一些健康指示器(HealthIndicators),具体有下面这些:
CassandraHealthIndicator:检查 Cassandra 数据库状况 DiskSpaceHealthIndicator:检查磁盘空间是否不足 DataSourceHealthIndicator:检查是否可以从 DataSource 获取一个 Connection ElasticsearchHealthIndicator:检查 Elasticsearch 集群状况 InfluxDbHealthIndicator:检查 InfluxDB 服务器状况 JmsHealthIndicator:检查 JMS 消息代理状况 MailHealthIndicator:检查邮件服务器状况 MongoHealthIndicator:检查 Mongo 数据库状况 Neo4jHealthIndicator:检查 Neo4j 服务器状况 RabbitHealthIndicator:检查 Rabbit 服务器状况 RedisHealthIndicator:检查 Redis 服务器状况 SolrHealthIndicator:检查 Solr 服务器状况(2)如果项目中存在相关的依赖,那么列表中对应的 HealthIndicators 将会被配置。比如我们 pom.xml 添加加了数据库、邮件服务器依赖,此时访问 health 端点,结果如下:
(3)如果我们不需要这么多 HealthIndicators,则可以通过如下配置关闭所有的 HealthIndicators 自动化配置:
1
management.health.defaults.enabled=false
附:自定义健康指示器 HealthInfo
1,基本配置
(1)除了 Spring Boot 自动收集的这些 HealthInfo 之外,我们也可以自定义 HealthInfo,只需要实现 HealthIndicator 接口即可:
1
2
3
4
5
6
7
8
9
10
@Component
public class MyHealth implements HealthIndicator {
@Override
public Health health() {
if(Math.random() > 0.5) {
return Health.up().withDetail("msg", "网络连接正常...").build();
}
return Health.down().withDetail("msg", "网络断开...").build();
}
}
(2)配置完成后,再次访问 health 端点,结果如下:
2,增加响应状态
(1)默认的响应状态一共有 4 种:DOWN、OUT_OF_SERVICE、UP、UNKNOWN,如果需要加增加响应状态,可以在 application.properties 种通过 management.health.status.order 属性进行配置。比如下面增加一个响应状态 FATAL:
1
management.health.status.order=FATAL,DOWN,OUT_OF_SERVICE,UP,UNKNOWN
(2)配置完毕后,就可以在 helath 方法中返回自定义的响应状态了:
1
2
3
4
5
6
7
@Component
public class MyHealth implements HealthIndicator {
@Override
public Health health() {
return Health.status("FATAL").withDetail("msg", "网络断开...").build();
}
}
(3)重启项目,再次访问 health 端点,结果如下:
3,自定义响应码
(1)默认的 4 种响应状态种,UP、UNKNOWN 的 HTTP 响应码为 200,DOWN、OUT_OF_SERVICE 的 HTTP 响应码为 503。而所有自行添加的响应状态对应的 HTTP 响应码都是 200,如果需要对自定义的响应状态配置响应码,添加如下配置即可:
1
management.health.status.http-mapping.FATAL=503
(2)重启项目,再次访问 health 端点,结果如下:
相关知识
运动健康数据可视化:基于 Echarts 和 Java SpringBoot 的动态实时大屏范例
基于SpringBoot Vue健康健身追踪系统 – 计算机源码
spring 健康检查地址
基于SpringBoot+Vue健身房管理系统的设计与实现(源码+部署说明+演示视频+源码介绍)(2)
SpringBoot之旅
Spring Boot Actuator自定义健康检查教程
健康饮食健康管系统
快乐生活,健康减肥~
「职位对比」卫宁健康 Java怎么样
Eureka自我保护机制、健康检查的作用、actuator模块监控
网址: SpringBoot https://www.trfsz.com/newsview1393586.html
推荐资讯
- 1发朋友圈对老公彻底失望的心情 12775
- 2BMI体重指数计算公式是什么 11235
- 3补肾吃什么 补肾最佳食物推荐 11199
- 4性生活姿势有哪些 盘点夫妻性 10428
- 5BMI正常值范围一般是多少? 10137
- 6在线基础代谢率(BMR)计算 9652
- 7一边做饭一边躁狂怎么办 9138
- 8从出汗看健康 出汗透露你的健 9063
- 9早上怎么喝水最健康? 8613
- 10五大原因危害女性健康 如何保 7828
