健康指标
健康指标需要依赖 spring-boot-starter-actuator
。对于 Maven 用户,请使用:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
Spring Cloud Stream Kafka Streams Binder 提供了一个健康指示器来检查底层流线程的状态。Spring Cloud Stream 定义了一个属性 management.health.binders.enabled
来启用健康指示器。详情请参阅 Spring Cloud Stream 文档。
健康指标为每个流线程的元数据提供以下详细信息:
-
线程名称
-
线程状态:
CREATED
(已创建)、RUNNING
(运行中)、PARTITIONS_REVOKED
(分区已撤销)、PARTITIONS_ASSIGNED
(分区已分配)、PENDING_SHUTDOWN
(待关闭)或DEAD
(已终止) -
活动任务: 任务 ID 和分区
-
备用任务: 任务 ID 和分区
默认情况下,仅全局状态可见(UP
或 DOWN
)。要显示详细信息,必须将属性 management.endpoint.health.show-details
设置为 ALWAYS
或 WHEN_AUTHORIZED
。有关健康信息的更多详细信息,请参阅 Spring Boot Actuator 文档。
如果所有注册的 Kafka 线程都处于 RUNNING
状态,则健康指示器的状态为 UP
。
由于 Kafka Streams 绑定器中有三个独立的绑定器(KStream
、KTable
和 GlobalKTable
),它们都会报告健康状态。当启用 show-details
时,报告的部分信息可能会显得冗余。
当同一个应用程序中存在多个 Kafka Streams 处理器时,健康检查将针对所有这些处理器进行报告,并按照 Kafka Streams 的应用程序 ID 进行分类。