您当前的位置:首页 > 电脑百科 > 程序开发 > 编程百科

监控 Kafka,这十个指标请考虑!

时间:2024-04-29 12:37:01  来源:微信公众号  作者:君哥聊技术

使用消息队列可以帮助我们实现系统解耦、流量管控等功能。但使用过程中可能会遇到各种各样的问题,比如系统资源使用率高、集群节点宕机等,进而影响我们生产业务正常开展。为了不让消息队列失控,增加监控是非常必要的。今天来聊一聊 Kafka 有哪些重要的监控指标。

1 基础指标

基础指标是监控系统常见的监控指标,这里介绍 4 个方面:

  • CPU、内存硬盘、网络 I/O 等资源使用情况,Kafka 提供了 BytesIn/BytesOut 指标来监控带宽使用率;
  • TCP 连接数、文件描述符使用情况;
  • JVM 监控指标,Kafka 也是一个 JVM 进程,需要监控堆内存使用情况、FULL GC 频率和时长、JVM 线程数等;
  • 网络延迟。

2 Broker 指标

2.1 UnderReplicatedPartitions

Kafka 分区 Leader 节点收到消息后,会同步给 Follower 节点。集群健康的情况下,UnderReplicatedPartitions 值等于 0,这时同步正常的 Follower 节点数量(也就是 ISR)等于总的 Follower 节点数量。如果这个指标值大于0,比如等于 1,说明有一个 Follower 同步异常,如下图:

图片图片

2.2 ISRShrink/ISRExpand

这个指标表示 ISR 收缩和扩容的频率。如果这个指标的值很高,那集群中必定有 Follower 节点频繁地进入或退出 ISR。这个时候就需要定位有 Follower 频繁进出 ISR 的原因。

2.3 ActiveControllerCount

Kafka Broker 集群中有一个节点是 Controller 节点,这个节点非常重要,负责监听 Partition、Topic 和 Broker 的变化,以及元数据管理。

ActiveControllerCount 指标表示当前 Broker 节点是否是 Controller 节点,集群健康的情况下,有且仅有一个 Broker 节点这个指标值是 1。如果有多个 Broker 这个指标值是 1,或者所有 Broker 指标值都是 0,就需要进行故障排查。

图片图片

2.4 offlinePartitionCount

这个指标只有 Controller 节点有。表示处于不可用状态的 Partition 的数量,也就是 Partition 没有活跃的 Leader 节点的数量。健康的集群,这个值是 0,如果这个值不是 0,就得尽快排查原因,防止影响业务。

2.5 LeaderElectionRateAndTimeMs

当分区 Leader 节点挂了之后,就会触发选举新的 Leader。这个指标值表示选举新 Leader 的频率(每秒多少次)和集群中无 Leader 节点的时长。触发 Leader 选举,肯定是旧的 Leader 下线,所以需要定位分析原因。

2.6 UncleanLeaderElectionsPerSec

当 Broker 集群找不到分区 Leader 时,需要从 ISR 集合中选出新的 Leader 节点。而如果 ISR 集合没有节点,那就得从未同步的 Follower 中选出 Leader 节点,让集群处于可用状态,但这个时候因为消息未同步,会有消息丢失。所以这个指标有数据时,代表可能有消息丢失。

2.7 TotalTimeMs

Broker 处理一笔请求的总时间。比如处理 Producer 发送请求、Consumer 拉取请求、Follower 拉取请求。这个时间如果出现了比较大的波动,需要查看 Broker 的资源情况并考虑应对方案。

3 Producer

生产者也可以加一些指标来监控发送消息的情况。

3.1 request-latency-avg

平均请求时间,这个指标包括生产者发送消息到收到响应的延迟,这个指标会影响 Producer 端的吞吐量。

3.2 wAIting-threads

发送缓存区中阻塞的用户线程数,如果这个指标变高,意味着生产者被阻塞的线程数变高,需要排查原因。

4 Consumer

4.1 records-lag

消费者在当前分区上落后于生产者的数量,如果这个值变大,有可能当前这个分区的消息量突增,也可能消费者消费能力下降,需要关注。

5 总结

