in reply to nrpep: client-server program

After looking through the code, and then astutely reading the README, I saw the following:

If you are installing the server, you need to put in in inetd. A +line like this one should cut the mustard: nrpep stream tcp nowait nobody /usr/sbin/tcpd /usr/sbin/nrpe +p -c /usr/local/nagios/etc/nrpep.cfg (All one line) The "nrpep" part is an entry in /etc/services for the port that nr +pep needs to run on. The "default" is 8086. I pulled it out of my a +ss. If it conflicts with anything, let me know. Otherwise, that's t +he default. An example: nrpep 8086/tcp


So, although I haven't done any socket programming using inetd, I'm going to make a big assumption that inetd is in fact handling the listening server socket and passing the info to what appears to be <STDIN> and <STDOUT> for the nrprep server.

In looking at the check_nrprep code, it does a use Socket; right near the start. The client opens a socket connection and goes out to the server that is already listening via inetd.

Hope that explains it (also hope I was right!)

Replies are listed 'Best First'.
Re^2: nrpep: client-server program
by rhymejerky (Beadle) on Feb 03, 2005 at 18:49 UTC
    Thank you for pointing out the modification needed in inet.d. nrpep is coded to run as a service and I rather run it as a deamon for future deployment purpose. I switched the role of server and client in the original msg because I kept thinking nagios was the server and remote hosts were clients. But obviously, nrpep has this role reversed =). Thank you so much for your help