对于最新的稳定版本,请使用 spring-cloud-stream 4.3.0! |
健康指标
Spring Cloud Stream 为绑定器提供了一个健康指示器。
它以binders
并且可以通过设置management.health.binders.enabled
财产。
要启用健康检查,您首先需要通过包含其依赖项来启用“web”和“actuator”(请参阅绑定可视化和控制)
如果management.health.binders.enabled
未由应用程序显式设置,则management.health.defaults.enabled
匹配为true
并且活页夹运行状况指示器已启用。
如果您想完全禁用健康指示器,则必须将management.health.binders.enabled
自false
.
您可以使用 Spring Boot 执行器运行状况端点来访问运行状况指示器 -/actuator/health
.
默认情况下,只有在到达上述端点时,才会收到顶级应用程序状态。
为了从活页夹特定运行状况指标中接收完整详细信息,您需要包含属性management.endpoint.health.show-details
与值ALWAYS
在您的应用程序中。
运行状况指标特定于活页夹,某些活页夹实现可能不一定提供运行状况指示器。
如果要完全禁用所有现成的运行状况指示器,而是提供自己的运行状况指示器,
您可以通过设置属性来做到这一点management.health.binders.enabled
自false
然后提供您自己的HealthIndicator
bean 的 bean。
在这种情况下,Spring Boot 中的健康指标基础设施仍将选择这些自定义 Bean。
即使您没有禁用活页夹运行状况指示器,您仍然可以通过提供自己的运行状况检查来增强运行状况检查HealthIndicator
bean 除了开箱即用的健康检查之外。
当您在同一应用程序中有多个绑定器时,默认情况下会启用运行状况指示器,除非应用程序通过设置management.health.binders.enabled
自false
.
在这种情况下,如果用户想要禁用绑定器子集的运行状况检查,则应通过将management.health.binders.enabled
自false
在多活页夹配置的环境中。
有关如何提供特定于环境的属性的详细信息,请参阅连接到多个系统。
如果类路径中存在多个绑定器,但并非所有绑定器都在应用程序中使用,这可能会在运行状况指示器的上下文中导致一些问题。
可能有关于如何执行运行状况检查的特定实施细节。例如,Kafka 绑定器可以将状态确定为DOWN
如果活页夹没有注册的目的地。
让我们举一个具体的情况。假设您在类路径中同时存在 Kafka 和 Kafka Streams 绑定器,但仅在应用程序代码中使用 Kafka Streams 绑定器,即仅使用 Kafka Streams 绑定器提供绑定。
由于未使用 Kafka 绑定器,并且它有特定的检查来查看是否注册了任何目标,因此绑定器健康检查将失败。
顶级应用程序运行状况检查状态将报告为DOWN
.
在这种情况下,您可以简单地从应用程序中删除 kafka binder 的依赖项,因为您没有使用它。