当Nagios已经存在时使用JNRPE

时间:2013-12-02 13:28:34

标签: java web-applications nagios nrpe jnrpe

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

我知道JNRPE用于执行Nagios插件。

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

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

另请注意,我的应用程序在很大程度上依赖于HTTP流量。

任何人都可以指导一下在Web应用程序中实现JNRPE的可能用法。

2 个答案:

答案 0 :(得分:0)

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

  

为什么在第一手资料中我需要Nagios插件?

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

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

  

尽管有Nagios工具,我怎样才能使用JNRPE ...

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

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

  

我不确定可能的用例背后是什么   JNRPE的实现及其在Web应用程序项目中的帮助......

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

有几个第三方插件能够进行JMX监控,但它们并不完美,可以改进很多!所以这里有一个区域,您可以利用JNRPE编写与JMX交互的自定义​​插件,并且比现有插件做得更好。

答案 1 :(得分:0)

我是JNRPE项目的创始人。

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

  

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

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

  1. 您想编写一个使用JAVA语言执行自定义检查的Nagios插件。由于Nagios将插件作为外部可执行文件执行,因此在没有JNRPE的情况下,每次检查都会运行虚拟机实例
  2. 您想要创建一个能够在不同机器上运行而无需重新编译的Nagios插件
  3. 您希望监控防火墙后面的计算机。事实上,使用JNRPE只需要一个端口即可从Nagios访问。
  4. 您想嵌入JNRPE,以便直接从Nagios查询其状态