kafka offsetmonitor:监控消费者和延迟的队列 -买球官网平台

一个小应用程序来监视kafka消费者的进度和它们的延迟的队列。 kafkaoffsetmonitor是用来实时监控kafka集群中的consumer以及在队列中的位置(偏移量)。 你可以查看当前的消费者组,每个topic队列的所有partition的消费情况。可以很快地知道每个partition中的消息是否 很快被消费以及相应的队列消息增长速度等信息。这些可以debug kafka的producer和consumer,你完全知道你的系统将 会发生什么。 这个web管理平台保留的partition offset和consumer滞后的历史数据(具体数据保存多少天我们可以在启动的时候配 置),所以你可以很轻易了解这几天consumer消费情况。 kafkaoffsetmonitor这款软件是用scala代码编写的,消息等历史数据是保存在名为offsetapp.db数据库文件中,该数据 库是sqllite文件,非常的轻量级。虽然我们可以在启动kafkaoffsetmonitor程序的时候指定数据更新的频率和数据保存 的时间,但是不建议更新很频繁,或者保存大量的数据,因为在kafkaoffsetmonitor图形展示的时候会出现图像展示过 慢,或者是直接导致内存溢出了。 所有的关于消息的偏移量、kafka集群的数量等信息都是从zookeeper中获取到的,日志大小是通过计算得到的。 消费者组列表

screenshot 消费组的topic列表

screenshot 图中参数含义解释如下: topic:创建时topic名称 partition:分区编号 offset:表示该parition已经消费了多少条message logsize:表示该partition已经写了多少条message lag:表示有多少条message没有被消费。 owner:表示消费者 created:该partition创建时间 last seen:消费状态刷新最新时间。 topic的历史位置

screenshot offset存储位置 kafka能灵活地管理offset,可以选择任意存储和格式来保存offset。kafkaoffsetmonitor目前支持以下流行的存储格 式。 kafka0.8版本以前,offset默认存储在zookeeper中(基于zookeeper) kafka0.9版本以后,offset默认存储在内部的topic中(基于kafka内部的topic) storm kafka spout(默认情况下基于zookeeper) kafkaoffsetmonitor每个运行的实例只能支持单一类型的存储格式。 下载 可以到github下载kafkaoffsetmonitor源码。 编译kafkaoffsetmonitor命令: sbt/sbt assembly 不过不建议你自己去下载,因为编译的jar包里引入的都是外部的css和js,所以打开必须联网,都是国外的地址,你编 译的时候还要修改js路径,我已经搞定了,你直接下载就好了。

 

启动 编译完之后,将会在kafkaoffsetmonitor根目录下生成一个类似kafkaoffsetmonitor-assembly-0.3.0- snapshot.jar的jar文件。这个文件包含了所有的依赖,我们可以直接启动它: java -cp kafkaoffsetmonitor-assembly-0.3.0-snapshot.jar \ com.quantifind.kafka.offsetapp.offsetgetterweb \ --offsetstorage kafka \ --zk zk-server1,zk-server2 \ --port 8080 \ --refresh 10.seconds \ --retain 2.days 启动方式2,创建脚本,因为您可能不是一个kafka集群。用脚本可以启动多个。 vim mobile_start_en.sh nohup java -xms512m -xmx512m -xss1024k -xx:permsize=256m - xx:maxpermsize=512m -cp kafkaoffsetmonitor-assembly-0.3.0-snapshot.jar com.quantifind.kafka.offsetapp.offsetgetterweb --offsetstorage kafka --zk 127.0.0.1:2181 --port 8080 --refresh 10.seconds --retain 2.days 1>mobile-logs/stdout.log 2>mobile-logs/stderr.log & 各个参数的含义: offsetstorage:有效的选项是"zookeeper","kafka","storm"。0.9版本以后,offset存储的位置在kafka。 zk: zookeeper的地址 prot 端口号 refresh 刷新频率,更新到db。 retain 保留db的时间 dbname 在哪里存储记录(默认'offsetapp')

 

0
0
评论 共 0 条 请登录后发表评论

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • kafka 0号分区一共有24条记录,已经消费了24条,下一条待消费记录的offset是24!!! 命令行查看一下: [[email protected] software]$ /home/bdp_client/zmy/software/kafka/bin/kafka-consumer-...

  • 原文地址:https://www.datadoghq.com/blog/monitoring-kafka-performance-metrics/#hostlevel-broker-metrics kafka是什么?...从本质上来说,kafka拥有一套可扩展的发布/订阅消息队列架构,并组成了一...

  • 衡量一款消息中间件是否符合需求需要从多个维度进行考察,首要的就是功能维度,...1. 功能维度优先级队列优先级队列不同于先进先出队列,优先级高的消息具备优先被消费的特权,这样可以为下游提供不同消息级别的保证。

  • 1.为什么要使用 kafka?为什么要使用消息队列? 缓冲和削峰:上游数据时有突发流量,下游可能扛...冗余:可以采用一对多的方式,一个生产者发布消息,可以被多个订阅topic的服务消费到,供多个毫无关联的业务使用。 健

  • 它可以模拟数据生产并消费,基本上覆盖了黑盒监控大部分指标,包括集群核心功能、数据读写、读写延迟等。使用者使用成本也相对简单,只需对接告警系统即可。 如果你的产品用到了kafka,强烈推荐使用...

  • 胡夕,《apache kafka实战》作者,北航计算机硕士毕业...国内活跃的kafka代码贡献者。 前言 虽然目前apache kafka已经全面进化成一个流处理平台,但大多数的用户依然使用的是其核心功能:消息队列。对于如何有效地监...

  • 背景最近要把原来做的那套集中式日志监控系统进行迁移,原来的实现方案是: log agent => log server => elasticsearch => kiba...

  • 生产者写入消息到topic,kafka将依据不同的策略将数据分配到不同的分区中。默认的分配策略,也是使用最多的策略,可以最大限度保证所有消息平均分配到一个分区;如果在生产消息时,key为null,则使用轮序算法均衡地...

  • 胡夕,《apache kafka实战》作者,北航计算机硕士毕业,现任某互金公司计算平台总监,曾...对于如何有效地监控和调优kafka是一个大话题,很多用户都有这样的困扰,今天我们就来讨论一下。 一、kafka综述 在讨论具...

  • 生产者写入消息到topic,kafka将依据不同的策略将数据分配到不同的分区中 轮询分区策略 随机分区策略 按key分区分配策略 自定义分区策略 1.1.1 轮询分区策略 1.1.2 随机策略(不用) 随机策略,每次都...

  • 系列目录 ...kafka主要特点是基于pull的模式来处理消息消费,追求高吞吐量,一开始的目的就是用于日志收集和传输。0.8版本开始支持复制,不支持事务,对消息的重复、丢失、错误没有严格要求,适合产...

  • 1、kafka 的核心api 和相关概念 1.1 kafka 的核心 api 1.2 kafka 的相关概念 2、kafka 的架构 3、kafka 的使用场景 3.1 消息中间件 3.2 跟踪网站活动 3.3 日志聚合 3.4 流处理 3.5 事件采集 3.6 提交日志 ...

  • 胡夕,《apache kafka实战》作者,北航计算机硕士毕业,现任某互金公司计算平台总监,曾就职于ibm、搜狗、微博等公司。国内活跃的kafka代码贡献者。...对于如何有效地监控和调优kafka是一个大话题,很多用户都有这样...

global site tag (gtag.js) - google analytics