Java 当Nagios已经存在时使用JNRPE

Java 当Nagios已经存在时使用JNRPE,java,web-applications,nagios,nrpe,jnrpe,Java,Web Applications,Nagios,Nrpe,Jnrpe,我正在经历JNRPE。现在在我的网络中,我们安装了监控网络的nagios工具我想了解JNRPE可以如何帮助我。我访问了许多链接,浏览了整个JNRPE网站,了解我为什么要使用它,以及在拥有nagios工具后它有多有用,但我还没有找到关于这个主题的任何具体内容 我知道JNRPE用于执行Nagios插件 为什么我需要Nagios插件。假设我有一个在web服务器上运行的应用程序。Nagios插件的初衷是什么 尽管有一个Nagios工具,我如何使用JNRPE呢基本上,我不确定JNRPE实现背后可能的用例是

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

我知道JNRPE用于执行Nagios插件

为什么我需要Nagios插件。假设我有一个在web服务器上运行的应用程序。Nagios插件的初衷是什么

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

还要注意,我的应用程序严重依赖HTTP流量


任何人都可以就在web应用程序中实现JNRPE背后的可能用例提供指导。

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交互的自定义插件,并且比现有插件做得更好

我是JNRPE项目的创始人

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

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

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

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