我正在为kafka消费者和经纪人设置监控。监视服务器指标似乎微不足道,但是我对kafka使用者指标特别是滞后感到困惑。
最初,我获得了每个分区上运行Consumer-groups.sh的每个分区的主题上的消费者滞后。sh以编程方式描述了组脚本。我还相信有一个Consumer_offsets主题也揭示了这一滞后。但是我得知此滞后值不准确,我应该通过使用者主机上的jmx指标来获得它。有人可以验证这是正确的,为什么吗?基本上,我想知道哪种方法是为消费者找到正确滞后的最可靠方法。
这是我应该获取的信息:kafka.consumer:type = consumer-fetch-manager-metrics,client-id = {client-id}属性:records-lag-max
问题是,如果没有给定端口,是否不确定如何访问使用者客户端服务器?是否有默认端口?所有kafka消费者客户也都注册jmx指标吗?
谢谢
答案 0 :(得分:1)
嗯,并不是所有的使用者都将是Java客户端,但是对于那些使用者来说,暴露的JMX度量标准将得到最及时的更新,因为使用者知道使用什么数据以及何时使用数据。消耗的偏移量可能会阻止同步或异步,只有这样才能最终出现在偏移量主题中。
但是,如果您想监视所有客户端的所有消费者组,则可以使用offsets主题和诸如LinkedIn的Burrow之类的工具来轻松获取有关该信息的REST API。 Telegraf还有一个用于将该数据导出到度量标准存储中的插件
如果未提供端口或此端口是否具有默认端口,如何访问使用者客户端服务器
您将在与服务器和其他JVM进程相同的Java客户端上启用JMX。端口是您会选择的