首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用JMX监控ksqlDB

用JMX监控ksqlDB
EN

Stack Overflow用户
提问于 2021-03-17 09:25:32
回答 2查看 928关注 0票数 0

我遵循了本页的说明:https://docs.ksqldb.io/en/latest/operate-and-deploy/monitoring/

因此,这是我的ksqldb服务器的一部分,docker-组合:

代码语言:javascript
复制
  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

我已经将Prometheus安装在同一个坞-撰写文件中,当我访问{prometheus-url}/targets时,我看到了Get "http://ksqldb-server:1099/metrics": EOF

在我的研究中,我已经尝试过很多配置,包括将-Djava.rmi.server.hostname更改为主机的IP地址,或者更改为ksqldb-server的容器IP地址,但它们都没有工作。有人有解决办法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-09-24 10:29:16

那么,六个月后,我又一次处理了这个话题,我成功地设置了这个话题。这遵循了swist在我的GitHub问题中建议的方法,当时我也创建了这个问题。

  • 你需要JMX出口商。下载它这里
  • 您需要一个YAML文件,告诉JMX导出程序要导出哪些度量标准。你可以得到它这里。如果您只对ksqlDB度量感兴趣,请删除所有其他模式,例如卡夫卡模式。
  • 将JMX导出程序和YAML文件放在要监视ksqlDB实例的每个节点上。
  • 启动ksqlDB之前,创建环境变量KSQL_JMX_OPTS,如下所示: 出口-Dcom.sun.management.jmxremote.authenticate=false \ -Djava.util.logging.config.file=logging.properties \ -javaagent:BLUB/jmx_prometheus_javaagent.jar=7010:ksqldb.yml“\-Dcom.sun.management.jmxremote\ -Dcom.sun.management.jmxremote.ssl=false 您需要在每次有新会话时创建此变量,或者永久创建该变量。BLUB是通向JMX JAR的绝对路径。

现在您可以运行ksqlDB,并且可以在端口7010 (您可以指定任何其他空闲端口)上使用这些指标。如果您想拥有一个好的仪表板,请使用这个

票数 1
EN

Stack Overflow用户

发布于 2021-03-24 14:11:21

jmxremote.port值也不是一个恰当的Prometheus目标;它用于j控制台、Visualvm或其他JMX监控工具,正如您所链接的文档所示

如果您想使用Prometheus,您需要下载JMX导出代理JAR并将其挂载到容器中,并修改JVM参数以包括agent+scraper port+mbeans配置文件.

您还可以切换到使用minikube,并应用汇合ksqlDB Helm图,其中这是为你做的

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66670242

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档