2013-06-19 67 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會給你一個這個如何實現的想法。