1.如何监控Kafka?
Kafka的数据统计是通过metrics的工具进行收集的,kafka大量使用了metrics做各种性能统计。
Kafka没有自己的web管理界面
2.Kafka的监控工具?
(1)JMX可视化工具
metrics以JMX的形式提供了对外查看数据的接口,所以我们可以在kafka启动的时候指定JMX的端口,然后通过可视化的工具查看即可。
(2)KafkaOffsetMonitor
优点:使用简单,配置简单,界面简单
缺点:不能自动刷新,必须手动刷新,功能覆盖不全
功能:
1.consumer消费情况进行监控,并能列出每个consumeroffset的滞后数据
2.每个topic的partition的列表(topic,pid,offset,logSize,logSize,lag,owner)
3.查看topic的历史消费信息
(3)kafka-web-console
优点:刷新较快,功能比较齐全
缺点:搭建比较负责
scala开发,构建工具sbt
默认的数据库是H2
功能:
1.broker:kafka 集群信息
2.Topics:分区(Partition)数,logsize,分区的leader
3.Consumer:group,partitionoffset,lag(落后,延迟)
Graphs 展示consumer的offset和lag
4.其他
Latestpublished topic messages
providesa JSON API described in RAML
http://[hostname]:[port]/api/console.
(4)Kafka-Manager
Kafka管理器:
可以管理多个集群
检查集群的状态:topics、brokers、副本的分布、分区的分布
支持选择副本:?
支持副本重新分配
创建Topic
(*)其他
CSVMetricsReporter 将相应的指标分别写入到CSV文件中,然后用脚本采集即可。
将JMX端口暴漏出来,用JMXTrans把数据发到ganglia
kafka提供的脚本:bin/kafka-run-class.shkafka.tools.ConsumerOffsetChecker --zkconnect localhost:2181 --group test
优点:可以获取所有可用的监控指标
缺点:使用不够方便、直观
3.Kafka的监控指标
Kafka集群的状态:broker、topic、pattion、replication、leader、分布是否均匀
Topics:每个topic的partition的列表(topic,pid,offset,logSize,logSize,lag,owner)
Consumer:group,partition offset,lag(落后,延迟)