在 Spring Boot 所提供的端点中,有一个名为 health 的端点,用于查看应用当前的运行状态,即应用的健康情况。检查应用的健康情况,我们简称为“健康检查”。
查看 health 信息
发送 /health 请求
隐藏敏感信息
endpoints.health.sensitive=true
修改缓存时间
当我们每次发送 /health 请求时,每次获取的健康情况实际上时从缓存中读取的,缓存时间默认为 1000ms,这个时间叫做 Time To Live,简称 TTL。
endpoints.health.time-to-live=500
健康检查指标类
名称 | 描述 |
---|---|
ApplicationHealthIndicator | 检查应用运行状态(对应 status 部分) |
DiskSpaceHealthIndicator | 检查磁盘空间(对应 diskSpace 部分) |
DataSourceHealthIndicator | 检查数据库连接 |
MailHealthInidicator | 检查邮件服务器 |
JmsHealthIndicator | 检查 JMS 代理 |
RedisHealthIndicator | 检查 Redis 服务器 |
MongoHealthIndicator | 检查 MongoDB 数据库 |
CassandraHealthIndicator | 检查 Cassandra 数据库 |
RabbitHealthIndicator | 检查 RabbitMQ 服务器 |
SolrHealthIndicator | 检查 Solr 服务器 |
ElaticsearchHealthIndicator | 检查 Elasticsearch 集群 |
我们添加相关的 Spring Boot 插件后,即可开启对应的健康检查功能,默认情况下只有 ApplicationHealthIndicator 与 DiskSpaceHealthIndicator 是启用的。我们还可通过 management.health.defaults.enabled
属性来控制是否开启健康检查特性,默认为 true,表示是开启的。
重现自己的健康检查器
实现 org.springframework.boot.actuate.health.HealthIndicator
接口,并覆盖 health() 方法即可。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于