JNRPE - Java Nagios Remote Plugin Executor
JNRPE allows the execution of both native and Java Nagios plugins without the overhead of a new JVM instance for each java plugin execution.
Overview
- Nagios will invoke a check defined as a check_nrpe command.
- check_nrpe will invoke the command on the JNRPE server
- The Socket Listener (that implements the NRPE protocol) will parse and validate the received packet. If the packet is valid, it will ask the executor to execute the received command.
- The executor will ask the Command Registry to retrieve the command definition for the requested command
- After receiving the command, the executor will ask the command definition to create a COMMAND INSTANCE passing to the command definition all the received parameters. A COMMAND INSTANCE will contain teh requested plugin and all the parameters (replacing the $ARGx$ macros if needed).
- When a COMMAND INSTANCE is received, the executor will execute the command instance and return the result to the Socket Listener.
- The Socket Listener will then create a NRPE packet with the received result and will return that to check_nrpe.
- check_nrpe returns the check result to Nagios
Build the software
# ./gradlew build
Run the software
# ./gradlew run
Distributing
After gradlew build
the distribution files can be found into the it.jnrpe.server/build/distributions
folder.