{"id":16685416,"url":"https://github.com/ziccardi/jnrpe","last_synced_at":"2025-03-21T18:33:05.032Z","repository":{"id":542842,"uuid":"16982696","full_name":"ziccardi/jnrpe","owner":"ziccardi","description":"The jnrpe package repository","archived":false,"fork":false,"pushed_at":"2023-07-17T17:21:47.000Z","size":39457,"stargazers_count":14,"open_issues_count":29,"forks_count":7,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-03-01T08:44:57.932Z","etag":null,"topics":["java","monitoring","nagios","plugin"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ziccardi.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-02-19T11:52:23.000Z","updated_at":"2025-02-24T21:16:09.000Z","dependencies_parsed_at":"2024-10-28T11:29:26.387Z","dependency_job_id":"963b7e4f-a47a-42a8-a5f9-e4dd275d2289","html_url":"https://github.com/ziccardi/jnrpe","commit_stats":null,"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ziccardi%2Fjnrpe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ziccardi%2Fjnrpe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ziccardi%2Fjnrpe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ziccardi%2Fjnrpe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ziccardi","download_url":"https://codeload.github.com/ziccardi/jnrpe/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244153316,"owners_count":20406996,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java","monitoring","nagios","plugin"],"created_at":"2024-10-12T14:47:13.924Z","updated_at":"2025-03-21T18:33:04.522Z","avatar_url":"https://github.com/ziccardi.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Coverage Status](https://coveralls.io/repos/github/ziccardi/jnrpe/badge.svg?branch=master)](https://coveralls.io/github/ziccardi/jnrpe?branch=master)\n[![CodeQL](https://github.com/ziccardi/jnrpe/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/ziccardi/jnrpe/actions/workflows/codeql-analysis.yml)\n\n# JNRPE - Java [**Nagios**](https://www.nagios.org/) Remote Plugin Executor\n\nJNRPE allows the execution of both native and Java Nagios plugins without the overhead of a new JVM instance for each\njava plugin execution.\n\n# Overview\n![JNRPE Overview](docs/assets/overview.png)\n\n1. [**Nagios**](https://www.nagios.org/) will invoke a check defined as a _check_nrpe_ command.\n2. **check_nrpe** will invoke the command on the JNRPE server\n3. The **Socket Listener** (that implements the NRPE protocol) will parse and validate the received packet. If the packet is valid,\nit will ask the **executor** to execute the received command.\n4. The **executor** will ask the **Command Registry** to retrieve the command definition for the requested command\n5. After receiving the command, the **executor** will ask the command definition to create a **COMMAND INSTANCE** passing \nto 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). \n6. When a **COMMAND INSTANCE** is received, the **executor** will execute the command instance and return the result to the **Socket Listener**.\n7. The Socket Listener will then create a NRPE packet with the received result and will return that to **check_nrpe**.\n8. **check_nrpe** returns the check result to **Nagios**\n\n# Build the software\n```bash\n# ./gradlew build\n```\n\n# Run the software\n\n```bash\n# ./gradlew run\n```\n\n# Distributing\nAfter `gradlew build` the distribution files can be found into the `it.jnrpe.server/build/distributions` folder. \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fziccardi%2Fjnrpe","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fziccardi%2Fjnrpe","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fziccardi%2Fjnrpe/lists"}