问题标签 [jconsole]
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.
java - 无法使用 JConsole 远程连接到 weblogic 服务器
我需要使用 JConsole 监视在远程机器上运行的 weblogic 服务器。就目前而言,当我尝试在我的机器上测试所有东西时,我正在尝试让它在我的机器上远程工作,当它工作时,我将在服务器上进行必要的更改,但随着应用程序在该服务器正在用于其他用户我无法进行更改并经常停止/启动服务器。所以,我使用我的电脑作为服务器,并使用 JConsole “远程”连接。
环境:我的电脑和服务器都运行WL 10.3;服务器运行 Java Sun JDK 1.6.0_27 和 Solaris OS,我的电脑运行 Java Sun JDK 1.6.0_26 和 Ubuntu OS。
我能够本地连接,运行 JConsole 并单击 weblogic 进程。
应用程序部署非常大,它运行一些脚本。创建 weblogic 的域时,我设置了以下属性:
我还在某个时候添加了这个属性 -Djava.rmi.server.hostname= --> 我既没有使用 localhost 也没有使用 127.0.0.1,但它没有区别
然后,我从控制台运行 jconsole -debug 并尝试使用以下服务 url 连接远程选项(我尝试不同的):
1099 是 rmiregistry 运行的端口,但是我必须使用 rmiregistry & 手动启动它,否则该端口没有监听。
当应用程序运行时,我运行 netstat 命令,虽然我看到端口 8080、8081(SSL 端口)和我的管理控制台的端口(它不是默认的 7001)我没有看到端口 22222 正在监听,我认为我应该,对吧?
我什至在 weblogic.policy 中添加了以下内容:
在应用程序部署时的控制台中,我看到:
连接器服务器地址 = service:jmx:iiop://:8080/jndi/weblogic.management.mbeanservers.edit
Connector Server Address = service:jmx:rmi://127.0.0.1/stub/rO0ABXNyAC5qYXZheC5tYW5hZ2VtZW50LnJlbW90ZS5ybWkuUk1JU2VydmVySW1wbF9TdHViAAAAAAAAAAICAAB4cgAaamF2YS5ybWkuc2VydmVyLlJlbW90ZVN0dWLp/tzJi+FlGgIAAHhyABxqYXZhLnJtaS5zZXJ2ZXIuUmVtb3RlT2JqZWN002G0kQxhMx4DAAB4cHc0AAtVbmljYXN0UmVmMgAACTEyNy4wLjEuMQAAxMelHYZki5P74FdoVWYAAAEzsm1U1oACAHg=
连接器 JMX 准备就绪:service:jmx:rmi:///jndi/rmi://usuario-System-Product-Name:22222/jmxrmi
我也尝试了这些,但没有成功。
我能够连接的唯一方法是,如果我首先使用 pid 在本地访问,然后在控制台中我得到一个类似于我在日志中得到的服务 url:
service:jmx:rmi://127.0.0.1/stub/rO0ABXNyAC5qYXZheC5tYW5hZ2VtZW50LnJlbW90ZS5ybWkuUk1JU2VydmVySW1wbF9TdHViAAAAAAAAAAICAAB4cgAaamF2YS5ybWkuc2VydmVyLlJlbW90ZVN0dWLp/tzJi+FlGgIAAHhyABxqYXZhLnJtaS5zZXJ2ZXIuUmVtb3RlT2JqZWN002G0kQxhMx4DAAB4cHc0AAtVbmljYXN0UmVmMgAACTEyNy4wLjEuMQAAgDBSpbjGvIybrBekgUYAAAEzsm9/YIASAHg=
在我能够连接的远程部分中使用这个 url,它与记录的那个相似但不一样,顺便说一句,它不起作用。
使用 -debug 时我在 JConsole 控制台中遇到的错误是:
我在控制台中遇到的一些错误是,它们不是随机的。我的意思是,当我尝试不同的 url、手动运行/不运行 rmiregistry 等时出现不同的错误:
注意:当我使用时,我的意思是 172.xx.xxx.xxx
我究竟做错了什么?我还应该设置/检查/更改什么?
好吧,我进行了一些更改,但仍然无法使其正常工作。
我设置
我将身份验证属性更改为 false 并添加了 java.rmi.server.hostname,其中 ADMIN_HOST 是设置为我计算机 ip 172.17.209.66 的变量。
当我在 JConsole 中使用服务 url 时:service:jmx:rmi:///jndi/rmi://172.17.209.66:22222/jmxrmi
我得到以下异常
在我的应用程序日志中,我看到以下内容:
连接器 JMX 准备就绪:service:jmx:rmi:///jndi/rmi://usuario-System-Product-Name:22222/jmxrmi
/etc/hosts 显示:
172.17.209.65 usuario-System-Product-Name # 由 NetworkManager 添加 127.0.0.1 localhost.localdomain localhost ::1 usuario-System-Product-Name localhost6.localdomain6 localhost6 127.0.1.1 usuario-System-Product-Name
这就是为什么我看到 usuario-System-Product-Name 而不是 ip?即使我将计算机的 ip 设置为主机名?
我禁用了两个防火墙并尝试使用命令行 jmx 工具 Alex 建议购买但没有运气:-(
还有其他建议/提示/帮助吗?
java - 如何观看 JMX Mbean
jconsole 需要在终端下不起作用的 GUI。我可以在终端中使用哪些工具来检索 JMX 信息?
java - 如何使用 JMX 修改具有非原始数据类型的属性?
我想知道是否可以通过 jConsole 修改 java.awt.Color 属性。我有这样的课:
它实现了这个 MBean :
当我尝试为背景设置另一个值时(例如 Color.GREEN),它不起作用......但是当我将背景类型设置为字符串时,它起作用了!
是否可以使用 JMX 更改非原始数据类型?
谢谢 :)
java - 在基准测试期间将 jconsole 连接到 tomcat
我有一个简单的 spring 应用程序,我正在使用 jmeter 进行基准测试。
我是否必须对我的应用程序做一些事情才能使用 jconsole 连接到它?
我以前从未使用过 jconsole,但我认为如果我可以查看创建的对象数量和内存消耗以及 GC 的行为等,那就太好了。
java - Java 线程监控。如何找出非守护进程活动线程?
我在 JConsole 中看到我仍然有 2 个非守护线程,但我无法找出确切的线程(线程总数超过 30)。
Visual VM 不提供此类信息。
java - 无法将 jconsole 连接到远程服务器,tomcat 无法启动
尝试将 jconsole 连接到远程服务器。
我将此添加到我的 catalina.sh 中:
catalina.out 显示:
不知道为什么它在错误消息中重复我的主机名?
顺便说一句,由于我在 jconsole 应用程序中将身份验证设置为 false,我是将用户名/密码留空还是用于登录服务器?
java - linuxbox 上的 Jconsole
嗨,我需要在生产 Linux 机器上使用 JConsole 任何人都知道如何为我正在寻找 HPOF 文件的 Mbean 指定转储文件的路径,以便我可以分析内存泄漏。
java - 我可以使用 kerberos 在 jconsole 上进行身份验证吗?
有谁知道是否可以使用 kerberos 在 jconsole 上进行身份验证?我设置了一个带有 kerberos 身份验证的 tomcat,如果您在浏览器中访问管理器,它可以正常工作。当尝试连接到 jmx 端口时,问题就开始了,因为 jconsole 似乎没有通过客户端的 kerberos 票证。如果有人能给我任何指示,将不胜感激。
谢谢,埃德。
tomcat - 通过命令提示符从 Tomcat JMX 获取服务状态
我一直在互联网上搜索,这些天我找到了我需要的东西。但是使用起来有区别。我想通过命令了解 Tomcat 服务的状态。
而且我相信Tomcat没有状态命令。所以,我看到了这个:
他们说将此添加到catalina.sh文件的开头并执行它以将 JMX 与 JConsole 一起使用。但我是命令提示符,所以我不能使用 GUI。我需要它的命令版本。
寻找的东西可以像这样工作:
并将结果打印给我...
我能做些什么?
jmx - Java jconsole jmx 连接失败
我正在尝试将 jconsole 连接到由以下方式调用的 jvm:
然后我尝试使用以下命令启动 jconsole:
loggin.properties 文件包括:
打开一个到端口 12700 的套接字后,rmi 似乎尝试在另一个端口上建立连接:
第一次连接尝试成功,因为在远程服务器上,我可以看到 ESTABLISHED 连接。
数据包跟踪也表明连接成功。
到端口 41096 的第二个连接超时,jconsole 应用程序报告“连接失败”并终止第一个连接。为什么要尝试第二次连接?有没有办法为第二个连接指定端口?目标服务器受到严格控制,其他端口被防火墙规则阻止。在多次连接尝试时,第二个端口将更改为不同的随机值。
谢谢你的帮助,史蒂夫