【发布时间】:2021-06-14 14:57:22
【问题描述】:
我已按照此页面上的说明进行操作:https://docs.ksqldb.io/en/latest/operate-and-deploy/monitoring/
所以这是我的 docker-compose 的 ksqldb-server 部分:
ksqldb-server:
image: confluentinc/ksqldb-server:0.15.0
hostname: ksqldb-server
container_name: ksqldb-server
depends_on:
- kafka
- schema-registry
- kafka-connect
ports:
- "8088:8088"
- "1099:1099"
environment:
KSQL_LISTENERS: http://0.0.0.0:8088
KSQL_BOOTSTRAP_SERVERS: kafka:29092
KSQL_KSQL_LOGGING_PROCESSING_STREAM_AUTO_CREATE: "true"
KSQL_KSQL_LOGGING_PROCESSING_TOPIC_AUTO_CREATE: "true"
KSQL_KSQL_SCHEMA_REGISTRY_URL: http://schema-registry:8081
KSQL_KSQL_CONNECT_URL: http://kafka-connect:8083
KSQL_KSQL_QUERY_PULL_METRICS_ENABLED: "true"
KSQL_JMX_OPTS: >
-Djava.rmi.server.hostname=localhost
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=1099
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.rmi.port=1099
我在同一个 docker-compose 文件中设置了 Prometheus,当我访问 {prometheus-url}/targets 时,我看到了Get "http://ksqldb-server:1099/metrics": EOF
我在研究过程中已经尝试了很多配置,包括将-Djava.rmi.server.hostname 更改为主机的IP 地址或ksqldb-server 的容器IP 地址,但都没有奏效。有人有解决办法吗?
【问题讨论】:
-
我对 KSQLDb 没有任何经验,但我提交了一个关于如何在 confluent repos 中的 docker-compose 演示中处理 JMX 的问题。请参阅此 PR,它为经纪人 github.com/confluentinc/cp-all-in-one/pull/44 修复了它。也许 KSQL DB 也受到相同问题的影响。
-
@kentor 谢谢你的建议。我已经为 ksqldb 尝试过类似的解决方案,因为它也有人建议过。不幸的是,它对我不起作用。
-
你还没有添加 JMX 导出器,那
/metrics为什么要返回任何东西?
标签: docker apache-kafka docker-compose jmx ksqldb