使用Kafka Assistant监控Kafka关键指标

使用Kafka时,我们比较关心下面这些常见指标。

Kafka Assistant下载地址:http://www.redisant.cn/ka

broker度量指标

活跃控制器数量

该指标表示 broker 是否就是当前的集群控制器,其值可以是 0 或 1。如果是 1,表示

broker 就是当前的控制器。任何时候,都应该只有一个 broker 是控制器,而且这个 broker

必须一直是集群控制器。如果出现了两个控制器,说明有一个本该退出的控制器线程被阻

塞了,这会导致管理任务无法正常执行,比如移动分区。为了解决这个问题,需要将这两

个 broker 重启,而且不能通过正常的方式重启,因为此时它们无法被正常关闭。

Kafka Assistant提供了对此指标的监控

请求处理器空闲率

Kafka 使用了两个线程池来处理客户端的请求:网络处理器线程池和请求处理器线程池。

网络处理器线程池负责通过网络读入和写出数据。这里没有太多的工作要做,也就是说,

不用太过担心这些线程会出现问题。请求处理器线程池负责处理来自客户端的请求,包括

从磁盘读取消息和往磁盘写入消息。因此,broker 负载的增长对这个线程池有很大的影响。

Kafka Assistant 通过每隔一段时间对此指标进行采样,绘制了处理器空闲率的走势

主题流入字节

主题流入字节速率使用 b/s 来表示,在对 broker 接收的生产者客户端消息流量进行度量时,

这个度量指标很有用。该指标可以用于确定何时该对集群进行扩展或开展其他与规模增长

相关的工作。它也可以用于评估一个 broker 是否比集群里的其他 broker 接收了更多的流

量,如果出现了这种情况,就需要对分区进行再均衡。

kafka Assistant 可以监控自broker启动以来,流出的字节总数。一分钟的平均速率,五分钟的平均速率,十五分钟平均速率。

主题流出字节

主题流出字节速率与流入字节速率类似,是另一个与规模增长有关的度量指标。流出字节速

率显示的是消费者从 broker 读取消息的速率。流出速率与流入速率的伸缩方式是不一样的,

这要归功于 Kafka 对多消费者客户端的支持。很多 Kafka 的流出速率可以达到流入速率的 6

倍!所以,单独对流出速率进行观察和走势分析是非常重要的。

主题流入的消息

之前介绍的字节速率以字节的方式来表示 broker 的流量,而消息速率则以每秒生成消息个

数的方式来表示流量,而且不考虑消息的大小。这也是一个很有用的生产者流量增长规模

度量指标。它也可以与字节速率一起用于计算消息的平均大小。与字节速率一样,该指标

也能反映集群的不均衡情况。

与主题流入和流出字节一样,Kafka Assistant也对此提供了监控。如下图所示:

分区数量

broker 的分区数量一般不会经常发生改变,它是指分配给 broker 的分区总数。它包括

broker 的每一个分区副本,不管是首领还是跟随者。

首领数量

该度量指标表示 broker 拥有的首领分区数量。与 broker 的其他度量一样,该度量指标也应

该在整个集群的 broker 上保持均等。我们需要对该指标进行周期性地检查,并适时地发出

告警,即使在副本的数量和大小看起来都很完美的时候,它仍然能够显示出集群的不均衡

问题。因为 broker 有可能出于各种原因释放掉一个分区的首领身份,比如 Zookeeper 会话

过期,而在会话恢复之后,这个分区并不会自动拿回首领身份(除非启用了自动首领再均

衡功能)。在这些情况下,该度量指标会显示较少的首领分区数,或者直接显示为零。这

个时候需要运行一个默认的副本选举,重新均衡集群的首领。

离线分区

与非同步分区数量一样,离线分区数量也是一个关键的度量指标(表 10-10)。该度量只能

由集群控制器提供(对于其他 broker 来说,该指标的值为零),它显示了集群里没有首领

的分区数量。

Java虚拟机监控

除了 broker 的度量指标外,还应该对服务器提供的一些标准度量进行监控,包括 Java 虚拟

机(JVM)。如果 JVM 频繁发生垃圾回收,就会影响 broker 的性能,在这种情况下,就应

该得到告警。JVM 的度量指标还能告诉我们为什么 broker 下游的度量指标会发生变化。

