Kafka中的这只“千里眼”,你需要知道
- Consumer-coordinator-metrics
消费者组协调器相关的监控指标。
- Consumer-fetch-manager-metrics
消费组消息拉取相关的监控指标
- Consumer-node-metrics
以broker节点为维度的统计信息,消费端向多个broker节点拉取消息等监控指标。
- Kafka-metrics-count
接下来将分别展开,详细介绍其各个指标的含义,并给出一些实践指导。
1.1 消费者组协
【一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义】浏览器打开:qq.cn.hn/FTf 免费领取
调器监控指标
组协调器相关的监控指标明细说明如下:
详细说明如下:
- join-time-max
消费者重新加入消费组的最大时长
- join-time-avg
消费者重新加入消费组的平均时长
- join-rate
消费者加入消费组的TPS
实践指导:该值为0正常,该值越大,越有问题,说明消费者在频繁加入消费者,在加入消费者的过程中消费者是不会消费消息的。
- join-time-avg
消费者加入消费组的平均时间
- join-total
该消费者重新加入消费组的次数(重平衡发生的次数)
实践指导:该值值的采集,如果该值过大,说明发生重平衡的次数太多,重平衡时该消费者时不参与消息消费。
- commit-latency-avg
提交位点的平均耗时
- commit-rate
提交位点的tps
- commit-latency-max
提交位点时的最大延迟时间
- commit-total
消费者启动以来位点提交的总次数
- sync-time-avg
消费者发送sync的平均响应时长。
知识点:消费者加入小组后由该消费者中的Leader负责进行队列分配,然后将分配方案发送给组协议器,各个从节点将向组协调器获取分配队列。
- sync-rate
消费者发送sync的tps
- sync-total
消费者发送sync请求的总次数
- sync-time-max
消费者sync请求响应的最大响应时间
- assigned-partitions
当前分配到的分区数量
- heartbeat-total
心跳请求的总数
- heartbeat-response-time-max
心跳请求的最大响应时间
- last-heartbeat-seconds-ago
上一次发送心跳包的时间
- heartbeat-rate
发送心跳包的tps
从监控指标来看,我们有能得知消费端协调器的职责:
协调消费者加入消费组
协调消费者Leader进行队列负载分配
发送心跳,保持会话
提交位点
1.2 消费者消息拉取监控指标
消费者与消息拉取相关的监控指标如下图所示:
消费组拉取指标的组织分成消费组与该消费组订阅的多个topic两个维度。
接下来详细分析上述指标:
- bytes-consumed-rate
消费端每秒提交到业务的tps。
- bytes-consumed-total
消费端目前消费的总字节数。
- fetch-latency-max
API.FETCH请求(即向broker端发送消息拉取)的最大耗时。
- records-per-request-avg
每一次Fetch请求拉取的消息条数(对当前指标取平均值)。
- fetch-rate
客户端发送Fetch请求的tps。
- fetch-total
客户端总共发起的Fetch请求个数
- fetch-throttle-time-max
消息拉取(Fetch请求)由于服务端(broker)限流的最大限流时长,关于broker端限流机制,后续会重点探究。
- fetch-throttle-time-avg
消息拉取Fetch请求的平均限流时长。
- fetch-size-max
单个分区一次消息拉取最大的字节数。
实践指导:该值非常有必要采集监控,可以评估消费端消息的拉取能力,如果该值持续接近设置的期望值,如果消费端tps不满足需求,可以适当调大该值。
- fetch-latency-avg
消息拉取的平均耗时。
- fetch-size-avg
一次消息拉取的平均字节数
- records-consumed-total
消费端消费端总字节数
- records-lead-min
当前消费位点与日志端中最小位点的差值。
- records-lag-max
分配给消费者中分区中,消息积压的最大值。
实战指导:可以基于该值做告警。
消费者还会从主题-分区级别采集与消费进度相关的指标,相关指标说明如下:
records-lag
records-lag-avg
records-lag-max
records-lead
records-lead-avg
records-lead-min
对于上述指标,主要是解释一下两个基本的含义,其他指标是对其进行聚合计算(max,avg)。
- records-lag
消费积压,即消费位点与当前分区最大位点点差距,该值越大,说明消费端处理速度越慢,需要十分关注,通常需要接入告警,及时通知项目方。
- records-lead
消费位点与当前分区最小位点的差距,我对该值的具体用途暂未参悟,有心的读者看到,欢迎与我共同交流。
1.3 消费者网络相关监控指标
上面的指标主要是关注消费端协调器、消费端Fetch(消息拉取)两个重要维度,接下来关注一下从消息者的视角关注一下底层网络IO等维度相关的指标,相关指标的采集入口位Kafka的org.apache.kafka.common.network.Selector,其具体的指标如下图所示:
其实这些指标基本与生产者相同,说明如下:
- request-rate
请求发送tps。
- request-size-max
请求发送的最大字节
- request-size-avg
请求的平均大小
- request-total
总共的请求个数
Kafka中的这只“千里眼”,你需要知道相关推荐
- Kafka中的这只“千里眼”,你需要知道!!!
大家好,我是威哥,<RocketMQ技术内幕>一书作者,荣获RocketMQ官方社区优秀布道师.CSDN2020博客执之星Top2等荣誉称号.目前担任中通快递技术平台部资深架构师,主要负责 ...
- Kafka中的这只“千里眼”,你需要知道,java常用框架面试
详细说明如下: join-time-max 消费者重新加入消费组的最大时长 join-time-avg 消费者重新加入消费组的平均时长 join-rate 消费者加入消费组的TPS 实践指导:该值为0 ...
- Netty、Kafka中的零拷贝技术到底有多牛?
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 来源:rrd.me/ggFBd 零拷贝,从字面意思理解就是数据不需 ...
- 深入探秘 Netty、Kafka 中的零拷贝技术!
作者:ksfzhaohui 原文:juejin.im/post/5cad6f1ef265da039f0ef5df 零拷贝,从字面意思理解就是数据不需要来回的拷贝,大大提升了系统的性能.我们也经常在 J ...
- 原 荐 简单说说Kafka中的时间轮算法
零.时间轮定义简单说说时间轮吧,它是一个高效的延时队列,或者说定时器.实际上现在网上对于时间轮算法的解释很多,定义也很全,这里引用一下 朱小厮博客 里出现的定义:参考下图,Kafka中的时间轮(Tim ...
- Kafka中topic的Partition,Kafka为什么这么快,Consumer的负载均衡及consumerGroup的概念(来自学习笔记)
1.1. Kafka中topic的Partition 在Kafka文件存储中,同一个topic下有多个不同partition,每个partition为一个目录,partiton命名规则为topic ...
- 如何手动更新Kafka中某个Topic的偏移量
转载: https://blog.csdn.net/xiaoyu_bd/article/details/52319302 我们在使用consumer消费数据时,有些情况下我们需要对已经消费过的数据进行 ...
- Kafka科普系列 | 原来Kafka中的选举有这么多?
欢迎跳转到本文的原文链接:https://honeypps.com/mq/kafka-basic-knowledge-of-selection/ 面试官在考查你Kafka知识的时候很可能会故弄玄虚的问 ...
- 关于kafka中的timestamp与offset的对应关系
关于kafka中的timestamp与offset的对应关系 @(KAFKA)[storm, kafka, 大数据] 关于kafka中的timestamp与offset的对应关系 获取单个分区的情况 ...
最新文章
- 2.2.1 计算机网络之传输介质(双绞线、同轴电缆、光纤、无线电缆、微波、激光、红外线)
- 《学习之道》第六章关注过程,亦培养习惯
- (转)Asp.net 中 Get和Post 的用法
- Dynamipsgui入门教程
- 获取url参数值(可解码中文值)
- Leetcode--80. 删除排序数组中的重复项Ⅱ
- 第一百一十八天 how can I 坚持
- oracle 同步索引,oracle全文索引之同步和优化索引做了什么
- arm ida 伪代码 安卓 符号表_每天一个IDA小技巧(一): 序言
- 计算机组成原理的IR,计算机组成原理
- 怎么注册一个docker id
- Nodejs异步回调的优雅处理方法
- VUE(11) : 图片点击全屏展示
- 不懂怎么搞定人的进来:年业绩千万的老销售给你几招实惠的-没有干货立即跳楼
- java中Scanner,Randon,ArrayList
- UltraEdit 不能复制粘贴
- python ---input()函数、前几篇知识点总结
- 手机有时触摸失灵解决方法
- 科普篇:TD-LTE
- VSPD 串口调试工具!!
热门文章
- Unity引擎游戏优化插件MeshSimplify使用说明
- c语言流程图菱形代表什么_求一个输出菱形的c语言的流程图,“行”一个循环,然后把菱形分为上三角(四行的)和下三角(三行)...
- 店铺管理也要996!和996相比,选个靠谱的店铺销售管理软件更重要
- 四大主流开源BI商业智能平台对比评测
- 实现SheetJS读取excel表格数据并将表头中文转英文
- Saleae 逻辑分析仪SX24M8使用心得
- 【笔记】Unity优化 基础知识
- 【实验室】安卓与iOS性能全方位PK,能打得过吗?
- lisp 左手钢筋_CAD左手键与加载过程.docx
- vue中如何改变css的背景色,在Vue-cli中如何实现为单独页面设置背景色