java - 使用额外的第三方插件运行 kafka 服务器,用于统计数据收集、日志记录等

标签 java plugins apache-kafka jvm

来自ActiveMQ背景。 ActiveMQ 使用 spring xml 配置文件来运行代理,我们可以注入(inject)任何第 3 方插件,例如自定义统计收集器、使用 spring 配置文件中的 beans 的自定义日志记录插件。

对于 Kafka,我想重复使用相同的统计信息收集器插件,并与 Kafka 一起启动它来收集其他系统统计信息,例如线程、CPU 等。

在仔细阅读 Kafka 文档后我还没有找到方法。有人对此有可行的解决方案吗?这是否可以在不修改 Kafka 源的情况下实现?

任何帮助将不胜感激。谢谢!

最佳答案

没有可修改的源代码。您可以使用任何 JMX 指标收集器或 Java 代理。

如果您想要 DIY 方法,Prometheus Java 代理很受欢迎,或者有供应商产品(例如 DataDog)提供 Java 代理。

对于您使用的任何工具,您可以通过 KAFKA_OPTS 注入(inject)运行时参数

对于 Prometheus JMX 导出器,

export KAFKA_OPTS='-javaagent:/path/to/jmx_prometheus_javaagent-0.9.jar=7071:/path/to/kafka-patterns.yml'
kafka-server-start /path/to/server.properties

日志记录由 SLF4J 处理,因此您可以根据需要进行配置,默认记录器是 log4j

关于java - 使用额外的第三方插件运行 kafka 服务器,用于统计数据收集、日志记录等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54310407/

相关文章:

java - 卡夫卡生产者非常慢

java - JPA - 通过对象集合中的多个属性查找

android - 在哪里可以找到 Eclipse IDE 的 Android 开发工具 (ADT) 插件的源代码?

javascript - 类似 treeview 的 jquery 插件

c# - 在 .NET 中使用 MEF 仅获取必要的插件

apache-kafka - Kafka独立消费者

java - Kafka 生产者无法发送消息,出现 NOT_LEADER_FOR_PARTITION 异常

java生成30到32位范围内的随机数

java - 单击时表格行的背景颜色

java - 使用 OpenCV 匹配多个对象