You are adding a 2nd passive check for the same host or a 2nd host with a passive check?
Have you got nsca debug on so that the incoming connections from the remote host can be checked? If you have and there’s no connection coming from them then check the remote host NC_NET logfile and see if it sends out info. If it does, the info for some reason won’t make it to nagios host, if it doesn’t there’s something wrong with NC_NET config.
Well, you can’t increase the timeout value of the nsca daemon since it only accepts packets, you may be able to increase the timeout of the plugin that uses send_nsca, I know that NC_Net on windows alows you to enter the timeout value for send_nsca, don’t know about linux.
And I’m not 100% sure your problem lies with send_nsca at all.
you should not be using the daemon if you are launching nsca via xinetd. xinetd starts the process for you when it receives a connection on the defined nsca port (likely 5667),
Don’t run the daemon if you are using xinetd. use one or the other.
First off kill your nsca daemon. assuming your on a redhat-like distro, configure your /etc/xinetd.d/nsca. Heres an example:
default: on
description: NSCA (Nagios Service Check Acceptor)
service nsca
{
flags = REUSE
type = UNLISTED
port = 5667
socket_type = stream
wait = no
user = nagios
group = nagios
server = /usr/sbin/nsca
server_args = -c /etc/nagios/nsca.cfg --inetd
log_on_failure += USERID
disable = no
only_from = 1.2.3.4 4.3.2.1
cps = 300 1
instances = 401
}
I have a ton of service check results coming in so you probably dont need your cps to be so high.
Basically what xinetd does is (in this example) when it receives a query on port 5667 (from your NC_Net client), it will run:
/usr/sbin/nsca -c /etc/nagios/nsca.cfg --inetd
as user ‘nagios’. NSCA will do its thing, and then close.
If you would rather not use xinetd, just set disable = yes in that config file and start up the nsca daemon without the --inetd tag. Remember to ‘service xinetd restart’ every time you change any file in /etc/xinetd.d/