Nagios客户端使用NSCA与Nagios服务器进行tcp连接,如何使此连接永久保持



我已经设置了一个nagios分布式监控系统环境,并且能够使用send_nsca向nagios服务器发送被动检查。当我查看Nagios Client和Nagios Server之间的握手时,我发现Nagios Client在有东西要发送时就建立与Nagios Server的tcp连接,并在客户端发送完信息后终止连接。我希望tcp连接永远保持不变,而不是每次数据传输完成后都终止。有人能告诉我实现这一目标的过程吗?

如果不修改标准NSCA守护进程,就无法做到这一点。通常情况下,它会超时,这就是NSCA客户端重新建立连接的原因。

我已经用Perl和Ruby实现了send_nsca,在这两种情况下都无法实现持久连接。

不过,如果您使用Nagios 3.x,一个更好的解决方案是安装livestatus模块(check_mk的一部分)。这允许提交被动检查,但支持持久连接等等。在许多情况下,我们已经转而使用它。

最新更新