https://github.com/ziccardi/jnrpe
The jnrpe package repository
https://github.com/ziccardi/jnrpe
java monitoring nagios plugin
Last synced: 7 months ago
JSON representation
The jnrpe package repository
- Host: GitHub
- URL: https://github.com/ziccardi/jnrpe
- Owner: ziccardi
- License: apache-2.0
- Created: 2014-02-19T11:52:23.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2023-07-17T17:21:47.000Z (over 2 years ago)
- Last Synced: 2025-03-01T08:44:57.932Z (8 months ago)
- Topics: java, monitoring, nagios, plugin
- Language: Java
- Homepage:
- Size: 37.6 MB
- Stars: 14
- Watchers: 6
- Forks: 7
- Open Issues: 29
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://coveralls.io/github/ziccardi/jnrpe?branch=master)
[](https://github.com/ziccardi/jnrpe/actions/workflows/codeql-analysis.yml)
# JNRPE - Java [**Nagios**](https://www.nagios.org/) 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

1. [**Nagios**](https://www.nagios.org/) will invoke a check defined as a _check_nrpe_ command.
2. **check_nrpe** will invoke the command on the JNRPE server
3. 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.
4. The **executor** will ask the **Command Registry** to retrieve the command definition for the requested command
5. 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).
6. When a **COMMAND INSTANCE** is received, the **executor** will execute the command instance and return the result to the **Socket Listener**.
7. The Socket Listener will then create a NRPE packet with the received result and will return that to **check_nrpe**.
8. **check_nrpe** returns the check result to **Nagios**
# Build the software
```bash
# ./gradlew build
```
# Run the software
```bash
# ./gradlew run
```
# Distributing
After `gradlew build` the distribution files can be found into the `it.jnrpe.server/build/distributions` folder.