The NSCA daemon module is used to receive send_nsca packets and submit them to the Shinken command pipe. The NSCA module can be loaded by the Receiver or Arbiter process. It will listen on port TCP/5667 for send_nsca packets.
In your shinken-specific.cfg file, just add (or uncomment):
#You can send check result to Shinken using NSCA
#using send_nsca command
define module{
module_name NSCA
module_type nsca_server
host *
port 5667
encryption_method 0
password helloworld
}
define receiver{
receiver_name receiver-1
address localhost
port 7773
modules NSCA
timeout 3 ; 'ping' timeout
data_timeout 120 ; 'data send' timeout
max_check_attempts 3 ; if at least max_check_attempts ping failed, the node is DEAD
#advanced
realm All
}
This daemon is totally optional.
It's main goal is to get all passive “things” (checks but why not other commands) in distant realms. You can see it as an “passive buffer” that will be reaped by the arbiter so this one will dispatch commands like if it was it that got the commands.
The “spare” parameter is not important for this daemon, because it not responsible for any configurations, and will not open connexions to any other daemons. Of course without any modules defined this daemon is useless. It can use the arbiter daemons, this means NSCA from now, other types could be added such as AMQP. Data can be received from any Realm, thus the Realm option is nonsensical.
For now there is no init.d script to launch it.
It is launched like all other daemons : bin/shinken-receiver -c etc/receiverd.ini
So now even the passive checks are easily scalable. :)
To configure the NSCA module in your Arbiter instead of Receiver. Add the NSCA module to your Arbiter object configuration.
define arbiter{
arbiter_name Arbiter-Master
# host_name node1 ;result of the hostname command under Unix
address localhost ;IP or DNS adress
port 7770
spare 0
modules NSCA
}