Simple replacement for the NRPE-Server that is shipped with most Icinga/Nagios installations.
Find a file
2025-05-18 21:18:08 +02:00
cmd/nrpe upd: use GO= makefile variable 2022-05-18 22:07:49 +02:00
.gitignore initial version 2020-12-15 17:14:13 +01:00
.gogogo.conf build: gogogo: disable CGO 2025-05-18 21:14:50 +02:00
go.mod update dependencies 2024-10-28 16:37:55 +01:00
go.sum build: fix Makefile(s) and go.{mod,sum} 2021-04-02 18:43:58 +02:00
Makefile upd: use GO= makefile variable 2022-05-18 22:07:49 +02:00
README.md Rename cmd/server to cmd/nrpe to reflect reality 2021-10-24 11:41:51 +02:00

Go-NRPE

This is a simple replacement for the NRPE tools (server/client) that are used for Icinga/Nagios remote checks.

I wrote this, because we ran into issues with current NRPE clients and legacy NRPE servers. Their protocol and SSL versions were not compatible with each other.

Currently only the server is implemented and should be feature complete.

Server

The server aims to be a drop-in replacement for the legacy nrped. We use this replacement in production on old i386, amd64 and ARM Debian GNU/Linux systems (old means: Debian 7, 8, 9).

Build

Clone this repo (it includes 3rd party dependencies already) and then use the provided Makefiles:

Either in the toplevel directory (builds for Linux/amd64 and Linux/386):

make all

Or make the build for the OS and architecture you need:

GOOS=<os> GOARCH=<arch> make -C cmd/nrpe

Currently only the following combinartions are known to work:

GOOS/GOARCH 386 amd64 arm
linux ✔️ ✔️ ✔️
darwin ✔️ ✔️

¹) With Go1.14 I run unto a kernel bug (mlock) on at least one Ubuntu machine using 5.4.0-77-generic #86-Ubuntu SMP Thu Jun 17 02:35:03 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux. Using Go1.16 works until now.