首页 资讯 SpringBoot

SpringBoot

来源:泰然健康网 时间:2025年06月10日 22:18

八、健康信息基本配置

1,展示健康信息详情

(1)默认情况下,我们只能通过 health 端点获取到 status 信息,而 detail 信息是默认不显示的 :

原文:SpringBoot - Actuator应用监控使用详解4(health端点:健康信息展示)

(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 信息的显示:

原文:SpringBoot - Actuator应用监控使用详解4(health端点:健康信息展示)


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 端点,结果如下:

原文:SpringBoot - Actuator应用监控使用详解4(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 端点,结果如下:

原文:SpringBoot - Actuator应用监控使用详解4(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 端点,结果如下:

原文:SpringBoot - Actuator应用监控使用详解4(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 端点,结果如下:

原文:SpringBoot - Actuator应用监控使用详解4(health端点:健康信息展示)

相关知识

运动健康数据可视化:基于 Echarts 和 Java SpringBoot 的动态实时大屏范例
基于SpringBoot Vue健康健身追踪系统 – 计算机源码
spring 健康检查地址
基于SpringBoot+Vue健身房管理系统的设计与实现(源码+部署说明+演示视频+源码介绍)(2)
SpringBoot之旅
Spring Boot Actuator自定义健康检查教程
健康饮食健康管系统
快乐生活,健康减肥~
「职位对比」卫宁健康 Java怎么样
Eureka自我保护机制、健康检查的作用、actuator模块监控

网址: SpringBoot https://www.trfsz.com/newsview1393586.html

推荐资讯