我正在使用 Prometheus 收集用 Java 8(没有 Spring)编写的应用程序的指标。 我使用 Kafka Stream 进行读取,使用 Kafka Producer 进行发布。
我想公开应用程序使用的 Kafka 客户端的指标,例如计算发送到每个主题的消息、读取的记录数、延迟、发布数等...
我尝试使用Prometheus内置的Collectors,例如计数器和直方图。它们工作正常,但问题是我必须记录从 Kafka 发送或读取数据的每个方法,这要么是大量代码重复,要么是对应用程序的巨大重构。
不知道其他人是否遇到过这个问题并有更好的解决方案。
内置的 Kafka 指标包括发送的记录字节数和消费者偏移滞后。如果您想计算每个客户端实例的记录数或某些处理的延迟,这不会导致任何重复的代码,因为 Kafka 不包含它。