是否有一种方法可以配置使用JMX_EXPORTER/PROMETHEUS捕获的KAFKA连接JMX指标



我正在为我们的kafka生态系统中的Kafka Connect设置监视。我已经启用了JMX出口商Kafka经纪人,并且工作正常。现在,我正在尝试为Kafka Connect启用JMX出口商。但是,目前还不清楚从哪里开始。

i只能修改connect-distributed.sh以启用更改。任何指针都是一个很好的补充。

kafka-run-class.sh被修改以使jmx_exporterhttp://<host>:9304/metrics

上发射JMX指标

我希望Kafka-connect启用jmx_exporter一旦启用http://<host>:19000/metrics的指标。

bin目录中修改脚本是高度不受欢迎的。将Kafka升级到下一个版本时,提取新的二进制文件将覆盖脚本中所做的更改。

首选的方法应该是在脚本外设置环境变量KAFKA_JMX_OPTS

导出kafka_jmx_opts =" -javaagent:/opt/kafka/libs/jmx_prometheus_javaagent-0.12.0.jar = 1127.0.0.0.0.0.0.0.0.0.0.0.1:10902:/etc/kafka cy/kafka-connect/jmx_ex_ex_ex_ex_ex_exporter.p>

如果在通过脚本启动KAFKA之前设置了VAR,则将使用VAR而不是/bin/kafka-server-start.sh

中定义的默认值

这个答案由>"我如何为kafka "设置Java选项?

四处挖掘我已经找到了该问题的解决方案。可以将Java代理添加到connect-distributed.sh,并开始很好地发射指标。

因此,在Kafka Connect框架上启用jmx_exporter

  1. 打开connect-distributed.sh
  2. 修改呼叫kafka-run-class.sh
  3. 的最后一行
exec $(dirname $0)/kafka-run-class.sh $EXTRA_ARGS org.apache.kafka.connect.cli.ConnectDistributed "$@"

到以下

exec $(dirname $0)/kafka-run-class.sh $EXTRA_ARGS -javaagent:/path/to/jmx_prometheus_javaagent-0.11.0.jar=9408:/path/to/config/file/prometheus.yml org.apache.kafka.connect.cli.ConnectDistributed "$@"

最新更新