从WebSphereJVM获取有用的数据

从WebSphereJVM获取有用的数据,jvm,websphere,jmx,Jvm,Websphere,Jmx,我希望连接到WebSphere JVM并获取有用的数据,如垃圾收集器的名称及其收集计数、线程计数、堆/非堆内存使用情况、JVM正常运行时间等。不过,此链接提供了WebSphere JVM可用的MBean列表- 这些MBean似乎没有提供我需要的任何数据。是否有其他方法获取数据?我将使用JMX来收集这些数据。如果你是一家需要花钱的公司,我会推荐一款像Wily Introscope这样的产品,它与你的JVM一起运行一个代理来收集你想要的所有指标。我已经将它用于Websphere服务器。我正在寻找一

我希望连接到WebSphere JVM并获取有用的数据,如垃圾收集器的名称及其收集计数、线程计数、堆/非堆内存使用情况、JVM正常运行时间等。不过,此链接提供了WebSphere JVM可用的MBean列表-


这些MBean似乎没有提供我需要的任何数据。是否有其他方法获取数据?我将使用JMX来收集这些数据。

如果你是一家需要花钱的公司,我会推荐一款像Wily Introscope这样的产品,它与你的JVM一起运行一个代理来收集你想要的所有指标。我已经将它用于Websphere服务器。我正在寻找一个开源的替代方案,它可以为您提供一个低成本的替代方案

我不知道有任何默认的MBean可以提供您想要的覆盖范围。提供这种功能的通常是大型Java供应商

[更新]

为了实时监控/故障排除的目的,最近使用WebSphere7做了一些事情,我想我应该分享一下我的知识。VisualVM附带标准Sun JDK,您可以在此处找到它:
JAVA\u HOME\bin\jvisualvm.exe

要使Websphere中的JRE允许VisualVM连接,必须使用Websphere管理控制台添加以下JVM参数

转到:应用程序服务器>[server_name]>Java和进程管理>进程定义>Java虚拟机>通用JVM参数

-Djavax.management.builder.initial= 
-Dcom.sun.management.jmxremote 
-Dcom.sun.management.jmxremote.authenticate=false 
-Dcom.sun.management.jmxremote.ssl=false 
-Dcom.sun.management.jmxremote.port=1099 
-Dcom.sun.management.jmxremote.local.only=false
确保上面选择的端口号尚未使用

netstat -ap | grep 1099
重新启动服务器,您将能够使用VisualVM进行连接,以查看正常运行时间、线程、堆和GC配置文件


我看到Sun还记录了如何读取这些值。

如果您是一家需要花钱的公司,我建议您使用像Wily Introscope这样的产品,它与您的JVM一起运行代理,以收集您所追求的所有指标。我已经将它用于Websphere服务器。我正在寻找一个开源的替代方案,它可以为您提供一个低成本的替代方案

我不知道有任何默认的MBean可以提供您想要的覆盖范围。提供这种功能的通常是大型Java供应商

[更新]

为了实时监控/故障排除的目的,最近使用WebSphere7做了一些事情,我想我应该分享一下我的知识。VisualVM附带标准Sun JDK,您可以在此处找到它:
JAVA\u HOME\bin\jvisualvm.exe

要使Websphere中的JRE允许VisualVM连接,必须使用Websphere管理控制台添加以下JVM参数

转到:应用程序服务器>[server_name]>Java和进程管理>进程定义>Java虚拟机>通用JVM参数

-Djavax.management.builder.initial= 
-Dcom.sun.management.jmxremote 
-Dcom.sun.management.jmxremote.authenticate=false 
-Dcom.sun.management.jmxremote.ssl=false 
-Dcom.sun.management.jmxremote.port=1099 
-Dcom.sun.management.jmxremote.local.only=false
确保上面选择的端口号尚未使用

netstat -ap | grep 1099
重新启动服务器,您将能够使用VisualVM进行连接,以查看正常运行时间、线程、堆和GC配置文件


我看到Sun还记录了如何读取这些值。

JVM统计数据由平台MXBeans提供。如果需要在短时间内收集这些数据,则可以使用VisualVM等工具。将其配置为连接到WebSphere实例有点棘手,但这是可能的。此处介绍了一种方法(还有其他选项):


如果您想在较长时间内收集数据,则需要一个监控系统。在工作中,我为开源编写了一个插件,添加了对WebSphere的支持。我正在发布这个插件,但是在撰写本文时,我还没有发布文档,也没有可下载的版本。现在只有源代码可用。我将努力在未来几周内完成这项工作。如果您对这个项目感兴趣,请告诉我。

JVM统计数据由平台MXBeans提供。如果需要在短时间内收集这些数据,则可以使用VisualVM等工具。将其配置为连接到WebSphere实例有点棘手,但这是可能的。此处介绍了一种方法(还有其他选项):


如果您想在较长时间内收集数据,则需要一个监控系统。在工作中,我为开源编写了一个插件,添加了对WebSphere的支持。我正在发布这个插件,但是在撰写本文时,我还没有发布文档,也没有可下载的版本。现在只有源代码可用。我将努力在未来几周内完成这项工作。如果你对这个项目感兴趣,请告诉我。

你可以接受布拉德和安德烈亚斯提供的建议

我想让大家了解一些应该探索的工具

(1) Tivoli性能查看器。这应该提供一些关于JVM的信息

(2) IBM健康中心->

这两项都应该为你提供你所需要的大量信息


试试看

你可以接受布拉德和安德烈亚斯提供的建议

我想让大家了解一些应该探索的工具

(1) Tivoli性能查看器。这应该提供一些关于JVM的信息

(2) IBM健康中心->

这两项都应该为你提供你所需要的大量信息


试试看

谢谢!!你的上一句话基本上概括了这一切!!:)谢谢你的上一句话基本上概括了这一切!!:)谢谢!这是一些非常有用的信息。我实际上只是想通过代码获取数据,所以我必须连接到平台MBeanServer,对吗?你知道怎么做吗,或者你的项目会支持吗?谢谢