监控策略
1、Kafka总体监控
leader 选举频率:kafka.controller:type=ControllerStats,name=LeaderElectionRateAndTimeMs
2、Kafka Broker监控
kafka集群中Broker列表,broker运行状况,包括node下线,活跃数量
Broker是否提供服务
失败的生产消息请求数量:阈值?
失败的数据获取请求数量:阈值?
消费比率(生产字节数/消费字节数):阈值?
kafka.server:type=BrokerTopicMetrics,name=BytesInPerSec
kafka.server:type=BrokerTopicMetrics,name=BytesOutPerSec
ISR 收缩频率:阈值?
kafka.server:type=ReplicaManager,name=IsrShrinksPerSec
kafka.server:type=ReplicaManager,name=IsrExpandsPerSec
未复制的分区数:阈值>1
kafka.server:type=ReplicaManager,name=UnderReplicatedPartitions
producer队列排队情况:阈值?
kafka.server:type=DelayedOperationPurgatory,delayedOperation=Produce,name=PurgatorySize
fetch队列排队情况:阈值?
kafka.server:type=DelayedOperationPurgatory,delayedOperation=Fetch,name=PurgatorySize
3、Kafka Controller监控
controller存活数目:kafka.controller:type=KafkaController,name=ActiveControllerCount 阈值<1
没有active controller的partition数量:【既不可读又不可写】阈值>0
kafka.controller:type=KafkaController,name=OfflinePartitionsCount
4、Topic监控
offset:logStartOffset和logEndOffset之差,阈值?
某个topic在某个broker上每秒写入的消息数量:
kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec
5、网络监控
处理一个请求所花费的总时间:阈值?
kafka.network:type=RequestMetrics,name=TotalTimeMs,request{Produce|FetchConsumer|FetchFollower}
6、Kafka Producer监控
producer数量,排队情况
请求响应时间
QPS/分钟:
7、Kafka Consumer监控
消费者落后生产者的消费条数:
consumer队列中排队请求数:
请求响应时间:
最近一分钟平均每秒请求数:
每秒产生的消息数量:
consumer发送给broker的请求最小速率(如果消费者不消费了或者挂了则趋于0):阈值>0.5
注:
broker :失败的生产消息请求数量,失败的数据获取请求数量,broker状态
partition: logStartOffset logEndOffset 之差
replica:收缩或者扩大的速度(Follower宕机,或者落后太多)
producer:等待请求数过多,延迟过期的请求数量
fetch-consumer:等待请求数过多,延迟过期的请求数量
网友评论