java - 卡夫卡连接。如何为连接器启用 jmx 指标

标签 java apache-kafka monitoring jmx apache-kafka-connect

如何为 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.serverkafka.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/

相关文章:

java - 如何实现 searchview 按城市/名称过滤用户?

python - 使用 WatchDog 忽略文件

java - 如何抓取访问方法的线程?

java - 如何将包从 jar 文件导入到在 tomcat 8 上运行的 servlet 中?

java - 如何测试 ConsumerAwareRebalanceListener?

configuration - kafka集群配置

monitoring - 如何使用collectl获取磁盘使用信息?

monitoring - Icinga2:每个服务基础的重新通知间隔

java - 从 Java 应用程序到大型机数据集的 FTP - 打开/关闭括号的问题

java - 相当于什么button3_Click(sender, e);在Java中?