问题:
我们有一个服务器集群,运行在Java (Tomcat)上。每个服务器都通过JMX公开了大量信息。查看JMX以确保集群处于有效状态需要花费大量时间。
在某些情况下,检查每个节点中的某个特定状态就足够了。在其他情况下,数据分布在节点上,因此需要进行一些逻辑分析。有时需要分析太多的数据,而不能手动完成。
问题是:
是否有一个集群管理系统可以提供自动化测试的平台?
要求:
发布于 2013-06-20 13:24:39
这并不能满足所有的需求,但是您应该看看JGroups
(可靠的多播通信工具包)
本质上,它是一个java库,用于创建集群节点,可以通过多播或单播通过各种协议保持同步。它包括一组丰富的积木,以帮助您构建所需的功能堆栈。可以使用构建块和/或您自己的自定义状态管理或群集可调用的“业务方法”来实现堆栈的自定义。我的意思是,您可以定义一个名为int getOpenPortCount()的业务方法,然后可以调用它,不是在单个节点上,而是在集群上。然后,每个附加节点将在本地调用该方法并返回调用的结果,从而使集群调用有效地返回一个int[]值,其长度为JGroups集群上的节点数。
它必须提供一些JMX客户端平台
我不完全确定这是什么意思,但是中并没有这样的构建。但是,您可能不需要它,因为您可以使用JGroups API直接与单个节点或通过集群与所有节点进行通信。
GUI/JMX界面,用于运行测试和查看结果
我认为您不会发现这样的情况,但是,由于您实际上使用的是纯Java,所以您可以使用JGroups API、JMX、jUnit (或TestNG)和一个基于eclipse的测试运行程序的组合,后者提供了相当不错的测试工具和可视化UI。
调度
您可以使用JGroups TimeScheduler、石英或简单地使用ScheduledThreadPoolExecutor来调度跨集群执行的事件。
SNMP监控
JGroups支持JMX进行监视,这反过来可以通过JVM的SNMP代理进行桥接。这个特定于jboss的链接将为您提供如何实现该功能的概念。
https://stackoverflow.com/questions/17190345
复制相似问题