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源码。 https://github.com/quantifind/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')

加米谷大数据专注于大数据培训的机构。由来自阿里、华为、京东、星环等国内知名企业的多位技术大牛联合创办,技术底蕴丰厚,勤奋创新,精通主流前沿大数据及人工智能相关技术。 以国家规划大数据及人工智能产业发展战略为指引,以全国大数据技术、数据分析及AI人才的培养为使命,以提升就业能力、强化职业技术为目标。面向个人提供大数据开发、人工智能等前沿技术的培训业务。面向行业企业提供大数据及人工智能技术内训服务、大数据及人工智能技术咨询服务、大数据及人工智能行业咨询规划服务等多项配套服务。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏做全栈攻城狮

安卓入门实战项目-身份证信息查看器,精确解读身份证信息

因为知识的连贯性,推荐按照瞬息进行学习。目录链接:http://www.chengxiaoxiao.com/bozhu/1336.html

1213
来自专栏FreeBuf

钓鱼骗局:通过伪造App Store支付链接误导用户

网络犯罪目前又将目标指向苹果用户,他们通过更加成熟的钓鱼手法,引导用户点击一个支付退款链接,由此获取用户个人敏感数据。 钓鱼的前期-引导用户进入“陷阱” 这种新...

2188
来自专栏Seebug漏洞平台

Seebug漏洞平台2016年度报告

目录 一、概述 二、漏洞详情等信息以及漏洞验证程序(PoC)收录状况 2.1 漏洞验证程序(PoC)数量统计分析 2.2 收录漏洞的危害等级分布统计分析 2.3...

4143
来自专栏软件开发 -- 分享 互助 成长

职责链模式

一、简介 1、当客户提交一个请求时,请求沿着链传递直到有一个管理者对象处理它。 2、UML ? 3、所属类别:行为型 二、程序 1 // 职责链模式.cpp...

1957
来自专栏FreeBuf

运维配置缺陷导致大量MongoDB数据信息遭泄露

近日,黑客组织GhostShell泄露了大量的MongoDB数据库用户资料。 数据遭到大量泄露 据统计该组织目前泄露的数据已达3600万条之多。MongoDB作...

22310
来自专栏腾讯云数据库(TencentDB)

Redis勒索事件爆发,如何避免从删库到跑路?

9月10日下午,又一起规模化利用Redis未授权访问漏洞攻击数据库的事件发生,此次黑客以勒索钱财作为第一目的,猖狂至极,攻击者赤裸裸威胁,直接删除数据库...

7.5K78
来自专栏FreeBuf

RSA2018 | 通过iOS Trustjacking漏洞远程渗透iPhone

赛门铁克研究人员发现了一个iPhone与Mac工作站和笔记本电脑配对的漏洞。他们表示,攻击者可以利用这个被称为Trustjacking的漏洞,在没有信息情况下接...

1713
来自专栏魏艾斯博客www.vpsss.net

Vultr 注册购买图文教程

1.9K3
来自专栏FreeBuf

从一次攻防平台搭建浅谈企业网络安全建设

本篇文章涉及到的知识点包括:IDS/IPS/防火墙的区别与部署位置;镜像端口、堡垒机的位置和注意细节;ACL访问控制列表和端口安全、VLAN安全,以及靶场以及日...

6063
来自专栏FreeBuf

揭秘:安卓木马是如何盗取用户手机银行的

手机银行是一种非常便捷的方式让用户可以随时随地的完成交易。KPMG预测手机银行用户在2019年会增长到1.8亿。但是,随着手机银行涉及的金钱数额越来越大,攻击者...

4479

扫码关注云+社区

领取腾讯云代金券