【问题标题】:NRPE Protocol descriptionNRPE 协议说明
【发布时间】:2014-01-10 08:56:15
【问题描述】:

我需要从 Java 应用程序远程查询 nrpe nagios 服务器,就像 check_nrpe 会做的那样:

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

当我说“来自 Java 应用程序”时,我的意思是我希望在我的 Java 应用程序中接收和处理结果。我的第一个想法是从我的应用程序中调用“check_nrpe”命令并检索其输出和返回值,但我更想要一个不调用外部程序的独立解决方案。

我不需要等待状态变化,只需最终检查监视器状态即可。由于我找不到任何 Java 库(我应该尝试 JNRPE 吗?),我想实现协议 check_nrpenrpe 守护进程用于通信。

你们之前有没有试过这个?那么,你有这个协议的描述吗?

如果您的回答是否定的,我将尝试使用 whireshark 分析协议,但任何线索将不胜感激。

【问题讨论】:

    标签: java network-protocols nagios nrpe jnrpe


    【解决方案1】:

    来自Andreas Marschke博客The NRPE Protocol explained的NRPE协议解释(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\文件夹中找到

    【讨论】:

    • 当你回答时,我已经在咀嚼 jcheck_nrpe 代码并试图让它工作。好像不会有问题。谢谢
    • 我成功了,但由于版本问题我不得不禁用 SSL。对我来说足够了。
    猜你喜欢
    • 2014-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多