grafana监控kafka消息参数描述
2.3 预警指标分析
kafka.rver:type=ReplicaManager,name=UnderReplicatedPartitions **
含义: 正在复制的 Partition 的数量.
建议报警阈值: > 0 就建议报警. 但如果 Kafka 集群正在 reassign partition 时, 这个值也会 >0
人体健康
含义: 没有 Leader 的 Partition 的数量. 处于这个状态的 Partition 是不可读也不可写
建议报警阈值: >0 ⼀旦出现就报警.
含义: 活跃的 Controller 的数量.
建议报警阈值: != 0 就赶紧报警
kafka.rver:type=ReplicaManager,name=PartitionCount
含义: 集群中 Partition 的总数
建议报警阈值: 感觉这个报警不可控.
kafka_controller_controllerstats_leaderelectionrateandtimems
含义: Leader election rate 领导⼈选举率
UncleanLeaderElectionsPerSec
含义: Unclean leader election rate 争议的 leader 选举次数
描述:所有的topic的消息速率(消息数/秒)
Mbean名:“kafka.rver”:name=“AllTopicsMessagesInPerSec”,type=“BrokerTopicMetrics”
正常的值:
描述:所有的topic的流⼊数据速率(字节/秒)
陆剑雄
Mbean名:“kafka.rver”:name=“AllTopicsBytesInPerSec”,type=“BrokerTopicMetrics”二年级课外阅读故事
正常的值:
描述:producer或Fetch-consumer或Fetch-follower的请求速率(请求次数/秒)
Mbean名:“kafkawork”:name="{Produce|Fetch-consumer|Fetch-follower}-RequestsPerSec",type=“RequestMetrics”正常的值:
描述:所有的topic的流出数据速率(字节/秒)
Mbean名: “kafka.rver”:name=“AllTopicsBytesOutPerSec”,type=“BrokerTopicMetrics”
正常的值:
描述:刷⽇志的速率和耗时
Mbean名: “kafka.log”:name=“LogFlushRateAndTimeMs”,type=“LogFlushStats”
正常的值:
描述:正在做复制的partition的数量(|ISR| < |all replicas|)
其乐融融的近义词
Mbean名:“kafka.rver”:name=“UnderReplicatedPartitions”,type=“ReplicaManager”
正常的值:0
描述:当前的broker是否为controller
Mbean名:“ller”:name=“ActiveControllerCount”,type=“KafkaController”
正常的值:在集群中只有⼀个broker的这个值为1
描述:选举leader的速率
Mbean名:“ller”:name=“LeaderElectionRateAndTimeMs”,type=“ControllerStats”
正常的值:如果有broker挂了,此值⾮0
描述:Unclean的leader选举速率
Mbean名:“ller”:name=“UncleanLeaderElectionsPerSec”,type=“ControllerStats”
正常的值:0
描述:该broker上的partition的数量
Mbean名: “kafka.rver”:name=“PartitionCount”,type=“ReplicaManager”
正常的值:应在各个broker中平均分布
烀猪头描述:Leader的replica的数量
Mbean名: “kafka.rver”:name=“LeaderCount”,type=“ReplicaManager”
正常的值:应在各个broker中平均分布
描述:ISR的收缩(shrink)速率坚定不移的意思
Mbean名:“kafka.rver”:name=“ISRShrinksPerSec”,type=“ReplicaManager”
正常的值:如果⼀个broker挂掉了,⼀些partition的ISR会收缩。当那个broker重新起来时,⼀旦它的replica完全跟上,ISR会扩⼤(expand)。除此之外,正常情况下,此值和下⾯的扩⼤速率都是0。
描述:ISR的扩⼤(expansion)速率
Mbean名: “kafka.rver”:name=“ISRExpandsPerSec”,type=“ReplicaManager”
正常的值:参见ISR的收缩(shrink)速率
描述:follower落后leader replica的最⼤的消息数量
Mbean名:“kafka.rver”:name="([-.\w]+)-MaxLag",type=“ReplicaFetcherManager”
正常的值:⼩于replica.ssages
腊肉炖豆腐
描述:每个follower replica落后的消息速率
Mbean名:“kafka.rver”:name="([-.\w]+)-ConsumerLag",type=“FetcherLagMetrics”
正常的值:⼩于replica.ssages
小蝌蚪找妈妈绘本描述:等待producer purgatory的请求数
Mbean名:“kafka.rver”:name=“PurgatorySize”,type=“ProducerRequestPurgatory”
正常的值:如果ack=-1,应为⾮0值
描述:等待fetch purgatory的请求数
Mbean名:“kafka.rver”:name=“PurgatorySize”,type=“FetchRequestPurgatory”
正常的值:依赖于consumer的fetch.wait.max.ms的设置
描述:⼀个请求(producer,Fetch-Consumer,Fetch-Follower)耗费的所有时间
Mbean名:“kafkawork”:name="{Produce|Fetch-Consumer|Fetch-Follower}-TotalTimeMs",type=“RequestMetrics”
正常的值:包括了queue, local, remote和respon nd time
描述:请求(producer,Fetch-Consumer,Fetch-Follower)在请求队列中的等待时间
Mbean名:“kafkawork”:name="{Produce|Fetch-Consumer|Fetch-Follower}-QueueTimeMs",type=“RequestMetrics”
正常的值:
描述:请求(producer,Fetch-Consumer,Fetch-Follower)在leader处理请求花的时间
Mbean名:“kafkawork”:name="{Produce|Fetch-Consumer|Fetch-Follower}-LocalTimeMs",type=“
RequestMetrics”
正常的值:
描述:请求(producer,Fetch-Consumer,Fetch-Follower)等待follower花费的时间
Mbean名:“kafkawork”:name="{Produce|Fetch-Consumer|Fetch-Follower}-RemoteTimeMs",type=“RequestMetrics”
正常的值:producer的ack=-1时,⾮0才正常
描述:发送响应花费的时间
Mbean名:“kafkawork”:name="{Produce|Fetch-Consumer|Fetch-Follower}-ResponSendTimeMs",type=“RequestMetrics”
正常的值:
描述:consumer落后producer的消息数量
Mbean名:“sumer”:name="([-.\w]+)-MaxLag",type=“ConsumerFetcherManager”
正常的值:
建议对GC耗时和其他参数和诸如系统CPU,I/O时间等等进⾏监控。在client端,建议对"消息数量/字节数"的速率(全局的和对于每⼀个topic),请求的"速率/⼤⼩/耗时"进⾏监控。还有consumer端,所有partition的最⼤的落后情况和最⼩的fetch请求的速率。consumer为了能跟上,最⼤落后数量需要少于⼀个threshold并且最⼩fetch速率需要⼤于0.