在我的应用程序中,我将对我的Kafka群集进行某种健康检查。
目前我制作TopicMetadataRequest
来检测死经纪人:
Future {
// this will fail if Kafka is unavailable
consumer.send(new TopicMetadataRequest(Seq("health-check-topic"), 1))
}
不幸的是,由于群集拓扑/设置,此调用会产生巨大的网络流量。
有没有更好的方法来检查kafka经纪人?我需要的是简单的true/false
指示器。
答案 0 :(得分:2)
我强烈建议您使用Yahoo Kafka Manager,它提供与Kafka设置相关的所有信息。 (例如,在一段时间间隔内发送/消耗的字节数)。此工具还可用于管理Kafka群集。
它还公开了Restful API,如果需要,您可以在自己的应用程序中使用这些API。请按照以下链接访问它。
答案 1 :(得分:2)
您还可以使用Zookeeper API获取代理列表,如下所示:
ADMIN_EDITUSER
答案 2 :(得分:2)
Kafka Manager很棒,但它是evolving slowly。
如果您不需要GUI,还可以:
另请参阅:涵盖健康检查的最新情况(2019年3月)。KIPs: