kafka常⽤监控
Kafka Web Console:监控功能较为全⾯,可以预览消息,监控Offset、Lag等信息,但存在bug,不建议在⽣产环境中使⽤。
Kafka Manager:偏向Kafka集管理,若操作不当,容易导致集出现故障。对Kafka实时⽣产和消费消息是通过JMX实现的。没有记录Offset、Lag 等信息。
KafkaOffsetMonitor:程序⼀个jar包的形式运⾏,部署较为⽅便。只有监控功能,使⽤起来也较为安全。
若只需要监控功能,推荐使⽤KafkaOffsetMonito,若偏重Kafka集管理,推荐使⽤Kafka Manager。
当你将集部署之后,你可能需要知道当前消息队列的增长以及消费情况,这时候你就得需要监控它。今天我这⾥推荐两款开源的监控系统:OffsetMonitor和Kafka Web Console。
KafkaOffsetMonitor是⽤来实时监控Kafka集的consumers以及它们在partition中的offset(偏移量)。
你可以浏览当前的消息消费者组,每个topic队列的所有partition的消费情况。这其实是很有⽤得,从这些监控中你可以很快地知道每个partition中的消息是否很快被消费以及相应的队列消息增长速度等信息。这些可以debug kafka的producers和consumers,你完全知道你的系统将会发⽣什么。
这个web管理平台保留的partition offset和consumer滞后的历史数据(具体数据保存多少天我们可以在启动的时候配置),所以你可以很轻易了解这⼏天consumer消费情况。
KafkaOffsetMonitor这款软件是⽤Scaka代码编写的,消息等历史数据是保存在名为offsetapp.db数据库⽂件中,该数据库是SQLLite⽂件,⾮常的轻量级。虽然我们可以在启动KafkaOffsetMonitor程序的时候指定数据更新的频率和数据保存的时间,但是不建议更新很频繁,或者保存⼤量的数据,因为在KafkaOffsetMonitor图形展⽰的时候会出现图像展⽰过慢,或者是直接导致内存溢出了。所有的关于消息的偏移量、kafka集的台数等信息都是从中获取到的,⽇志⼤⼩是通过计算得到的。
1.到官⽹下载KafkaOffsetMonitor
2.KafkaOffsetMonitor的安装部署较为简单,所有的资源都打包到⼀个JAR⽂件中了,因此,直接运⾏即可,省去了我们去配置。KafkaOffsetMonitor-assembly-0.2.0.jar,直接启动(直接在jar所在⽬录下运⾏):(--zk localhost)
java -cp KafkaOffsetMonitor-assembly-0.2.0.jar \
com.quantifind.kafka.offsetapp.OffsetGetterWeb \
--zk zk-server1,zk-server2 \
--port 8089 \
--refresh 10.seconds \
kafka命令--retain 2.days
各个参数的含义:
zk the ZooKeeper hosts
port on what port will the app be available
refresh how often should the app refresh and store a point in the DB
retain how longshould points be kept in the DB
dbName where to store the history (default'offsetapp')
解释下这条启动命令的含义,⾸先我们需要指明运⾏Web监控的类,然后需要⽤到ZooKeeper,所有要填写ZK集信息,接着是Web运⾏端⼝,页⾯数据刷新的时间以及保留数据的时间值。
可以写个启动脚本:
vi start.sh
nohup java -cp ./kom-local.jar com.quantifind.kafka.offsetapp.OffsetGetterWeb --zk 192.168.1.110:2181,192.168.1.111:2181 --port8089 --refresh
10.seconds --retain 3.days &
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论