0

我正在使用 docker 运行 corda 节点,并且正在尝试使用 Jolokia 公开 JMX 指标。我的 node.conf 如下:

devMode = true

jarDirs = ["/opt/corda"]
p2pAddress = "bankb:10002"
jmxMonitoringHttpPort = 10006

rpcSettings {
    useSsl = false
    address = "bankb:10003"
    adminAddress = "bankb:10005"
}

myLegalName = "O=BankB, L=London, C=GB"
keyStorePassword = "cordacadevpass"
trustStorePassword = "trustpass"

rpcUsers=[
    {
        username=corda
        password=corda_initial_password
        permissions=[
            ALL
        ]
    }
]

我可以在日志中看到 Jolokia 正在启动:

bankb       | I> Using policy access restrictor classpath:/jolokia-access.xml
bankb       | Jolokia: Agent started with URL http://127.0.0.1:10006/jolokia/

但我无法使用浏览器连接到 Jolokia 端点,我相信这是因为它只绑定到内部网络接口。如果corda config没有公开为什么要配置绑定网络接口,我如何定义Jolokia将绑定到的主机?

https://docs.corda.net/corda-configuration-file.html

4

2 回答 2

1

您必须通过 docker 公开端口。

如果您查看https://docs.docker.com/engine/reference/commandline/run/尤其是标题为“发布或公开端口(-p,--expose)”的部分,它将解释如何向您的主机公开端口.

于 2019-06-18T08:49:07.340 回答
0

更新 Groups.io讨论的实际答案

  1. 从 node.conf 文件中删除 jmxMonitoringHttpPort 参数
  2. 启动 Corda 进程如下:

    java -Dcapsule.jvm.args="-javaagent:drivers/jolokia-jvm-1.3.7-agent.jar=port=10006,host=0.0.0.0" -jar ${CORDA_HOME}/corda.jar 2>&1

于 2019-06-20T06:02:55.867 回答