美文网首页
使用Kafka Assistant监控Kafka关键指标

使用Kafka Assistant监控Kafka关键指标

作者: bilibili_877b | 来源:发表于2022-12-02 09:44 被阅读0次

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

    broker度量指标

    活跃控制器数量

    该指标表示 broker 是否就是当前的集群控制器,其值可以是 0 或 1。如果是 1,表示
    broker 就是当前的控制器。任何时候,都应该只有一个 broker 是控制器,而且这个 broker
    必须一直是集群控制器。如果出现了两个控制器,说明有一个本该退出的控制器线程被阻
    塞了,这会导致管理任务无法正常执行,比如移动分区。为了解决这个问题,需要将这两
    个 broker 重启,而且不能通过正常的方式重启,因为此时它们无法被正常关闭。

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


    1.png

    请求处理器空闲率

    Kafka 使用了两个线程池来处理客户端的请求:网络处理器线程池和请求处理器线程池。
    网络处理器线程池负责通过网络读入和写出数据。这里没有太多的工作要做,也就是说,
    不用太过担心这些线程会出现问题。请求处理器线程池负责处理来自客户端的请求,包括
    从磁盘读取消息和往磁盘写入消息。因此,broker 负载的增长对这个线程池有很大的影响。

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


    2.png

    主题流入字节

    主题流入字节速率使用 b/s 来表示,在对 broker 接收的生产者客户端消息流量进行度量时,
    这个度量指标很有用。该指标可以用于确定何时该对集群进行扩展或开展其他与规模增长
    相关的工作。它也可以用于评估一个 broker 是否比集群里的其他 broker 接收了更多的流
    量,如果出现了这种情况,就需要对分区进行再均衡。

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


    3.png

    主题流出字节

    主题流出字节速率与流入字节速率类似,是另一个与规模增长有关的度量指标。流出字节速
    率显示的是消费者从 broker 读取消息的速率。流出速率与流入速率的伸缩方式是不一样的,
    这要归功于 Kafka 对多消费者客户端的支持。很多 Kafka 的流出速率可以达到流入速率的 6
    倍!所以,单独对流出速率进行观察和走势分析是非常重要的。

    主题流入的消息

    之前介绍的字节速率以字节的方式来表示 broker 的流量,而消息速率则以每秒生成消息个
    数的方式来表示流量,而且不考虑消息的大小。这也是一个很有用的生产者流量增长规模
    度量指标。它也可以与字节速率一起用于计算消息的平均大小。与字节速率一样,该指标
    也能反映集群的不均衡情况。

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


    4.png

    分区数量

    broker 的分区数量一般不会经常发生改变,它是指分配给 broker 的分区总数。它包括
    broker 的每一个分区副本,不管是首领还是跟随者。

    首领数量

    该度量指标表示 broker 拥有的首领分区数量。与 broker 的其他度量一样,该度量指标也应
    该在整个集群的 broker 上保持均等。我们需要对该指标进行周期性地检查,并适时地发出
    告警,即使在副本的数量和大小看起来都很完美的时候,它仍然能够显示出集群的不均衡
    问题。因为 broker 有可能出于各种原因释放掉一个分区的首领身份,比如 Zookeeper 会话
    过期,而在会话恢复之后,这个分区并不会自动拿回首领身份(除非启用了自动首领再均
    衡功能)。在这些情况下,该度量指标会显示较少的首领分区数,或者直接显示为零。这
    个时候需要运行一个默认的副本选举,重新均衡集群的首领。

    离线分区

    与非同步分区数量一样,离线分区数量也是一个关键的度量指标(表 10-10)。该度量只能
    由集群控制器提供(对于其他 broker 来说,该指标的值为零),它显示了集群里没有首领
    的分区数量。

    Java虚拟机监控

    除了 broker 的度量指标外,还应该对服务器提供的一些标准度量进行监控,包括 Java 虚拟
    机(JVM)。如果 JVM 频繁发生垃圾回收,就会影响 broker 的性能,在这种情况下,就应
    该得到告警。JVM 的度量指标还能告诉我们为什么 broker 下游的度量指标会发生变化。


    5.png

    相关文章

      网友评论

          本文标题:使用Kafka Assistant监控Kafka关键指标

          本文链接:https://www.haomeiwen.com/subject/mdjefdtx.html