Tag: jmx

调试JConsole连接失败

我有一个Web应用程序部署到远程树脂服务器,它已打开JMX。 我可以telnet到远程服务器即 franz@see:/tmp$ telnet 5555 Trying … Connected to . Escape character is ‘^]’. sr5javax.management.remote.message.HandshakeBeginMessage , 6profilestLjava/lang/String;Lversionq~xppt1.0^] telnet> q Connection closed. 但我无法使用我的JConsole连接到它 $JAVA_HOME/bin/java -cp $JAVA_HOME/lib/jconsole.jar:$JAVA_HOME/lib/tools.jar:pm-common/lib/jmxremote_optional-1_0_1_3.jar sun.tools.jconsole.JConsole service:jmx:jmxmp://:5555 我用以下java版本尝试了这个,但是我在两个实例上都遇到了“连接失败”。 ## where JAVA_HOME=/opt/java/64/jdk1.5.0_22 java version “1.5.0_22” Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_22-b03) Java HotSpot(TM) 64-Bit Server VM (build 1.5.0_22-b03, mixed mode) ## where JAVA_HOME=/opt/java/64/jdk1.6.0_17 java […]

如何加密JConsole密码文件的密码

我正在使用JConsole访问我的应用程序MBean,并使用password.properties文件。 但根据Sun的规范,此文件仅包含明文格式的密码。 com.sun.management.jmxremote.password.file=/password.properties 现在我想加密密码并将其用于JConsole的JMX用户身份validation(Remote部分中的用户名和密码字段)。 我可以使用任何预定义的加密逻辑或我自己的加密算法。 有没有人知道任何这样的拦截将明文密码更改为加密密码,以便JMX Framework也知道加密密码? 我当前的密码文件: guest guest admin admin 使用加密它应该看起来像: guest ENC(RjqpRYbAOwbAfAEDBdHJ7Q4l/GO5IoJidZctNT5oG64=) admin ENC(psg3EnDei6fVRuqHeLwOqNTgIWkwQTjI2+u2O7MXXWc=)

如何以编程方式检查JMX MBean操作和属性?

假设我们有一个具有以下属性和操作的MBean。 属性:名称大小 操作:getName()getSize() 有没有办法以编程方式检查属性和操作? 我一直在使用IBM WebSphere MBeans,他们的文档不是很好。 例如,如果您转到IBM Infocenter并导航到Network Deployment – > Reference – > Programming interfaces – > Mbean interfaces – > ThreadPool。 它们只列出属性而没有操作。 使用WebSphere wsadmin工具,我实际上可以检查以查看操作和属性。 我想知道是否有办法对所有MBean这样做。 wsadmin>print Help.attributes(object) Attribute Type Access name java.lang.String RO maximumSize int RW minimumSize int RW inactivityTimeout long RW growable boolean RW stats javax.management.j2ee.statistics.Stats RO wsadmin>print Help.operations(object) Operation java.lang.String […]

JMX和RMI之间的区别

JMX的目的是什么?它用于什么? 我一直在浏览JMX上的一些教程,他们所做的只是注册一些Mbeans并从jconsole调用那些Mbeans。 如果这是它的目的,那么JMX和RMI(远程过程调用)之间有什么区别? 提前致谢!

使用JMX以及如何使用现有应用程序

我们已经分发了几年前在JDK 5上开发的Web应用程序。 JMX将如何帮助这个应用程序? 1)它会帮助我监控性能(内存,CPU和网络和磁盘IO)吗? 2)如果是,那么应用程序部署在多个服务器中,如何在一个仪表板中进行监控? 3)我是否必须对现有应用程序进行任何新的代码更改,还是可以在不更改代码的情况下进行监视? 4)除性能监控外,我们还能做些什么? 因为name是Management Extensions(MX)我们可以管理什么以及如何管理? 看来主要目标不是监控,而是管理? 我从Oracle网站http://docs.oracle.com/javase/tutorial/jmx/overview/why.html中提供的教程中了解了很多关于JMX的知识。 似乎一些商业代表准备本教程而不是技术人员。 任何人都可以帮助我理解这个JMX的东西,您的努力是真诚的感谢。 谢谢,你的朋友。

JMX定义

我在寻找: JMX是什么。 我可以在哪里找到一些好的JMX教程。 作为Java EE程序员,JMX可以为我提供什么。 还有什么我应该知道的。

无法在jConsole中看到kafka.consumer和kafka.producer mBean

编辑: 我知道我应该在我的Consumer和Producer流程中启用JMX并从各个流程获取mBean信息。 我将如何为Kafka和消耗消息的其他Java进程发送消息的Java进程发布消息? 我为Kafka启用了JMX。 但我仍然无法在jConsole中看到这两个mBeans。 我尝试过pub / sub onn Kafka经纪人,但仍然没有结果。 我的步骤如下:在kafka-run-class.sh中添加以下内容: KAFKA_JMX_OPTS=”-Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=127.0.1.1 -Djava.net.preferIPv4Stack=true “ 在kafka-server-start.sh中的导出JMX_PORT = $ {JMX_PORT:-9999}中添加了端口

启用了JMX的Tomcat7会打开2个额外的随机侦听端口

我在Centos6上使用JDK7运行Tomcat7。 我使用以下选项启用JMX: CATALINA_OPTS=”${CATALINA_OPTS} -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9123 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.local.only=true” 不幸的是,当我检查哪些端口被打开时,我发现了2个额外的随机端口: netstat -plunt | grep java Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 :::60555 :::* LISTEN 22752/java tcp 0 0 ::ffff:127.0.0.1:8080 :::* LISTEN 22752/java tcp 0 0 :::9123 :::* LISTEN 22752/java tcp 0 0 :::40867 :::* LISTEN 22752/java 我想JMX应该打开一个额外的端口JMX启用的Java应用程序似乎在JMX客户端连接时打开一个随机的高阶端口 为什么Tomcat中的JMX会打开2个额外的端口? 如何配置这些端口? […]

无法通过Java6中的jconsole连接到Tomcat的MBeanServer

我在远景机器上。 我已经使用以下选项启动了tomcat 5.5.27: CATALINA_OPTS=”-Dcom.sun.management.jmxremote.port=9003 \ -Dcom.sun.management.jmxremote.ssl=false \ -Dcom.sun.management.jmxremote.authenticate=false” 当我通过jconsole连接并添加以下服务URL service:jmx:rmi:///jndi/rmi://localhost:9003/jmxrmi 它不会连接。 有任何想法吗 ?

如何获取MBean绑定类实例

我试图使用MBean获取绑定在jboss-service.xml中的服务类的实例。 JBoss-Service.xml定义了一个我们想在代码中使用它的BasicThreadPool 。 这就是JBOSS-Service.xml 。 JBoss System Threads System Threads 60000 10 1000 run 我试图在我的代码中访问它,如下所示, MBeanServer server = MBeanServerLocator.locateJBoss(); MBeanInfo mbeaninfo = server.getMBeanInfo(new ObjectName(“jboss.system:service=ThreadPool”)); 现在我有MBean信息。 我想在MBean中定义一个BasicThreadPool对象的实例。 可能吗 ? 我知道一种方法,我们可以从MBean Info中获取类名,我们也可以获取构造实例的属性。 有没有更好的方法呢?