如何为 Kafka 连接器启用 jmx 指标?我正在运行分布式连接。
我通过在 kafka-run-class.sh
中启用 JMX_PORT
为 Kafka 启用了 jmx 指标。
现在虽然它已经开始给我很多与 Kafka 相关的指标,但我仍然看不到下面链接中提到的特定于连接器的指标 http://kafka.apache.org/documentation.html#connect_monitoring .
以下域可用
- JMI实现
- com.sun.management
- java.lang
- java.nio
- java.util.logging
- 卡夫卡
- kafka 集群
- kafka.controller
- kafka.coordinator.group
- kafka.coordinator.transaction
- kafka.log
- kafka.network
- kafka.server
- kafka.utils
最佳答案
评论中提到的问题 - 您确定您连接到正确的 Java 实例而不是 Kafka broker JMX 指标吗?因为 kafka.server
和 kafka.controller
都不应该用于 ConnectDistributed 进程。 (你应该看看你所连接的进程的主类)
只有一个属性,JMX_PORT
,它由 Kafka 代理和 Kafka 连接器(以及 Zookeeper、Schema Registry、KSQL 等)共享...如果您不使用不同的每个端口,然后您尝试运行的每个下一个进程都将无法启动,表示端口已经打开
如果您有可用的硬件,或者可以在一台机器(Docker 或 VM)上隔离组件,那么这是一种重新映射端口的简单方法。
否则,你需要做类似的事情
export JMX_PORT=35000 # pick a number
zookeeper-server-start...
export JMX_PORT=35001 # pick a number
kafka-server-start...
export JMX_PORT=35002 # pick a number
connect-distributed...
然后,为每个 JVM 附加适当的端口
然后,当您对此感到满意时,我会建议您在生产部署设置上找到 Confluent 白皮书,其中 Connect 至少(与所有其他生产者和消费者一样)正在运行实际代理.
关于java - 卡夫卡连接。如何为连接器启用 jmx 指标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53556124/