我希望将NagiosBP nagios业务流程插件与NagVis插件结合使用。我的nagios服务器是远程的,并通过tcp端口通过mklivestatus导出nagios数据。
NagVis很容易配置为使用tcp套接字,但NagiosBP似乎只能配置为使用本地unix套接字。有没有办法配置NagiosBP使用tcp套接字?
答案 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个位置需要修改才能启用此功能。