使用Kafka Assistant监控Kafka关键指标的更多相关文章

  1. Kafka 消息监控 - Kafka Eagle

    1.概述 在开发工作当中,消费 Kafka 集群中的消息时,数据的变动是我们所关心的,当业务并不复杂的前提下,我们可以使用 Kafka 提供的命令工具,配合 Zookeeper 客户端工具,可以很方便 ...

  2. Oracle监控的关键指标

    1.监控事例的等待 select event, , , )) "Prev", , , )) "Curr", count(*) "Tot" f ...

  3. Prometheus+Grafana通过kafka_exporter监控kafka

    Prometheus+Grafana通过kafka_exporter监控kafka 一.暴露 kafka-metric 方式 二.jmx_exporter方式 2.1 下载jmx_prometheus ...

  4. Prometheus监控Kafka

    Prometheus监控Kafka 1.Prometheus监控Kafka,Docker方式 Kafka监控优秀博文: 简书:whaike:[监控]Kafka - 详细指标 CSDN:GeekXuSh ...

  5. kafka消息监控-KafkaOffsetMonitor

    参照site:https://github.com/quantifind/KafkaOffsetMonitor 一.简述 这个应用程序用来实时监控Kafka服务的Consumer以及它们所在的Part ...

  6. KafkaOffsetMonitor监控kafka

    KafkaOffsetMonitor监控kafka 1. KafkaOffsetMonitor是一个可以用于监控Kafka的Topic及Consumer消费状况的工具,其配置和使用特别的方便.源项目G ...

  7. 如何使用JMX监控Kafka

    使用kafka做消息队列中间件时,为了实时监控其性能时,免不了要使用jmx调取kafka broker的内部数据,不管是自己重新做一个kafka集群的监控系统,还是使用一些开源的产品,比如yahoo的 ...

  8. 使用JMX监控Kafka

    监控数据源 JMX RMI方式启动Broker,Consumer,Producer -ea -Dcom.sun.management.jmxremote.authenticate=false -Dco ...

  9. Kafka monitoring监控

    一.Metrics kafka有两个metrics包,在看源码的时候很容易混淆 package kafka.metrics package org.apache.kafka.common.metric ...

  10. 使用kafka-eagle监控Kafka

    # 监控kafka集群,开启监控趋势图使用 # 有一个问题,需要在kafka-server-start.sh文件中配置端口,有如下三种办法 # 第一种:复制并修改kafka目录,比如kafka-1,k ...

随机推荐

  1. 记录--js小练习(弹幕、 电梯导航、 倒计时、 随机点名、 购物放大镜)

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 DOM小练习 弹幕 电梯导航 倒计时 随机点名 购物放大镜 1.弹幕 效果预览 功能:输入弹幕内容,按下回车显示一条弹幕(弹幕颜色.字体随 ...

  2. 记录--JavaScript 令人惊讶的一点:对于空数组every()方法返回true

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 JavaScript 语言的内核足够大,导致我们很容易误解它的某些部分是如何工作的.我最近重构了一些使用 every ()方法的代码,并且 ...

  3. [Java]细节与使用经验

    [版权声明]未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) https://www.cnblogs.com/cnb-yuchen/p/18032072 出自[进步*于辰的博客] 纯文字阐述,内 ...

  4. KingbaseES特殊权限介绍

    用户需求:新建一个用户B,需要能够查询A用户的所有表,并且对以后新建的表也要有select权限. 对于现有的表可以通过动态sql批量进行授权,但是未来新建的表要如何进行授权呢? 查询了帮助文档发现通过 ...

  5. KingbaseES V8R3集群运维案例之---failover故障处理

    ​ 案例说明: 此案例,为KingbaseES V8R3集群failover切换时,通用的故障处理方式.通过对failover.log和recovery.log日志的解读,让大家了解KingbaseE ...

  6. vim-plus install

    1.输入:git clone https://github.com/chxuan/vimplus.git ~/.vimplus 2.输入:cd ~/.vimplus 3.输入:./install.sh ...

  7. #轮廓线dp#洛谷 1879 [USACO06NOV]Corn Fields G

    题目 分析 考虑状压dp在\(n\leq 21\)的情况下会TLE, 设\(dp[n][m][S]\)表示当前正在处理\((n,m)\)这个格子 并且轮廓线状态为\(S\)的方案数, 考虑可行状态最多 ...

  8. 基于OT与CRDT协同算法的文档划词评论能力实现

    基于OT与CRDT协同算法的文档划词评论能力实现 当我们实现在线文档平台时,划词评论的功能是非常必要的,特别是在重文档管理流程的在线文档产品中,文档反馈是非常重要的一环,这样可以帮助文档维护者提高文档 ...

  9. k8s 深入篇———— pod 实战[六]

    前言 pod 实战一下,主要是一些例子. 正文 例子一 pod 实例的选择: NodeSelector:是一个供用户将 Pod 与 Node 进行绑定的字段 NodeName:一旦 Pod 的这个字段 ...

  10. 抓包整理————tcp 三次握手[九]

    前言 简单抓包一下3次握手. 正文 握手的目标: 同步sequence 序列化 初始化序列化ISN(Initial Sequence Number) 交换tcp 通信参数 如MSS.窗口比例因子.选择 ...