问题标签 [jmxmp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
7066 浏览

java - 在哪里下载 JMXMP?

我想通过 JMX 远程使用 VisualVM 分析 Java 应用程序。因为它是一个经过 NAT 和防火墙的 EC2 实例,所以我不能使用默认的 RMI 方法,需要使用可选的 JMXMP 扩展,我必须先下载它。

注意 – 如果您想使用 JMXMP 连接器,请从 下载 JSR 160 参考实现,并将 JMXREMOTE_OPTIONAL.JAR 文件添加到您的 CLASSPATH 中。您将在 JSR 160 参考实现随附的 JMX 远程 API 教程中找到使用 JMXMP 连接器的示例。

http://docs.oracle.com/javase/6/docs/technotes/guides/jmx/overview/connectors.html

但是当我去那个页面时,我找不到下载。事实上,谷歌找不到下载。我在哪里可以得到这些扩展?

0 投票
2 回答
1879 浏览

java - 如何在 Tomcat 中启用 JMXMP?

我已经下载了 JMXMP 扩展并将它们安装在 Tomcat 的 lib 目录中。现在,我怎样才能让它使用它们,即让 Tomcat 接受 JMXMP 连接?

  • Oracle 的示例展示了如何使用代码来完成此操作,为此我必须编写自己的侦听器,我宁愿将其保留作为最后的手段。
  • Tomcat 的 JMX 侦听器似乎不包括 JMXMP 支持。
0 投票
1 回答
195 浏览

jmx - JRockit jmxmp 支持

我正在尝试使用 JRockit 5.2(JDK7u51 附带)通过 JMXMP 连接器与 MBean 服务器连接,但我无法为 JRocket 添加 jmxmp 连接器支持。当我尝试连接时,JRockit 告诉我不支持的协议。

有什么建议吗?

0 投票
1 回答
159 浏览

jmx - JMX 连接器的参考实现?

我希望为具有自己的有线协议的现有服务器项目实现 JMX连接器,其中连接器重用相同的有线协议。

谁能告诉我在哪里可以找到参考连接器的来源?JMXMP 实现将是理想的灵感来源,但事实证明这很难追踪。

0 投票
1 回答
568 浏览

java - 为现有 Java 应用程序添加 JMXMP 侦听器

我需要在不更改任何代码的情况下将 JMXMP 侦听器添加到现有 Java 应用程序。经典的基于 RMI 的协议在目标环境中不起作用对防火墙的限制。

换句话说:我想通过将 jmx_remote-optional 添加到类路径和一些类似于 RMI 连接器的 com.sun.management.jmxremote 的 env 属性来访问进程的 JMX。

我在各种文档中找不到任何东西——我设法在目标环境中使用 JMXMP 和 Tomcat(添加了一个从配置中读取端口的 LifecycleEventListener)和另一个我明确启动监听​​器的程序。

0 投票
2 回答
225 浏览

java - 哪个jar包含com.sun.jdmk.security.sasl.Provider类文件

我正在实现“Java Dynamic Management Kit 5.1 Tutorial”Oracle 文档中的“具有简单安全性的 JMXMP 连接器”示例。在哪里可以找到示例的源代码?

此外,哪个 jar 包含 jar com.sun.jdmk.security.sasl.Provider 或者是否已弃用。

0 投票
1 回答
1402 浏览

jmx - 使用 JMXMP 的 JMX 连接挂起

我正在尝试使用以下代码从 java 客户端建立到我的 tomcat 实例的 JMX 连接。

在哪里

主机 = 运行我的 tomcat 实例的远程机器

端口 = 启用 jmx 的端口。在我的代码中是 9840

我的 tomcat setenv.sh 文件使用以下配置进行编辑以启用 JMX

但是,当我执行程序时,它挂在第 2 行。

如果我将第 1 行更改为 JMXServiceURL target = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://<host>:<port>/jmxrmi") 使用 RMI 而不是 JMXMP,它将执行并且我能够访问各种 MX bean。

所以,如果我使用 JMXMP 协议,我将无法连接。如果我使用 RMI 协议,我可以连接。当我使用 JMXMP 时可能出了什么问题?

谢谢, nks

0 投票
0 回答
2402 浏览

java - Zookeeper 的 JMX 客户端

我正在尝试为自定义监控 Web 应用程序的 Zookeeper 实例锻炼 JMX Java 客户端。如文档中所述,Zookeeper 通过 JMX MBeans 提供各种统计信息

对于练习,我使用以下参数在 Windows 7 Enterprise 上以独立模式在本地运行 Zookeeper 实例:-

运行我的 zookeeper 实例后,我可以使用正确显示所有统计信息的JConsole连接到 JMX bean:-

Jconsole 屏幕

问题

尝试使用我自己的代码进行连接时 java.net.ConnectException: Connection refused: connect出现错误。我正在尝试的代码:-

尝试使用Java Visual VM连接时遇到同样的问题。

使用 Java 代码连接到 Zookeeper MBean 的正确方法是什么?

更新 1

有 4 年未解决的JIRA 票似乎在说有两种端口可以发挥作用 - jmx 端口和 rmi 端口。rmi 端口是随机生成的,我猜这是创建连接时需要的。

但是 JConsole 是如何连接的呢?

更新 2

博客说通过 RMI 协议与远程 JMX 服务器通信可能会出现问题,并建议改用 JMXMP(JMX 消息传递协议)。现在我该怎么做呢?

0 投票
1 回答
1087 浏览

docker - Datadog-agent 在 docker 容器中旋转输出 JMX RMI 连接错误

我的数据狗代理拒绝连接,该代理试图从其自己的 docker 容器中存在的内部应用程序收集 JMX(通过 RMI)指标。但是,jconsole 能够从存在于其自己的 docker 容器中的应用程序中收集指标。datadog-agent 存在于它自己的容器中。两个容器都存在于同一主机上的同一网络中。有任何想法吗?我查看了其他堆栈溢出问题。

  • 已在自定义 jmx.yaml 文件 /etc/dd-agent/conf.d/jmx.yaml 中尝试了 IP 地址 0.0.0.0 和特定主机地址

Docker 容器 0:
* 运行输出 kafka 流指标的 my_streams_app
* 通过以下方式执行:

  • jconsole 能够获取发出的指标。

Docker 容器 1:
* 在容器内运行 datadog-agent * Datadog-agent 使用 JMX 默认 (RMI) 从上面容器 0 中存在的 my_streams_app 获取指标。
* 两个容器在同一主机(我的笔记本电脑 MAC OSX)内的同一网络上运行
* 能够从 docker 容器中的 datadog-agent 中的 netcat 到另一个容器中的 my_streams_app ip 和端口。使用 0.0.0.0 和 9998,还可以使用特定 IP 地址
* 命令从容器内运行 datadog 代理

  • 用于通过 datadog jmx 从容器内收集指标的 jmx 配置:

    实例:

    • 主机:0.0.0.0 端口:9998 标签:newTag:my_streams jmx_url:“服务:jmx:rmi:///jndi/rmi://0.0.0.0:9998/jmxrmi” 名称:jmx_instance

    docker_images: - my_streams_app

    init_config: is_jmx: true conf: - include: domain: '"kafka.streams"' bean: '"kafka.streams":type="stream-metrics",client-id="my_test-1-StreamThread-1"'属性:commit-calls-rate:metric_type:gauge commit-time-avg:metric_type:gauge commit-time-max:metric_type:gauge poll-calls-rate:metric_type:gauge

JConsole:
* 从 docker 容器 0 中的 my_streams_app 收集指标,上面通过:

错误输出:

rmir​​egistry 已根据Failed to retrieve RMIServer stub启动

0 投票
1 回答
993 浏览

java - 如何使用自定义 JMX 服务器使用 TLS 和 JMXMP 对用户和密码进行身份验证

我正在使用以下代码按照 Oracle 文档创建具有 TLS 和 JMXMP 的自定义 JMX 服务器。它运行良好,我可以毫无问题地连接到服务器,但是我想在身份验证中添加“USER”和“PASSWORD”,但是指定“password.properties”和“access.properties”不起作用, JMX 似乎忽略了这两个选项。有人可以阐明配置 USER 和 PASSWORD 并纠正此问题的正确方法吗?谢谢