KafkaOffsetMonitor是一个可以用于监控Kafka的Topic及Consumer消费状况的工具,其配置和使用特别的方便。源项目Github地址为:https://github.com/quantifind/KafkaOffsetMonitor。
最简单的使用方式是从Github上下载一个最新的KafkaOffsetMonitor-assembly-0.2.1.jar,上传到某服务器上,然后执行一句命令就可以运行起来。
1. 创建kafka管理台文件夹
创建一个kafka-monitor的文件夹,并将KafkaOffsetMonitor-assembly-0.4.1-SNAPSHOT.jar拷贝进去。
创建文件夹2. 创建启动&停止脚本
启动脚本kafka-monitor-start.sh
java -Xms512M -Xmx512M -Xss1024K -XX:PermSize=256m -XX:MaxPermSize=512m \
-cp KafkaOffsetMonitor-assembly-0.4.1-SNAPSHOT.jar \
com.quantifind.kafka.offsetapp.OffsetGetterWeb \
--offsetStorage kafka \
--kafkaBrokers 192.168.10.128:9092 \
--kafkaSecurityProtocol PLAINTEXT \
--zk 192.168.10.129:2181 \
--port 8088 \
--refresh 10.seconds \
--retain 2.days 1>/app/kafka-monitor/logs/stdout.log 2>/app/kafka-monitor/logs/stderr.log & \
停止脚本kafka-monitor-stop.sh
killnum=`jps | grep OffsetGetterWeb | awk '{print $1}'`
kill -9 ${killnum}
echo "OK...."
3. 创建日志文件夹&日志文件
在kafka-monitor 下mkdir logs
,创建logs文件件,touch stdout.log ,touch stderr.log,创建stdout.log和stderr.log日志文件
日志文件
4. 运行启动脚本
运行启动脚本后,查看日志文件,出现如下信息,基本代码启动成功
启动日志
查看是否已经成功启动进程:
ps -ef | grep 'kafka'
5. 访问web控制台
启动浏览器,输入部署服务器的ip:8089,看到如下画面即代表OK.
展示页面
关键页面说明
说明:
- 通过对比producer offset和consumer offset的值,也即是offset lag.可以监控消息是否能够及时被消费.
- 若lag一直持续增大,超过一定的量,达到kafka清除消息的话,消息就可能会出现被清除掉而永远不能被消费的风险.所以当lag超过一定量时要提前做预警.
网友评论