kafka笔记9(监控)

Kafka提供的所有度量指标都是通过JMX(Java Management Extensions)接口访问

JMX端口查询:  zookeeper上获取端口信息  /brokers/ids/<ID>节点包含json格式的broker信息,里面含有JMX对应的主机名和端口

JMX接口提供的是内部度量指标,第三方程序提供的则是外部度量指标

应用程序健康检测:

  使用外部进程来报告broker的运行状态(健康检测)

  在broker停止发送度量指标时发出告警(stale度量指标)

broker度量指标

  非同步分区数量:  作为首领的broker有多少个分区处于非同步状态

  

  该值大于0就要采取措施,首先建议重新选举首领,看看能否解决问题

  问题排查步骤:

    

  集群级别的问题:

    不均衡的负载   资源过度消耗

    问题定位: 用到以下度量指标  

        分区数量   首领分区数量    主题流入字节速率   主题流入消息速率

        在一个均衡集群里,度量指标的数值在整个集群范围内均等的

        

        以下资源出现过度消耗会导致分区不同步

            

 主机级别问题:

    硬件问题

      磁盘问题是常见的故障,导致分区不同步,拖慢整个集群broker请求

  

    进程冲突

    本地配置的不一致     

  活跃控制器数量:

    表示broker是否就是当前的集群控制器,1代表是,任何时候集群应该只有一个集群控制器

         

  请求处理器空闲率

    

      空闲率低于20%说明存在潜在问题,低于10%说明存在性能问题

  主题流入字节

    

  主题流出字节

    

  主题流入消息

    

  分区数量:

    

  首领数量:

    该度量指标表示broker拥有的首领分区数量,与其他度量一样,该度量指标也应该在整个集群的broker上保持均等

    

    一个均衡集群如果复制系数是N,则该百分比应该为1/N

  离线分区: 显示集群里没有首领的分区数量

    分区离线的主要原因:   包含分区副本的broker都关闭了; 消息不匹配,没有同步副本可以拿到首领身份(并且禁用了不完全的首领选举)

    

  请求度量指标:

    

      

主题和分区的度量指标:(指定某个主题)

    主题实例的度量指标: 取决于集群主题数量

        

    分区实例的度量指标

        

        

JAVA虚拟机监控

    垃圾回收:

      

    Java操作系统监控

      

日志:

  Kafka.controller   记录集群控制器的消息

  kafka.server.ClientQuotaManager  记录与生产和消费配额活动相关的信息    

  启用kafka.log.LogCleaner  kafka.log.Cleaner   kafka.log.LogCleanerManager这些日志,并设置为DEBUG级别,就可以输出日志压缩线程的运行状态

客户端监控

  生产者度量指标

    

     record-error-rate 是一个完全有必要对其设置告警的属性,一般情况下是0,大于0,说明生产者正在丢弃无法发送的消息

    record-retry-rate  重试次数

    request-latency-avg 设置告警,表示发送一个生产者请求到broker所需的平均时间

  3种不同视图:  outgoing-byte-rate 每秒钟消息的字节数    record-send-rate 每秒消息的数量   request-rate  每秒钟生产者发送给broker的请求数

  Per-broker和Per-topic 度量指标

  消费者度量指标:

    

     Fetchmanager度量指标

        fetch-latency-avg 表示消费者向Broker发送请求所需要的时间

     

      

      Coordinator度量指标

      

      配额

      

延迟监控

端到端监控

  :

            

   

    

原文地址:https://www.cnblogs.com/zy1234567/p/10345778.html