Apache kafka jmx metrics与consumer-groups.sh脚本中的kafka消费者滞后

Apache kafka jmx metrics与consumer-groups.sh脚本中的kafka消费者滞后,apache-kafka,jmx,kafka-consumer-api,Apache Kafka,Jmx,Kafka Consumer Api,我正在为卡夫卡消费者和经纪人设置监控。监控服务器指标似乎相当琐碎,但我对卡夫卡消费者指标感到困惑 最初,我通过编程方式运行consumer-groups.sh descripe group脚本,获得了每个分区的主题的使用者延迟。还有一个关于消费者补偿的话题,我相信它也揭示了滞后性。但是我被告知这个滞后值不准确,我应该通过消费者主机上的jmx度量来获得它。有人能验证这是否正确以及原因吗?基本上,我想知道哪种方法最可靠,可以为消费者找到正确的滞后 这就是我被告知应该检索的内容:kafka.consu

我正在为卡夫卡消费者和经纪人设置监控。监控服务器指标似乎相当琐碎,但我对卡夫卡消费者指标感到困惑

最初,我通过编程方式运行consumer-groups.sh descripe group脚本,获得了每个分区的主题的使用者延迟。还有一个关于消费者补偿的话题,我相信它也揭示了滞后性。但是我被告知这个滞后值不准确,我应该通过消费者主机上的jmx度量来获得它。有人能验证这是否正确以及原因吗?基本上,我想知道哪种方法最可靠,可以为消费者找到正确的滞后

这就是我被告知应该检索的内容:kafka.consumer:type=consumer fetch manager metrics,client id={client id}属性:records lag max

问题是,如果没有提供端口,或者是否有默认端口,则不确定如何访问客户机服务器?是否所有卡夫卡消费者客户机都注册了jmx指标


谢谢

当然,并非所有的消费者都是Java客户机,但是对于那些这样的消费者来说,在那里公开的JMX指标将是最即时的更新,因为使用者知道什么数据被消耗以及何时被消耗。消耗的偏移量可以是同步的,也可以是异步的,只有这样才会出现在偏移量主题中

但是,如果您确实希望监视所有客户机的所有消费者组,那么您可以使用偏移主题和LinkedIn的Burrow等工具,轻松地获取有关该信息的REST API。Telegraf还有一个插件,用于将数据导出到公制存储中

如果没有指定端口或有默认端口,如何访问客户机服务器


您可以在Java客户机上启用JMX,就像在服务器和其他JVM进程上启用JMX一样。端口是您可以选择的

谢谢您的回复。您澄清了差异,是的,最简单的选择是监视偏移主题。但是,如果我可以从负责运行的使用者的开发人员那里获得所有jmx端口,那么jmx将是必需的选项。例如,如果客户机在Kubernetes或Mesos中作为容器运行,那么实现这一点就容易得多,您可以将Concur和Prometheus JMX exporter放在一起收集这些指标