0

我正在经历JNRPE。现在在我的网络中,我们安装了nagios工具来监控网络。我想了解 JNRPE 如何帮助我。我访问了许多链接,浏览了整个 JNRPE 网站以了解我为什么要使用它以及在拥有 nagios 工具后它有多大用处,但我还没有找到关于这个主题的任何具体内容。

我了解 JNRPE 用于执行 Nagios 插件。

为什么我首先需要 Nagios 插件。假设我有一个在 Web 服务器上运行的应用程序。Nagios插件的目的首先是什么....

尽管有 Nagios 工具,但我如何利用 JNRPE 。基本上,我不确定 JNRPE 实现背后的可能用例是什么,以及当我已经在使用某种 Sigar 来获取服务器的硬件参数时,它对 Web 应用程序项目的帮助如何。

另请注意,我的应用程序严重依赖 HTTP 流量。

谁能指导一下在 Web 应用程序中实现 JNRPE 背后的可能用例。

4

2 回答 2

0

我是 JNRPE 项目的创始人。

hovanessyan 所说的一切都是正确的,但我想补充一点:

我不确定 JNRPE 实现背后的可能用例是什么,以及它将如何帮助 Web 应用程序项目......

您可以找到以下主要用例:

  1. 您想编写一个使用 JAVA 语言执行自定义检查的 Nagios 插件。由于 Nagios 将插件作为外部可执行文件执行,如果没有 JNRPE,每次检查都会运行一个虚拟机实例
  2. 您想创建一个能够在不同机器上运行而无需重新编译的 Nagios 插件
  3. 您想监控防火墙后面的机器。事实上,使用 JNRPE,您只需要一个可以从 Nagios 访问的端口。
  4. 您想嵌入 JNRPE,以便您可以直接从 Nagios 查询它的状态
于 2013-12-17T13:07:17.663 回答
0

JNRPE 使您可以使用 Java 编写 Nagios 插件。有许多第三方 Nagios 插件可用,但其中很少是用 Java 编写的(大部分时间它们是用 python 或 perl 或简单的 bash 脚本编写的)。

为什么我首先需要 Nagios 插件?

Nagios 本身是基于插件的。核心nagios 发行版附带有限数量的插件(脚本),您可以执行这些插件(脚本)来检查系统上的不同参数。您可以在系统上检查的事情有无穷无尽的可能性。Nagios(或任何其他监控系统)不可能涵盖所有情况。您当然需要一种方法来扩展这样的系统 - 因此它们中的大多数都提供插件支持。

想到的一个例子是用于详细监控 Postgresql 的插件。Naigos 没有提供开箱即用的功能,但第三方插件确实提供了非常好的和详细的监控。

尽管有 Nagios 工具,但我如何利用 JNRPE ......

让第 3 方插件为您进行监控具有双重优势 - 您无法控制插件 - 您不确定它会维护多长时间,它可能无法正常工作,有时它是二进制的(您不能查看代码并更改它)。

当您自己编写插件时,以上所有内容都不是问题。

我不确定 JNRPE 实现背后的可能用例是什么,以及它将如何帮助 Web 应用程序项目......

例如,Nagios 缺乏对 JMX 和任何低级 JVM/Java 应用程序参数的直接监控。通过 JMX,您可以检查容器本身(例如 Tomcat)或 JVM 中的参数 - 工作线程/堆使用情况等。

有几个 3rd 方插件能够进行 JMX 监控,但它们并不完美,还有很多可以改进的地方!因此,您可以在此处使用 JNRPE 并编写与 JMX 交互并比现有插件做得更好的自定义插件。

于 2013-12-02T14:49:12.760 回答