是否可以配置nagios业务流程(nagiosbp)来使用tcp套接字而不是unix套接字?

时间:2014-11-25 22:14:35

标签: nagios add-on

我希望将NagiosBP nagios业务流程插件与NagVis插件结合使用。我的nagios服务器是远程的,并通过tcp端口通过mklivestatus导出nagios数据。

NagVis很容易配置为使用tcp套接字,但NagiosBP似乎只能配置为使用本地unix套接字。有没有办法配置NagiosBP使用tcp套接字?

1 个答案:

答案 0 :(得分:1)

需要修改

ndodb.pm以允许使用TCP套接字,例如

            my @livestatus = split(':',$dbparam{'ndo_livestatus_socket'});

            if ($livestatus[0] eq 'tcp') {
              $socket = IO::Socket::INET->new ("PeerHost" => $livestatus[1], "PeerPort" => $livestatus[2], "Proto" => $livestatus[0], "Type" => SOCK_STREAM, "Timeout" => 15) or die "unable to connect to tcp socket \"" . $dbparam{'ndo_livestatus_socket'} . "\": $!\n";
            } else {
              $socket = IO::Socket::UNIX->new ("Peer" => $dbparam{'ndo_livestatus_socket'}, "Type" => SOCK_STREAM, "Timeout" => 15) or die "unable to connect to unix socket \"" . $dbparam{'ndo_livestatus_socket'} . "\": $!\n";
            }

ndodb.pm文件中有3个位置需要修改才能启用此功能。