我需要像check_nrpe那样,从Java应用程序远程查询nrpe nagios服务器:
check_nrpe -H 192.***.***.*** -p 56** -c "check_load"当我说“来自Java应用程序”时,我的意思是希望在我的Java应用程序中接收和处理结果。我的第一个想法是从我的应用程序中调用"check_nrpe“命令,并检索它的输出和返回值,但是我更想要一个没有调用外部程序的独立解决方案。
我不需要等待状态更改,只需最终检查监视器状态。由于无法找到任何Java库(是否应该尝试JNRPE?),所以我希望实现用于通信的协议check_nrpe和nrpe守护进程。
你们以前试过吗?在这种情况下,你对这个协议有描述吗?
如果你的答案是否定的,我会尝试分析协议使用鞭子听,但任何线索将非常感谢。
发布于 2014-01-10 09:40:28
马斯克博客NRPE协议解释 (也在gitHub上)对NRPE协议的解释
无论如何,JNRPE有一个完整的协议实现,您可以下载jcheck_nrpe-2.0.3-RC5源代码,并查看正在使用jnrpe-lib-1.0.1-RC5的示例客户机的jcheck_nrpe-2.0.3-RC5\src\main\java\it\jnrpe\client\JNRPEClient.java类。
jnrpe-lib有两个实现协议请求和响应的具体类
完整的协议实现类可以在jnrpe-lib-1.0.1-RC5\src\main\java\it\jnrpe\net\文件夹中找到。
https://stackoverflow.com/questions/21039814
复制相似问题