2016-05-12 38 views
8

我被要求調查Oracle Java Mission Control,以便在特定條件下監控服務器端Java應用程序並採取行動(例如,發出警報並記錄警報,保存航班記錄)。 Java Mission Control的觸發系統可以滿足我們的需求,但它似乎依賴於GUI應用程序(「Oracle Java Mission Control」)運行,這意味着觸發器不是受監視的JMX服務器的責任。是這樣嗎?有一些服務器通常通過終端訪問...Java Mission Control的基於命令行的守護進程?備擇方案?

有沒有一種方式來運行Java任務控制作爲守護進程,從終端會話,無人看管,同時保留和遵守任何指定的觸發規則(例如,從一個XML文件)?

如果不是,是否有競爭工具具有類似的觸發系統可以填補空白?

謝謝! :)

回答

4

目前沒有,您不能在沒有GUI的情況下運行JMC。 你不是第一個想做這件事的人。

一種選擇是在另一臺機器上運行JMC,並使其連接到多臺服務器,這當然需要運行遠程JMX代理等

我們一直在討論服務器端的觸發器/規則,但據我所知,它沒有計劃用於任何JDK版本。

可以從代碼轉儲飛行記錄,以便您可以編寫自己的小型代理程序,使用DiagnosticMBean在同一臺計算機上的另一個JVM上或遠程執行此操作。我很確定這是一些人如何解決同樣的問題。也可以用代碼解析和分析航班記錄。如果你對這種方法感興趣,我肯定有一些示例代碼,當然它比JMC可以作爲守護進程運行更多的工作:/

+0

該死。 :(你是否知道有類似的觸發系統的競爭工具可以「無痛地」填補空白? 我現在更新了最初的問題。 –

0

你應該看看APM工具,而不是用JMC進行監控。該產品非常薄弱,引入了大量開銷(使其不適合生產)併產生了很多問題。那裏還有開發人員關注的工具。

APM:AppDynamics(最深的一羣),New Relic的,Ruxit Java開發工具:Takipi,核聚變反應堆,其Javosize