我正在我们的Kafka生态系统中设置对Kafka Connect的监视。我为kafka经纪人启用了JMX导出器,并且工作正常。现在,我正在尝试为kafka connect启用JMX导出器。但是,不清楚从哪里开始。
我只能修改connect-distributed.sh
来启用更改。任何指针都将是一个很好的补充。
kafka-run-class.sh
被修改为使jmx_exporter
能够在http://<host>:9304/metrics
上发出jmx指标
我希望一旦启用http://<host>:19000/metrics
,kafka-connect将在jmx_exporter
上发布指标。
答案 0 :(得分:4)
强烈不建议在bin
目录中修改脚本。将Kafka升级到下一版本时,提取新的二进制文件将覆盖脚本中所做的更改。
首选方法应该是在脚本外部设置环境变量KAFKA_JMX_OPTS
:
export KAFKA_JMX_OPTS =“-javaagent:/opt/kafka/libs/jmx_prometheus_javaagent-0.12.0.jar=127.0.0.1:10902:/etc/kafka-connect/jmx_exporter.yaml”
如果在通过脚本启动Kafka之前设置了var,它将使用var代替/bin/kafka-server-start.sh
中定义的默认值
这个答案受How do I set the Java options for Kafka的影响吗?
答案 1 :(得分:0)
到处走走我找到了解决该问题的方法。可以将Java代理添加到connect-distributed.sh
中,并开始很好地发出度量标准。
因此在Kafka Connect框架上启用jmx_exporter
connect-distributed.sh
kafka-run-class.sh
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 "$@"