Kafka-开源monitor调研

Kafka-开源monitor调研

Kafka-web-console

  1. Kafka-web-console开源项目已不再继续维护,开源开发者推荐使用Kafka-manage进行替代。
  2. Scala语言开发。
  3. Github: https://github.com/claudemamo/kafka-web-console

KafkaOffsetMonitor

  1. KafkaOffsetMonitor开源项目已不再继续开发。功能简单,直观,提供查询功能,jar包部署。
  2. Scala语言开发。
  3. Github: https://github.com/quantifind/KafkaOffsetMonitor

Availability-Monitor-for-Kafka

  1. Availability-Monitor-for-Kafka是微软Microsoft开源的Kafka监控项目。使用简单,jar包部署。
  2. 社区一般活跃,暂无release版本。
  3. Java语言开发;与maven集成;与SQL Server集成。
  4. 最新支持到Kafka 0.8.1.1版本
  5. Github: https://github.com/Microsoft/Availability-Monitor-for-Kafka

Kafka-monitor

  1. Kafka-monitor是Linkedin官方提供Kafka监控工具。代码提供3个branch分别对Kafka0.8,0.9,0.10提供支持。
  2. 社区一般活跃,暂时只发布一个release版本。2016年4月开始开发,开源时间较短。
  3. Java语言开发。与gradle集成。
  4. 最新支持到Kafka 0.10.0.1
  5. Github: https://github.com/linkedin/kafka-monitor

Kafka-manage

  1. Kafka-manage是Yahoo官方提供的Kafka监控工具。
  2. 开源项目社区非常活跃,已发布21个release版本。2015年1月29日开始开发,总计446 commits。
  3. 功能非常强大、全面。对新版Kafka有一定支持,但不一定会支持到最新版本功能。如0.10版本消息携带timestamp即时间戳字段,可以根据时间戳进行消息查询(暂不确定,待确认)。
  4. Scala语言开发。
  5. 要求Kafka 0.8.1.1 或 0.8.2. 或 0.9.0. 或0.10.0.*。
  6. 要求JDK8。
  7. 最新支持到Kafka 0.10.1.0
  8. Github: https://github.com/yahoo/kafka-manager

支持以下功能:

  1. 管理多个集群(clusters)
  2. 群集状态的简单检查–主题、消费者、偏移量、服务实例、副本分布、分区分布 (topics, consumers, offsets, brokers, replica distribution, partition distribution)
  3. 运行leader副本选举
  4. 生成partition的分配,(通过选项来选择使用哪个broker)
  5. 运行Partition的重新分配(基于4.生成partition的分配)
  6. 通过可选的topic配置,创建一个topic(0.8.1.1与0.8.2 +有不同的配置)
  7. 删除topic(仅在0.8.2 +版本中支持,且需要在broker配置delete.topic.enable=true)
  8. topic列表现在显示标记为删除的内容(仅在0.8.2 +版本中支持)
  9. 批量生成多个topic的partition分配,(可以通过选项来选择使用哪个broker)
  10. 运行多topic的partition的批量重分配
  11. 为已存在的topic新增partitions
  12. 更新现已存在topic的配置
  13. 选择是否为broker级别和topic级别的指标而启用JMX轮询。
  14. 选择过滤出在zookeeper中没有ids/owners/&offsets/directories的消费者。

结论

  1. 前三个开源Kafka监控项目基本无需考虑。
  2. Kafka-monitor优势在于官方出品,属嫡系产品。虽然项目起步较晚,但未来前景可观。
  3. Kafka-manage优势在于社区活跃,功能支持强大,release版本众多,饱经生产考验。
  4. 具体功能对比需实际部署使用两款monitor产品,进行各方面对比完成。

注:Kafka 0.10.2.0 于2017年2月14日发布,此版本修复超过200个bugs,合并超过500个Pull Request。使用Scala-2.12。


Author: Yueqi Shi

Date: 2017-04-21 11:12:00 AM