Spring Boot 健康检查

本贴最后更新于 2910 天前,其中的信息可能已经水流花落

在 Spring Boot 所提供的端点中,有一个名为 health 的端点,用于查看应用当前的运行状态,即应用的健康情况。检查应用的健康情况,我们简称为“健康检查”。

查看 health 信息

发送 /health 请求
8480666D-011F-42EF-9923-DFA7D73AA667.png

隐藏敏感信息

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() 方法即可。

开源监控平台

spring-boot-admin

参考来源

《轻量级微服务架构(上册)》 黄勇

  • Spring

    Spring 是一个开源框架,是于 2003 年兴起的一个轻量级的 Java 开发框架,由 Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design》中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 JavaEE 应用程序开发提供集成的框架。

    944 引用 • 1459 回帖 • 16 关注
  • 监控
    26 引用 • 33 回帖 • 1 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • someone

    赞!

  • someone

    第一张图片的,有点像json

  • someone

    [em07][em07]Spring Boot不太懂呀,貌似是后端框架

  • zonghua

    就是 json 啊浏览器格式化显示了而已