Kafka 的监控指标非常多,关键指标是必须要监控的,其他指标可以根据需要添加,同时也可以加入日志相关的监控。希望本文能对你理解 Kafka 有所帮助。



Tags:Kafka   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
监控 Kafka,这十个指标请考虑!
使用消息队列可以帮助我们实现系统解耦、流量管控等功能。但使用过程中可能会遇到各种各样的问题,比如系统资源使用率高、集群节点宕机等,进而影响我们生产业务正常开展。为了...【详细内容】
2024-04-29  Search: Kafka  点击:(0)  评论:(0)  加入收藏
Kafka 数据积压与数据重复的处理案例
当使用Kafka作为消息传递系统时,数据积压和数据重复是常见的问题。下面是处理这些问题的案例: 数据积压处理: 增加消费者数量:如果数据积压严重,可以增加消费者实例的数量来提高...【详细内容】
2024-02-28  Search: Kafka  点击:(4)  评论:(0)  加入收藏
Spring实现Kafka重试Topic,真的太香了
概述Kafka的强大功能之一是每个分区都有一个Consumer的偏移值。该偏移值是消费者将读取的下一条消息的值。可以自动或手动增加该值。如果我们由于错误而无法处理消息并想重...【详细内容】
2024-01-26  Search: Kafka  点击:(110)  评论:(0)  加入收藏
如何使用Python、Apache Kafka和云平台构建健壮的实时数据管道
译者 | 李睿审校 | 重楼在当今竞争激烈的市场环境中,为了生存和发展,企业必须能够实时收集、处理和响应数据。无论是检测欺诈、个性化用户体验还是监控系统,现在都需要接近即时...【详细内容】
2024-01-26  Search: Kafka  点击:(57)  评论:(0)  加入收藏
深入浅出Kafka:高可用、顺序消费及幂等性
在我们旅行于数据海洋的途中,如果把 Kafka 比作是一艘承载无数信息航行的快船,前文《Kafka实战漫谈:大数据领域的不败王者》已经讲述了如何搭建起这艘快船,让它在起风的早晨开始...【详细内容】
2023-12-18  Search: Kafka  点击:(182)  评论:(0)  加入收藏
7k Star,一款开源的 Kafka 管理平台,功能齐全、页面美观!
Apache Kafka UI 是一个免费的开源 Web UI,用于监控和管理 Apache Kafka 集群,可方便地查看 Kafka Brokers、Topics、消息、Consumer 等情况,支持多集群管理、性能监控、访问控...【详细内容】
2023-12-15  Search: Kafka  点击:(140)  评论:(0)  加入收藏
利用Apache Kafka、Flink和Druid构建实时数据架构
译者 | 陈峻审校 | 重楼如今,对于使用批处理工作流程的数据团队而言,要满足业务的实时要求并非易事。从数据的交付、处理到分析,整个批处理工作流往往需要大量的等待,其中包括:等...【详细内容】
2023-12-11  Search: Kafka  点击:(250)  评论:(0)  加入收藏
运维兄弟!Kafka怎么又"超时"了?
现象凌晨,当运维刚躺下,就被业务研发的电话叫醒,"哥们!kafka服务又异常了?影响到业务了,快看看",业务研发给出的异常日志如下:基本分析 集群检查:立即确认kafka集群以及涉及到topic健...【详细内容】
2023-12-07  Search: Kafka  点击:(145)  评论:(0)  加入收藏
图解Kafka适用场景,全网最全!
消息系统消息系统被用于各种场景,如解耦数据生产者,缓存未处理的消息。Kafka 可作为传统的消息系统的替代者,与传统消息系统相比,kafka有更好的吞吐量、更好的可用性,这有利于处...【详细内容】
2023-11-29  Search: Kafka  点击:(189)  评论:(0)  加入收藏
Kafka有哪些应用场景?你能说上来几个?
下面我们来总结一下Kafka的一些应用场景:1、日志处理与分析(最常用的场景)下图显示了典型的 ELK(Elastic-Logstash-Kibana)堆栈。Kafka 有效地从每个实例收集日志流。ElasticSe...【详细内容】
2023-11-28  Search: Kafka  点击:(169)  评论:(0)  加入收藏
▌简易百科推荐
监控 Kafka,这十个指标请考虑!
使用消息队列可以帮助我们实现系统解耦、流量管控等功能。但使用过程中可能会遇到各种各样的问题,比如系统资源使用率高、集群节点宕机等,进而影响我们生产业务正常开展。为了...【详细内容】
2024-04-29  君哥聊技术  微信公众号  Tags:Kafka   点击:(0)  评论:(0)  加入收藏
引入缓存竟然会带来这么多问题?
哈喽,大家好呀,我是呼噜噜,最近很忙好久没更新了,今天我们通过缓存与数据库之间的一致性这个老生常谈的问题来切入,聊聊如何合理的设计一个缓存系统?如今互联网应用,无论是web还是...【详细内容】
2024-04-29  小牛呼噜噜  微信公众号  Tags:缓存   点击:(2)  评论:(0)  加入收藏
五种搭建LLM服务的方法和代码示例
在不断发展的大型语言模型(LLMs)领域中,用于支持这些模型的工具和技术正以与模型本身一样快的速度进步。在这篇文章中,我们将总结5种搭建开源大语言模型服务的方法,每种都附带详...【详细内容】
2024-04-23  DeepHub IMBA    Tags:LLM   点击:(9)  评论:(0)  加入收藏
Meta如何将缓存一致性提高到99.99999999%
介绍缓存是一种强大的技术,广泛应用于计算机系统的各个方面,从硬件缓存到操作系统、网络浏览器,尤其是后端开发。对于Meta这样的公司来说,缓存尤为重要,因为它有助于减少延迟、扩...【详细内容】
2024-04-15    dbaplus社群  Tags:Meta   点击:(7)  评论:(0)  加入收藏
SELECT COUNT(*) 会造成全表扫描?回去等通知吧
前言SELECT COUNT(*)会不会导致全表扫描引起慢查询呢?SELECT COUNT(*) FROM SomeTable网上有一种说法,针对无 where_clause 的 COUNT(*),MySQL 是有优化的,优化器会选择成本最小...【详细内容】
2024-04-11  dbaplus社群    Tags:SELECT   点击:(6)  评论:(0)  加入收藏
10年架构师感悟:从问题出发,而非技术
这些感悟并非来自于具体的技术实现,而是关于我在架构设计和实施过程中所体会到的一些软性经验和领悟。我希望通过这些分享,能够激发大家对于架构设计和技术实践的思考,帮助大家...【详细内容】
2024-04-11  dbaplus社群    Tags:架构师   点击:(5)  评论:(0)  加入收藏
Netflix 是如何管理 2.38 亿会员的
作者 | Surabhi Diwan译者 | 明知山策划 | TinaNetflix 高级软件工程师 Surabhi Diwan 在 2023 年旧金山 QCon 大会上发表了题为管理 Netflix 的 2.38 亿会员 的演讲。她在...【详细内容】
2024-04-08    InfoQ  Tags:Netflix   点击:(10)  评论:(0)  加入收藏
即将过时的 5 种软件开发技能!
作者 | Eran Yahav编译 | 言征出品 | 51CTO技术栈(微信号:blog51cto) 时至今日,AI编码工具已经进化到足够强大了吗?这未必好回答,但从2023 年 Stack Overflow 上的调查数据来看,44%...【详细内容】
2024-04-03    51CTO  Tags:软件开发   点击:(16)  评论:(0)  加入收藏
跳转链接代码怎么写?
在网页开发中,跳转链接是一项常见的功能。然而,对于非技术人员来说,编写跳转链接代码可能会显得有些困难。不用担心!我们可以借助外链平台来简化操作,即使没有编程经验,也能轻松实...【详细内容】
2024-03-27  蓝色天纪    Tags:跳转链接   点击:(22)  评论:(0)  加入收藏
中台亡了,问题到底出在哪里?
曾几何时,中台一度被当做“变革灵药”,嫁接在“前台作战单元”和“后台资源部门”之间,实现企业各业务线的“打通”和全域业务能力集成,提高开发和服务效率。但在中台如火如荼之...【详细内容】
2024-03-27  dbaplus社群    Tags:中台   点击:(21)  评论:(0)  加入收藏
站内最新
站内热门
站内头条