2013-06-19 68 views
0

问题:
我们有服务器集群,关于Java(Tomcat)的运行。每个服务器通过JMX公开大量信息。通过JMX确保群集处于有效状态需要很长时间。可插拔的集群管理系统

在某些情况下,它足以在每一个节点检查了一定的地位。在其他情况下,数据分布在节点上,因此需要进行一些逻辑分析。有时需要分析太多的数据,而且无法手动完成。

问题:
是否有一个集群管理系统可以提供一个自动执行此类测试的平台?

要求:

  • 它必须能够通过插件(最好是用Java编写的)进行扩展,所以对于一些复杂的定制的测试我们需要的是发展与业务逻辑的插件。
  • 它提供一些JMX客户端平台
  • GUI/JMX接口,用于运行测试和看到的结果
  • 调度
  • SNMP监控

回答

1

这不符合所有您的要求,但你应该看看JGroups

(可靠的工具包多播通信)

本质上,它是一个java库,用于创建集群节点​​,可以通过使用多播或单播的各种协议保持彼此同步。它包含一组丰富的Building Blocks,可帮助您构建所需的功能堆栈。您堆栈的定制可以用积木和/或自己的自定义状态管理或群集可调用的“商业方法”来实现。我的意思是,你可以定义一个名为int getOpenPortCount()然后你可以调用,而不是在单个节点上的商业方法,但在集群上。然后,每个附接节点将本地调用该方法并返回调用的结果,导致群集调用返回[有效]的int[],其长度的值是你的JGroups群集上的节点的数目。

它提供一些JMX客户端平台

我不能完全明白你的这个意思,但没有内置的JMX的连接器等。但是,您可能不需要它,因为您可以使用JGroups API直接与单个节点或群集中的所有节点通信。

GUI/JMX接口,用于运行测试和看到的结果

我不认为你会发现这样的事,但是,因为你将基本上使用纯Java,你可以使用的组合的JGroups的API时,JMX API,JUNIT(或TestNG的)和蚀基于测试浇道提供一个相当不错的测试工具和可视化的用户界面。

调度

可以安排活动跨使用JGroups的TimeSchedulerQuartz或者干脆使用ScheduledThreadPoolExecutor集群执行。

SNMP监控

JGroups supports JMX for monitoring,这反过来又可以通过JVM's SNMP agent桥接。这个jboss特定的link会给你一个这个如何实现的想法。