Kafka Metrics指标监控 | 您所在的位置:网站首页 › width指标源码 › Kafka Metrics指标监控 |
本文以kafka2.1.1版本为例 文章目录 1.简介1.1.官网地址1.2.常见开源监控工具1.3.GitHub源码地址 2.指标介绍2.1.服务端指标2.2.客户端指标2.2.1. 生产者、消费者、connect、streams公共指标2.2.2.生产者、消费者、connect、streams的broker节点指标2.2.3.生产者指标2.2.4.生产者topic指标2.2.5.消费者coordinator指标2.2.6.消费者fetch manager指标2.2.7.消费者topic指标2.2.8.消费者partition指标 3.指标获取3.1.服务端指标获取3.1.1.通过JMX获取 3.2.客户端指标获取3.2.1.通过JMX获取3.2.2.通过实现MetricsReporter、ClusterResourceListener 1.简介 1.1.官网地址http://kafka.apache.org/21/documentation.html#monitoring Kafka使用Yammer Metrics来上报broker端的Metrics。Java客户端使用Kafka Metrics上报,这是一个内置的Metrics注册表,它最小化了客户端应用程序的依赖关系。两者都可以通过JMX方式获取,并且是可插拨的连接到你的监控系统。 所有Kafka rate都有一个对应的带后缀 -total 的累积计数指标,例如:records-consumed-rate 有一个对应的累积计数指标 records-consumed-total 1.2.常见开源监控工具 Kafka Manager(https://github.com/yahoo/kafka-manager)Kafka Eagle(http://download.kafka-eagle.org/)Kafka Monitor(https://github.com/linkedin/kafka-monitor)KafkaOffsetMonitor 1.3.GitHub源码地址服务端及客户端监控实现请参考GitHub地址:https://github.com/yyijun/kafka.git 2.指标介绍 2.1.服务端指标以下指标全部可以通过jmx获取到 1)分区在同步中的副本数:InSyncReplicasCount ObjectName kafka.cluster:type=Partition,name=InSyncReplicasCount,topic=test1,partition=0 属性:Value=22)分区副本数:ReplicasCount ObjectName kafka.cluster:type=Partition,name=ReplicasCount,topic=test1,partition=0 属性:Value=23)分区缺失副本数:UnderReplicated ObjectName kafka.cluster:type=Partition,name=UnderReplicated,topic=test1,partition=0 属性:Value=04)集群活跃controller个数:ActiveControllerCount ObjectName kafka.controller:type=KafkaController,name=ActiveControllerCount 属性:Value=05)分区LogEndOffset ObjectName kafka.log:type=Log,name=LogEndOffset,topic=test1,partition=0 属性:Value=06)分区LogStartOffset ObjectName kafka.log:type=Log,name=LogStartOffset,topic=test1,partition=0 属性:Value=07)分区segment个数:NumLogSegments ObjectName kafka.log:type=Log,name=NumLogSegments,topic=test1,partition=0 属性:Value=258)分区存储大小:Size ObjectName kafka.log:type=Log,name=Size,topic=test1,partition=0 属性:Value=200000009)broker网络空闲率:NetworkProcessorAvgIdlePercent kafka.network:type=SocketServer,name=NetworkProcessorAvgIdlePercent10)broker一分钟内平均每秒入流量,单位:字节 ObjectName kafka.server:type=BrokerTopicMetrics,name=BytesInPerSec 主要属性: EventType=bytes OneMinuteRate=102400000 RateUnit=SECONDS11)topic在broker一分钟内平均每秒入流量,单位:字节 ObjectName kafka.server:type=BrokerTopicMetrics,name=BytesInPerSec,topic=test1 主要属性: EventType=bytes OneMinuteRate=102400000 RateUnit=SECONDS12)broker一分钟内平均每秒出流量,单位:字节 BytesOutPerSec(一分钟内平均每秒出流量,单位:字节) ObjectName kafka.server:type=BrokerTopicMetrics,name=BytesOutPerSec 主要属性: EventType=bytes OneMinuteRate=102400000 RateUnit=SECONDS13)topic在broker一分钟内平均每秒出流量,单位:字节 ObjectName kafka.server:type=BrokerTopicMetrics,name=BytesOutPerSec,topic=test1 主要属性: EventType=bytes OneMinuteRate=102400000 RateUnit=SECONDS14)broker/topic平均每秒拒绝流量,单位:字节 kafka.server:type=BrokerTopicMetrics,name=BytesRejectedPerSec kafka.server:type=BrokerTopicMetrics,name=BytesRejectedPerSec,topic=test115)broker/topic平均每秒失败抓取请求次数 kafka.server:type=BrokerTopicMetrics,name=FailedFetchRequestsPerSec kafka.server:type=BrokerTopicMetrics,name=FailedFetchRequestsPerSec,topic=test116)broker/topic平均每秒失败生产请求次数 kafka.server:type=BrokerTopicMetrics,name=FailedProduceRequestsPerSec kafka.server:type=BrokerTopicMetrics,name=FailedProduceRequestsPerSec,topic=test117)broker/topic平均每秒抓取请求总次数 kafka.server:type=BrokerTopicMetrics,name=TotalFetchRequestsPerSec kafka.server:type=BrokerTopicMetrics,name=TotalFetchRequestsPerSec,topic=test118)broker/topic平均每秒生产请求总次数 kafka.server:type=BrokerTopicMetrics,name=TotalProduceRequestsPerSec kafka.server:type=BrokerTopicMetrics,name=TotalProduceRequestsPerSec,topic=test119)broker/topic一分钟内平均每秒入流量,单位:记录数 kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec 主要属性: EventType=messages OneMinuteRate=102400000 RateUnit=SECONDS kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec,topic=test1 主要属性: EventType=messages OneMinuteRate=102400000 RateUnit=SECONDS20)用户在broker每秒生产消费字节与被限制流量时间 kafka.server:type=Produce,user=kafkacommon 属性: byte-rate(每秒生产字节) throttle-time(1秒内生产被限制时间,单位:毫秒) kafka.server:type=Fetch,user=kafkacommon 属性: byte-rate(每秒消费字节) throttle-time(1秒内消费被限制时间,单位:毫秒)21)broker请求队列空闲率:RequestHandlerAvgIdlePercent kafka.server:type=KafkaRequestHandlerPool,name=RequestHandlerAvgIdlePercent22)Isr每秒扩展或收缩速率 kafka.server:type=ReplicaManager,name=IsrExpandsPerSec 属性:MeanRate kafka.server:type=ReplicaManager,name=IsrShrinksPerSec 属性:MeanRate23)broker上leader分区个数 kafka.server:type=ReplicaManager,name=LeaderCount 属性:Value24)broker上分区个数 kafka.server:type=ReplicaManager,name=PartitionCount 属性:Value25)用户在broker的平均请求时间 kafka.server:type=Request,user=kafkacommon 属性:request-time 2.2.客户端指标 2.2.1. 生产者、消费者、connect、streams公共指标kafka.[producer|consumer|connect]:type=[producer|consumer|connect]-metrics,client-id=([-.\w]+) 指标名称指标描述connection-close-rate每秒被关闭连接数connection-close-total从客户端本次启动截止当前被关闭连接总数connection-creation-rate每次创建新连接数connection-creation-total从客户端本次启动截止当前新创建连接总数connection-count当前活跃连接数network-io-rate每秒网络读写次数network-io-total从客户端本次启动截止当前网络读写总次数outgoing-byte-rate每秒输出字节outgoing-byte-total从客户端本次启动截止当前输出总字节request-rate每秒请求次数request-total从客户端本次启动截止当前请求总次数request-size-avg平均请求大小,单位:字节request-size-max最大请求大小,单位:字节incoming-byte-rate每秒输入字节incoming-byte-total从客户端本次启动截止当前输入总字节response-rate每秒响应次数response-total从客户端本次启动截止当前响应总次数io-wait-ratioIO线程等待时间io-ratioIO线程执行时间 2.2.2.生产者、消费者、connect、streams的broker节点指标kafka.producer:type=[consumer|producer|connect]-node-metrics,client-id=([-.\w]+),node-id=([0-9]+) 指标名称指标描述outgoing-byte-rate每秒输出字节outgoing-byte-total从客户端本次启动截止当前输出总字节incoming-byte-rate每秒输入字节incoming-byte-total从客户端本次启动截止当前输入总字节request-rate每秒请求次数request-total从客户端本次启动截止当前请求总次数request-size-avg平均请求大小,单位:字节request-size-max最大请求大小,单位:字节response-rate每秒响应次数response-total从客户端本次启动截止当前响应总次数request-latency-avg平均请求延迟 ,单位:毫秒request-latency-max最大请求延迟,单位:毫秒 2.2.3.生产者指标kafka.producer:type=producer-metrics,client-id="{client-id}" 指标名称指标描述record-size-avg平均记录大小,单位:字节record-size-max最大记录大小,单位:字节 2.2.4.生产者topic指标kafka.producer:type=producer-topic-metrics,client-id="{client-id}",topic="{topic}" 指标名称指标描述byte-ratetopic每秒生产字节byte-total从客户端本次启动截止当前topic生产总字节record-error-ratetopic每秒错误记录数record-error-total从客户端本次启动截止当前topic生产错误记录总数record-retry-ratetopic每秒生产重试记录数record-retry-total从客户端本次启动截止当前topic生产重试记录总数record-send-ratetopic每秒生产记录数record-send-total从客户端本次启动截止当前topic生产记录总数 2.2.5.消费者coordinator指标kafka.consumer:type=consumer-coordinator-metrics,client-id=([-.\w]+) 指标名称指标描述commit-latency-avg平均请求延迟,单位:毫秒commit-latency-max最大请求延迟,单位:毫秒commit-rate每秒提交次数commit-total提交总次数 2.2.6.消费者fetch manager指标kafka.consumer:type=consumer-fetch-manager-metrics,client-id="{client-id}" 指标名称指标描述bytes-consumed-rate每秒消费字节bytes-consumed-total消费总字节records-consumed-rate每秒消费记录records-consumed-total消费总记录fetch-latency-avg平均抓取延迟,单位:毫秒fetch-latency-max最大抓取请求延迟,单位:毫秒fetch-size-avg平均抓取请求大小,单位:字节fetch-size-max最大抓取请求大小,单位:字节fetch-rate每秒抓取请求数fetch-total抓取请求总数 2.2.7.消费者topic指标kafka.consumer:type=consumer-fetch-manager-metrics,client-id="{client-id}",topic="{topic}" 指标名称指标描述bytes-consumed-ratetopic每秒消费字节bytes-consumed-totaltopic消费总字节records-consumed-ratetopic每秒消费记录records-consumed-totaltopic消费总记录fetch-size-avg平均抓取请求大小,单位:字节fetch-size-max最大抓取请求大小,单位:字节 2.2.8.消费者partition指标kafka.consumer:type=consumer-fetch-manager-metrics,partition="{partition}",topic="{topic}",client-id="{client-id}" 指标名称指标描述records-lag分区当前消费延迟记录records-lag-avg分区平均消费延迟记录records-lag-max分区最大消费延迟记录 3.指标获取 3.1.服务端指标获取 3.1.1.通过JMX获取 3.2.客户端指标获取 3.2.1.通过JMX获取 3.2.2.通过实现MetricsReporter、ClusterResourceListener |
CopyRight 2018-2019 实验室设备网 版权所有 |