我正在Kafka生态系统中设置Kafka连接的监控。我已经启用了Kafka经纪人jmx出口商,工作良好。现在我正在尝试为kafka connect启用jmx导出程序。然而,现在还不清楚从哪里开始。
我只能修改 connect-distributed.sh
以启用更改。任何指针都是一个很好的补充。 kafka-run-class.sh
已修改为启用 jmx_exporter
在上发出jmx度量 http://<host>:9304/metrics
我希望Kafka的连接能够在 http://<host>:19000/metrics
一旦 jmx_exporter
已启用。
2条答案
按热度按时间h7appiyu1#
我已经找到了解决这个问题的办法。java代理可以添加到
connect-distributed.sh
并开始很好地发出指标。所以启用
jmx_exporter
论Kafka连接框架打开
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 "$@"
41ik7eoe2#
在中修改脚本
bin
目录是非常不推荐的。将kafka升级到下一个版本时,提取新的二进制文件将覆盖脚本中所做的更改。首选的方法应该是设置环境变量
KAFKA_JMX_OPTS
在脚本之外:export kafka\u jmx\u opts=“-javaagent:/opt/kafka/libs/jmx\u prometheus\u javaagent-0.12.0.jar=127.0.0.1:10902:/etc/kafka connect/jmx\u exporter.yaml”
如果在通过脚本启动kafka之前设置了var,那么它将使用var,而不是中定义的默认值
/bin/kafka-server-start.sh
这个答案被我如何为Kafka设置java选项所验证?