• 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中的这只“千里眼”,你需要知道相关推荐

  1. Kafka中的这只“千里眼”,你需要知道!!!

    大家好,我是威哥,<RocketMQ技术内幕>一书作者,荣获RocketMQ官方社区优秀布道师.CSDN2020博客执之星Top2等荣誉称号.目前担任中通快递技术平台部资深架构师,主要负责 ...

  2. Kafka中的这只“千里眼”,你需要知道,java常用框架面试

    详细说明如下: join-time-max 消费者重新加入消费组的最大时长 join-time-avg 消费者重新加入消费组的平均时长 join-rate 消费者加入消费组的TPS 实践指导:该值为0 ...

  3. Netty、Kafka中的零拷贝技术到底有多牛?

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 来源:rrd.me/ggFBd 零拷贝,从字面意思理解就是数据不需 ...

  4. 深入探秘 Netty、Kafka 中的零拷贝技术!

    作者:ksfzhaohui 原文:juejin.im/post/5cad6f1ef265da039f0ef5df 零拷贝,从字面意思理解就是数据不需要来回的拷贝,大大提升了系统的性能.我们也经常在 J ...

  5. 原 荐 简单说说Kafka中的时间轮算法

    零.时间轮定义简单说说时间轮吧,它是一个高效的延时队列,或者说定时器.实际上现在网上对于时间轮算法的解释很多,定义也很全,这里引用一下 朱小厮博客 里出现的定义:参考下图,Kafka中的时间轮(Tim ...

  6. Kafka中topic的Partition,Kafka为什么这么快,Consumer的负载均衡及consumerGroup的概念(来自学习笔记)

    1.1. Kafka中topic的Partition  在Kafka文件存储中,同一个topic下有多个不同partition,每个partition为一个目录,partiton命名规则为topic ...

  7. 如何手动更新Kafka中某个Topic的偏移量

    转载: https://blog.csdn.net/xiaoyu_bd/article/details/52319302 我们在使用consumer消费数据时,有些情况下我们需要对已经消费过的数据进行 ...

  8. Kafka科普系列 | 原来Kafka中的选举有这么多?

    欢迎跳转到本文的原文链接:https://honeypps.com/mq/kafka-basic-knowledge-of-selection/ 面试官在考查你Kafka知识的时候很可能会故弄玄虚的问 ...

  9. 关于kafka中的timestamp与offset的对应关系

    关于kafka中的timestamp与offset的对应关系 @(KAFKA)[storm, kafka, 大数据] 关于kafka中的timestamp与offset的对应关系 获取单个分区的情况 ...

最新文章

  1. 2.2.1 计算机网络之传输介质(双绞线、同轴电缆、光纤、无线电缆、微波、激光、红外线)
  2. 《学习之道》第六章关注过程,亦培养习惯
  3. (转)Asp.net 中 Get和Post 的用法
  4. Dynamipsgui入门教程
  5. 获取url参数值(可解码中文值)
  6. Leetcode--80. 删除排序数组中的重复项Ⅱ
  7. 第一百一十八天 how can I 坚持
  8. oracle 同步索引,oracle全文索引之同步和优化索引做了什么
  9. arm ida 伪代码 安卓 符号表_每天一个IDA小技巧(一): 序言
  10. 计算机组成原理的IR,计算机组成原理
  11. 怎么注册一个docker id
  12. Nodejs异步回调的优雅处理方法
  13. VUE(11) : 图片点击全屏展示
  14. 不懂怎么搞定人的进来:年业绩千万的老销售给你几招实惠的-没有干货立即跳楼
  15. java中Scanner,Randon,ArrayList
  16. UltraEdit 不能复制粘贴
  17. python ---input()函数、前几篇知识点总结
  18. 手机有时触摸失灵解决方法
  19. 科普篇:TD-LTE
  20. VSPD 串口调试工具!!

热门文章

  1. Unity引擎游戏优化插件MeshSimplify使用说明
  2. c语言流程图菱形代表什么_求一个输出菱形的c语言的流程图,“行”一个循环,然后把菱形分为上三角(四行的)和下三角(三行)...
  3. 店铺管理也要996!和996相比,选个靠谱的店铺销售管理软件更重要
  4. 四大主流开源BI商业智能平台对比评测
  5. 实现SheetJS读取excel表格数据并将表头中文转英文
  6. Saleae 逻辑分析仪SX24M8使用心得
  7. 【笔记】Unity优化 基础知识
  8. 【实验室】安卓与iOS性能全方位PK,能打得过吗?
  9. lisp 左手钢筋_CAD左手键与加载过程.docx
  10. vue中如何改变css的背景色,在Vue-cli中如何实现为单独页面设置背景色