It had been awhile since I have installed NRPE or Nagios Remote Plugin Executor running through xinetd so once I thought I had everything configured I attempted to restart xinetd but NRPE was not working properly. Below I describe the error in more detail along with how I resolved the issue. In the below example the server was running CentOS Linux.
NRPE Service Protocol Combination Error Via /var/log/messages:
Dec 20 10:28:46 dev1 xinetd: service/protocol combination not in /etc/services: nrpe/tcp Dec 20 10:28:46 dev1 xinetd: xinetd Version 2.3.14 started with libwrap loadavg labeled-networking options compiled in. Dec 20 10:28:46 dev1 xinetd: Started working: 0 available services Dec 20 10:29:52 dev1 xinetd: Exiting...
The output above was seen in the messages log file located in /var/log. That is always a great place to look when troubleshooting issues on Linux servers. Luckily the error made me quickly realize what I had forgotten to configure which was to add the NRPE port to /etc/services. To do this open the services file, which is located in the /etc/ directory, in your favorite text editor. Scroll down until you get to the proper place to enter port 5666, which is the NRPE port, and add the below line to the services file.
NRPE Service Port And Protocol Addition To /etc/services:
nrpe 5666/tcp # NRPE
Once added save the file and restart xinetd using the init.d script which would be something like “/etc/init.d/xinetd restart”. This should resolve the problem with NRPE. The output below shows the services before and after NRPE in the /etc/services file after you have added NRPE.
Linux /etc/services Sample Output After NRPE Addition:
netmon 2606/tcp ospf6d # Dell Netmon netmon 2606/udp # Dell Netmon dict 2628/tcp # RFC 2229 dict 2628/udp # RFC 2229 corbaloc 2809/tcp # CORBA naming service locator icpv2 3130/tcp # Internet Cache Protocol V2 (Squid) icpv2 3130/udp # Internet Cache Protocol V2 (Squid) mysql 3306/tcp # MySQL mysql 3306/udp # MySQL trnsprntproxy 3346/tcp # Trnsprnt Proxy trnsprntproxy 3346/udp # Trnsprnt Proxy pxe 4011/udp # PXE server fud 4201/udp # Cyrus IMAP FUD Daemon rwhois 4321/tcp # Remote Who Is rwhois 4321/udp # Remote Who Is krb524 4444/tcp # Kerberos 5 to 4 ticket xlator krb524 4444/udp # Kerberos 5 to 4 ticket xlator rfe 5002/tcp # Radio Free Ethernet rfe 5002/udp # Actually uses UDP only cfengine 5308/tcp # CFengine cfengine 5308/udp # CFengine nrpe 5666/tcp # NRPE cvsup 5999/tcp CVSup # CVSup file transfer/John Polstra/FreeBSD cvsup 5999/udp CVSup # CVSup file transfer/John Polstra/FreeBSD x11 6000/tcp X # the X Window System afs3-fileserver 7000/tcp # file server itself afs3-fileserver 7000/udp # file server itself afs3-callback 7001/tcp # callbacks to cache managers afs3-callback 7001/udp # callbacks to cache managers afs3-prserver 7002/tcp # users & groups database afs3-prserver 7002/udp # users & groups database afs3-vlserver 7003/tcp # volume location database afs3-vlserver 7003/udp # volume location database afs3-kaserver 7004/tcp # AFS/Kerberos authentication service afs3-kaserver 7004/udp # AFS/Kerberos authentication service afs3-volser 7005/tcp # volume managment server afs3-volser 7005/udp # volume managment server afs3-errors 7006/tcp # error interpretation service afs3-errors 7006/udp # error interpretation service afs3-bos 7007/tcp # basic overseer process afs3-bos 7007/udp # basic overseer process afs3-update 7008/tcp # server-to-server updater afs3-update 7008/udp # server-to-server updater afs3-rmtsys 7009/tcp # remote cache manager service afs3-rmtsys 7009/udp # remote cache manager service sd 9876/tcp # Session Director
If you run into further issues with NRPE, which is also known as Nagios Remote Plugin Executor, don’t hesitate to ask the questions on QD Engage.