Kafka的监控

发表时间:2017-11-22 14:41:02 浏览量( 23 ) 留言数( 0 )




一、三个流行的kafka

Kafka Web Console:监控功能较为全面,可以预览消息,监控Offset、Lag等信息,但存在bug,不建议在生产环境中使用。

Kafka Manager:偏向Kafka集群管理,若操作不当,容易导致集群出现故障。对Kafka实时生产和消费消息是通过JMX实现的。没有记录Offset、Lag等信息。

KafkaOffsetMonitor:程序一个jar包的形式运行,部署较为方便。只有监控功能,使用起来也较为安全。

若只需要监控功能,推荐使用KafkaOffsetMonito,若偏重Kafka集群管理,推荐使用Kafka Manager。

因为都是开源程序,稳定性欠缺。故需先了解清楚目前已存在哪些Bug,多测试一下,避免出现类似于Kafka Web Console的问题。

二、安装

这里我们使用KafkaOffsetMonitor

1、先下载 KafkaOffsetMonitor-assembly-0.2.0.jar  , 上git下载即可

https://github.com/quantifind/KafkaOffsetMonitor

2.我们只需要在其中一台机器上面安装即可,这里使用run1

  新建在kafka的bin下面新建kafka-monitor文件夹,

  [liubao@run1 kafka]$ cd bin/

   [liubao@run1 bin]$ mkdir kafka-monitor

   把jar包KafkaOffsetMonitor-assembly-0.2.0.jar丢进去,

并且在文件夹里新建脚本文件kafka-monitor,文件内容如下:

 [liubao@run1 kafka-monitor]$ vim kafka-monitor

#!/bin/bash

java -cp KafkaOffsetMonitor-assembly-0.2.0.jar com.quantifind.kafka.offsetapp.OffsetGetterWeb --zk hadoop1:2181,hadoop2:2181,hadoop3:2181 --port 8089 --refresh 10.seconds --retain 1.days

修改文件权限

[liubao@run1 kafka-monitor]$ chmod u+x kafka-monitor

3.启动kafka之后,然后在运行kafka-monitor文件

nohup ./kafka-monitor &

修改防火墙 开通8089端口

4.在浏览器中即可使用ip:8089访问kafka的监控页面。

http://10.20.205.101:8089/

6 演示截图:

消费者组列表

topic的所有partiton消费情况列表

以上图中参数含义解释如下:

topic:创建时topic名称

partition:分区编号

offset:表示该parition已经消费了多少条message

logSize:表示该partition已经写了多少条message

Lag:表示有多少条message没有被消费。

Owner:表示消费者

Created:该partition创建时间

Last Seen:消费状态刷新最新时间。

kafka正在运行的topic

kafka集群中topic列表

kafka集群中broker列表