KafkaMetrics指标监控
本⽂以kafka2.1.1版本为例
⽂章⽬录
1.简介
1.1.官⽹地址
Kafka使⽤Yammer Metrics来上报broker端的Metrics。Java客户端使⽤Kafka Metrics上报,这是⼀个内置的Metrics注册表,它最⼩化了客户端应⽤程序的依赖关系。两者都可以通过JMX⽅式获取,并且是可插拨的连接到你的监控系统。
所有Kafka rate都有⼀个对应的带后缀 -total 的累积计数指标,例如:records-consumed-rate 有⼀个对应的累积计数指标 records-consumed-total
1.2.常见开源监控⼯具
Kafka Manager()
Kafka Eagle()
Kafka Monitor()
KafkaOffsetMonitor
1.3.GitHub源码地址
2.指标介绍
2.1.服务端指标
以下指标全部可以通过jmx获取到
1)分区在同步中的副本数:InSyncReplicasCount
ObjectName kafka.cluster:type=Partition,name=InSyncReplicasCount,topic=test1,partition=0
属性:Value=2
2)分区副本数:ReplicasCount
ObjectName kafka.cluster:type=Partition,name=ReplicasCount,topic=test1,partition=0
属性:Value=2
3)分区缺失副本数:UnderReplicated
ObjectName kafka.cluster:type=Partition,name=UnderReplicated,topic=test1,partition=0
属性:Value=0
4)集活跃controller个数:ActiveControllerCount
ller:type=KafkaController,name=ActiveControllerCount
属性:Value=0
5)分区LogEndOffset
ObjectName kafka.log:type=Log,name=LogEndOffset,topic=test1,partition=0
属性:Value=0
6)分区LogStartOffset
ObjectName kafka.log:type=Log,name=LogStartOffset,topic=test1,partition=0
属性:Value=0
7)分区segment个数:NumLogSegments
ObjectName kafka.log:type=Log,name=NumLogSegments,topic=test1,partition=0
属性:Value=25
8)分区存储⼤⼩:Size
ObjectName kafka.log:type=Log,name=Size,topic=test1,partition=0
属性:Value=20000000
9)broker⽹络空闲率:NetworkProcessorAvgIdlePercent
kafkawork:type=SocketServer,name=NetworkProcessorAvgIdlePercent
10)broker⼀分钟内平均每秒⼊流量,单位:字节
ObjectName kafka.server:type=BrokerTopicMetrics,name=BytesInPerSec
主要属性:
EventType=bytes
OneMinuteRate=102400000
RateUnit=SECONDS
11)topic在broker⼀分钟内平均每秒⼊流量,单位:字节
ObjectName kafka.server:type=BrokerTopicMetrics,name=BytesInPerSec,topic=test1主要属性:
EventType=bytes
OneMinuteRate=102400000
RateUnit=SECONDS
12)broker⼀分钟内平均每秒出流量,单位:字节
BytesOutPerSec(⼀分钟内平均每秒出流量,单位:字节)
ObjectName kafka.server:type=BrokerTopicMetrics,name=BytesOutPerSec
主要属性:
EventType=bytes
OneMinuteRate=102400000
RateUnit=SECONDS
kafka最新版本13)topic在broker⼀分钟内平均每秒出流量,单位:字节
ObjectName kafka.server:type=BrokerTopicMetrics,name=BytesOutPerSec,topic=test1主要属性:
EventType=bytes
OneMinuteRate=102400000
RateUnit=SECONDS
14)broker/topic平均每秒拒绝流量,单位:字节
kafka.server:type=BrokerTopicMetrics,name=BytesRejectedPerSec
kafka.server:type=BrokerTopicMetrics,name=BytesRejectedPerSec,topic=test1
15)broker/topic平均每秒失败抓取请求次数
kafka.server:type=BrokerTopicMetrics,name=FailedFetchRequestsPerSec
kafka.server:type=BrokerTopicMetrics,name=FailedFetchRequestsPerSec,topic=test1 16)broker/topic平均每秒失败⽣产请求次数
kafka.server:type=BrokerTopicMetrics,name=FailedProduceRequestsPerSec
kafka.server:type=BrokerTopicMetrics,name=FailedProduceRequestsPerSec,topic=test1 17)broker/topic平均每秒抓取请求总次数
kafka.server:type=BrokerTopicMetrics,name=TotalFetchRequestsPerSec
kafka.server:type=BrokerTopicMetrics,name=TotalFetchRequestsPerSec,topic=test1 18)broker/topic平均每秒⽣产请求总次数
kafka.server:type=BrokerTopicMetrics,name=TotalProduceRequestsPerSec
kafka.server:type=BrokerTopicMetrics,name=TotalProduceRequestsPerSec,topic=test1 19)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=SECONDS
20)⽤户在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=RequestHandlerAvgIdlePercent 22)Isr每秒扩展或收缩速率
kafka.server:type=ReplicaManager,name=IsrExpandsPerSec
属性:MeanRate
kafka.server:type=ReplicaManager,name=IsrShrinksPerSec
属性:MeanRate
23)broker上leader分区个数
kafka.server:type=ReplicaManager,name=LeaderCount
属性:Value
24)broker上分区个数
kafka.server:type=ReplicaManager,name=PartitionCount
属性:Value
25)⽤户在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-ratio IO线程等待时间
io-ratio IO线程执⾏时间
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-rate topic每秒⽣产字节
byte-total从客户端本次启动截⽌当前topic⽣产总字节
record-error-rate topic每秒错误记录数
record-error-total从客户端本次启动截⽌当前topic⽣产错误记录总数record-retry-rate topic每秒⽣产重试记录数
record-retry-total从客户端本次启动截⽌当前topic⽣产重试记录总数record-send-rate topic每秒⽣产记录数
record-send-total从客户端本次启动截⽌当前topic⽣产记录总数
2.2.5.消费者coordinator指标
指标名称指标描述
commit-latency-avg平均请求延迟,单位:毫秒commit-latency-max最⼤请求延迟,单位:毫秒commit-rate每秒提交次数
commit-total提交总次数
2.2.6.消费者fetch manager指标

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。