Nagios-compatible Plugins for Linux
Here is the list of the available plugins:
- check_clock - returns the number of seconds elapsed between local time and Nagios server time
- check_cpu - checks the CPU (user mode) utilization
- check_cpufreq - displays the CPU frequency characteristics
- check_cswch - checks the total number of context switches across all CPUs
- check_docker - checks the number of running docker containers (:warning: alpha, requires libcurl version 7.40.0+)
- check_fc - monitors the status of the fiber status ports
- check_ifmountfs - checks whether the given filesystems are mounted
- check_intr - monitors the total number of system interrupts
- check_iowait - monitors the I/O wait bottlenecks
- check_load - checks the current system load average
- check_memory - checks the memory usage
- check_multipath - checks the multipath topology status
- check_nbprocs - displays the number of running processes per user
- check_network - displays some network interfaces statistics. The following plugins are symlinks to check_network:
- check_paging - checks the memory and swap paging
- check_pressure - checks Linux Pressure Stall Information (PSI) data :new:
- check_podman - monitor the status of podman containers (:warning: beta, requires libvarlink)
- check_readonlyfs - checks for readonly filesystems
- check_swap - checks the swap usage
- check_tcpcount - checks the tcp network usage
- check_temperature - monitors the hardware's temperature
- check_uptime - checks how long the system has been running
- check_users - displays the number of users that are currently logged on
The full documentation of the
nagios-plugins-linux is available online
in the GitHub wiki page.
This package uses
GNU autotools for configuration and installation.
If you have cloned the git repository
git clone --recursive https://github.com/madrisan/nagios-plugins-linux.git
then you will need to run
autoreconf --install to generate the required files.
./configure --help to see a list of available install options.
The plugin will be installed by default into
It is highly likely that you will want to customise this location to suit your needs, i.e.:
check_multipath grabs the status of each path by opening a
connection to the multipathd socket. The default value is currently set to
the Linux abstract socket namespace
but can be modified at build time by using the option
Example (RHEL5 and RHEL6 and other old distributions):
./configure has completed successfully run
make install and
You can also run the (still incomplete) set of bundled unit tests by entering
make check (or
VERBOSE=1 make check) and, if the llvm tool
scan-build is installed on your system, a
make -C tests check-clang-checker
to get a static code analysis report (for developers only).
Note: you can also pass the experimental option
configure for getting the informations about memory and swap usage through
the API of the library
This library is still under active development and no stable version has
been released yet.
Supported Platforms and Linux distributions
This package is written in plain C, making as few assumptions as possible, and sticking closely to ANSI C/POSIX. A C99-compliant compiler is required anyway.
This package is known to compile with:
- gcc 4.1 (RHEL 5 / CentOS 5),
- gcc 4.4 (RHEL6 / CentOS 6),
- gcc 4.8 (RHEL7 / CentOS 7),
- gcc 3.x, 5.1, 5.3, 6.3, 7, 8, 9, 10, 11 (openmamba GNU/Linux, Debian 8+, Fedora 25+),
- clang 3.7, 3.8, 4.9, 5, 6, 7, 8, 10, 11, 12, 13 (openmamba GNU/Linux, Fedora 25+),
List of the Linux kernels that have been successfully tested:
- 2.6.18, 2.6.32,
- 3.10, 3.14, 3.18,
- 4.2, 4.4, 4,9, 4.14, 4.15, 4.16, 4.19
- 5.6, 5.7, 5.8, 5.12-5.16
The Nagios Plugins Linux are regularly tested on
- Alpine Linux (musl libc),
- Debian, Fedora, Gentoo, and Ubuntu (GNU C Library (glibc)).
Alpine, CentOS Stream, Debian, and Fedora Packages
.deb packages for Alpine, CentOS/RHEL, Debian, and Fedora can be built using the following commands
|CentOS Stream 8||
|CentOS Stream 9||
|Debian 9 (Stretch)||
|Debian 10 (Buster)||
|Debian 11 (Bullseye)||
in the root source folder. The building process requires the Docker software containerization platform running on your system, and an internet connection to download the Docker images of the operating systems you want to build the packages for.
On Fedora (and all the distributions shipping Podman) you can use the native Podman pod manager along with the Docker CLI emulation script:
sudo install dnf podman podman-docker
Note: the previous make commands can end with a
permission denied error if selinux is configured in enforcing mode.
In this case you can temporarily disable selinux by executing as root the command
(or maybe share a better solution!).
The plugins are available in the Gentoo tree. They can be installed by running:
emerge -av net-analyzer/nagios-plugins-linux-madrisan
The USE flags
varlink are required to respectively build
If you find a bug please create an issue in the project bug tracker at GitHub