2014-01-10 66 views
0

我需要從Java應用程序查詢NRPE的Nagios服務器遠程就像check_nrpe會做:NRPE協議說明

check_nrpe -H 192.***.***.*** -p 56** -c "check_load" 

當我說「從Java應用程序」我的意思是我想要的結果在我的Java應用程序中被接收和處理。我的第一個想法是從我的應用程序中調用「check_nrpe」命令並檢索其輸出和返回值,但是我希望更多的獨立解決方案不需要調用外部程序。

我不需要等待狀態更改,只是最終檢查顯示器狀態。由於我一直無法找到任何Java庫(我應該嘗試使用JNRPE?),所以我想實施協議check_nrpenrpe守護進程用於通信。

有沒有人試過這個?在那種情況下,你有這個協議的描述嗎?

如果你的答案是否定的,我會嘗試使用whireshark分析協議,但任何線索都將非常感激。

回答

1

Andreas Marschke博客NRPE協議的解釋,The NRPE Protocol explained(上gitHub太)

反正JNRPE有協議的全面工作的實施,您可以下載jcheck_nrpe-2.0.3-RC5源代碼,看看jcheck_nrpe-2.0.3-RC5\src\main\java\it\jnrpe\client\JNRPEClient.java類的示例客戶誰使用jnrpe-lib-1.0.1-RC5

jnrpe-lib具有實現協議請求和響應

  • JNRPERequest.java
  • JNRPEResponse.java兩個具體類

完整協議實現類可以在jnrpe-lib-1.0.1-RC5\src\main\java\it\jnrpe\net\文件夾中找到

+0

當你回答我已經咀嚼jcheck_nrpe代碼並試圖使其工作。看來這不會是一個問題。謝謝 –

+0

不客氣:) – vzamanillo

+0

我做了它的工作,但我不得不禁用SSL,因爲版本問題。對我來說夠多的了。 –