健康指标
健康指标需要依赖项 `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 Binder 中有三个单独的 Binder(`KStream`、`KTable` 和 `GlobalKTable`),它们都将报告健康状态。启用 `show-details` 时,报告的一些信息可能是冗余的。
当同一个应用程序中存在多个 Kafka Streams 处理器时,将为所有处理器报告健康检查,并按 Kafka Streams 的应用程序 ID 进行分类。