我们有多个通过 Kafka 连接的生产者和多个消费者 - 基本上,它是按需创建的批处理作业,放在 Kafka 的几个队列中,批处理器通过 Kafka 接收它们并逐一处理。
我想可视化并监控 Kafka 中这些队列的长度。队列长度将作为整个系统“负载”的代理。队列中等待的作业越多,系统的“负载”就越大。
我们的 Kafka 是一个 AWS MSK 集群。我已启用 Prometheus JMX 监控,并且每 10 秒抓取一次所有指标。
查看指标,队列长度方面没有立即显现出任何明显特征。该参数是否默认作为指标公开?
如果默认情况下不公开队列长度,那么收集该指标的好方法是什么?假设我可以使用安装的任何库编写 Python 脚本,并且我可以从中获得对 Kafka 端点的完全访问权限。
注意:我理解基本概念,但我对 Kafka 的实际经验并不多(我之前只使用过 RabbitMQ),因此如果我的词汇不够准确,请见谅。例如,我所说的“队列”显然被称为“主题”。