如果生产者端确认滞后非常高,应该监控哪些 Kafka 代理指标
What Kafka broker metrics should be monitored if producer side ack lag is very high
如果生产者端的确认延迟非常高,是否可以使用一些代理指标来监控 Kafka 代理。
我们正在使用 datadog 来监控生产者和 Kafka 代理端。可以看出producer ack lag超过10秒。但是,在经纪人方面,我觉得只使用 message.in.rate
和 kafka.net.bytes_in.rate
效率不是很高。最好我们可以在代理端有一些 LAG 指标来指示 the broker is fully loaded to acknowledge back the producer.
此外,我们只使用 kafka.acks = 1
作为分区领导者。
不知道有没有人有这方面的经验,欢迎指教。 :) 提前致谢。
我猜你说的是 "metrics" 而不是矩阵!
在 Producer 上,您有 kafka.producer:type=producer-metrics,client-id="{client-id}"
。该指标有 2 个有趣的属性:
request-latency-avg:以毫秒为单位的平均请求延迟
request-latency-max:以毫秒为单位的最大请求延迟
在经纪人方面,您需要检查一些指标来调查您的问题:
- 消息转换时间:如果生产者使用比代理更旧的消息格式,则会发生向下转换。
kafka.network:type=RequestMetrics,name=MessageConversionsTimeMs,request=Produce
Request total time:Kafka处理请求的总时间。 kafka.network:type=RequestMetrics,name=TotalTimeMs,request=Produce
如果这个值偏高,您可以查看细分指标:
- 请求在请求队列中等待的时间:
kafka.network:type=RequestMetrics,name=RequestQueueTimeMs,request=Produce
- 领导者处理请求的时间:
kafka.network:type=RequestMetrics,name=LocalTimeMs,request=Produce
- 请求在响应队列中等待的时间:
kafka.network:type=RequestMetrics,name=ResponseQueueTimeMs,request={Produce|FetchConsumer|FetchFollower}
- 发送响应的时间:
kafka.network:type=RequestMetrics,name=ResponseSendTimeMs,request=Produce
Kafka文档中的metrics recommended to monitor列表中都列出了这些:http://kafka.apache.org/documentation/#monitoring
如果生产者端的确认延迟非常高,是否可以使用一些代理指标来监控 Kafka 代理。
我们正在使用 datadog 来监控生产者和 Kafka 代理端。可以看出producer ack lag超过10秒。但是,在经纪人方面,我觉得只使用 message.in.rate
和 kafka.net.bytes_in.rate
效率不是很高。最好我们可以在代理端有一些 LAG 指标来指示 the broker is fully loaded to acknowledge back the producer.
此外,我们只使用 kafka.acks = 1
作为分区领导者。
不知道有没有人有这方面的经验,欢迎指教。 :) 提前致谢。
我猜你说的是 "metrics" 而不是矩阵!
在 Producer 上,您有 kafka.producer:type=producer-metrics,client-id="{client-id}"
。该指标有 2 个有趣的属性:
request-latency-avg:以毫秒为单位的平均请求延迟
request-latency-max:以毫秒为单位的最大请求延迟
在经纪人方面,您需要检查一些指标来调查您的问题:
- 消息转换时间:如果生产者使用比代理更旧的消息格式,则会发生向下转换。
kafka.network:type=RequestMetrics,name=MessageConversionsTimeMs,request=Produce
Request total time:Kafka处理请求的总时间。
kafka.network:type=RequestMetrics,name=TotalTimeMs,request=Produce
如果这个值偏高,您可以查看细分指标:
- 请求在请求队列中等待的时间:
kafka.network:type=RequestMetrics,name=RequestQueueTimeMs,request=Produce
- 领导者处理请求的时间:
kafka.network:type=RequestMetrics,name=LocalTimeMs,request=Produce
- 请求在响应队列中等待的时间:
kafka.network:type=RequestMetrics,name=ResponseQueueTimeMs,request={Produce|FetchConsumer|FetchFollower}
- 发送响应的时间:
kafka.network:type=RequestMetrics,name=ResponseSendTimeMs,request=Produce
- 请求在请求队列中等待的时间:
Kafka文档中的metrics recommended to monitor列表中都列出了这些:http://kafka.apache.org/documentation/#monitoring