我正在使用Nagios進行監視 - 並在給定框中查看NPRE以進行各種監視。我有一些java進程 - 通過JMX等「窺探它們」會很好。如果不啓動JVM並遠程連接,我看不到一種方法來實現這一點。通過來自非java客戶端的JMX調用/監視JVM
任何想法?
我正在使用Nagios進行監視 - 並在給定框中查看NPRE以進行各種監視。我有一些java進程 - 通過JMX等「窺探它們」會很好。如果不啓動JVM並遠程連接,我看不到一種方法來實現這一點。通過來自非java客戶端的JMX調用/監視JVM
任何想法?
我相信你可以通過RMI-IIOP連接到JMX服務,我相信這是Java的CORBA。我相信這意味着您可以使用任何COBRA客戶端連接到RMI-IIOP Java服務。請查看JBoss IIOP,我相信這只是你想要的,只有它是JBoss特有的。
也許使用JAX-WS或JAX-RS(即Web服務)簡單地包裝要導出的JMX服務可能更容易?然後你可以使用普通的'HTTP來訪問你想要的東西。
其實it seems someone has done exactly that!我想你想獲得的東西,如:
http://<host>:<port>/rest/jmx/java.lang:type=Memory/NonHeapMemoryUsage/commited
整個項目可在https://opendmk.dev.java.net/contributions/rest-adaptor/readme.html:
寧靜的JMX適配器
該項目 OpenDMK貢獻提供了一個HTTP 以RestFul方式訪問JMX信息。發表在the JMX NetBeans blog的一篇文章,詳細介紹了 的方法。
另一個(一樣嗎?)的項目可在https://ws-jmx-connector.dev.java.net/
對於Nagios的監控JMX jmx4perl是一個完美的解決方案,因爲它具有豐富的Nagios插件check_jmx4perl功能已經來了。它使用Jolokia,它是通過JSON/HTTP橋接JMX的代理程序,並具有高級功能,如細粒度安全性或批量請求,這些功能不適用於傳統的JSR-160連接器。它也在積極開發之中,而上述REST方法似乎在2008年停滯不前(這也是2009年5月啓動jmx4perl的原因)。順便說一句,JSR-262「用於Java管理擴展(JMX)代理的Web服務連接器」很不幸地處於「非活動狀態」,因此我不期望從這方面取得很多進展。
很高興知道,謝謝。我很喜歡納吉奧斯,它已被證明是非常值得信賴的。 – 2011-01-26 23:27:08
heh - 我最後偶然做了一個簡單的RESTful事件(幾行代碼),但這很好理解!畢竟我沒有瘋狂! – 2010-09-01 06:18:51