Search Exchange

Search All Sites

Nagios Live Webinars

Let our experts show you how Nagios can help your organization.

Contact Us

Phone: 1-888-NAGIOS-1


Remember Me

Directory Tree


2 votes
Current Version
Last Release Date
Compatible With
  • Nagios 3.x
check_cpucheck_cpu script
snmpd_check_memmodified version of Justin Ellison's
Network Monitoring Software - Download Nagios XI
Log Management Software - Nagios Log Server - Download
Netflow Analysis Software - Nagios Network Analyzer - Download
This plugin is written in Perl and was built for use with both Linux and Solaris systems.
It uses SNMP to fetch cpu, load, ram or swap metrics.
All four checks are built into one script, symlinks control how you call the script (and therefore what it returns).

* Written in Perl - easy to modify
* Justin Ellison's check mem for Solaris (ZFS caching)
* Multiple (fallback) OIDs are checked until one returns results
* Flexible controls (e.g. return in MB or % used, above or below thresholds, etc)
* NOTE: Although this script 'falls back' to SSH if SNMP is not working, Solaris SWAP is not supported. It will return results, but the Solaris swap command reports back a summary of both physical memory and swap space together. Therefore, running "swap -s" on Solaris will NOT match the SNMP results you get with this script! A more accurate match can be found by running the "top" command (if you have it installed) and looking at the "total swap" and "free swap" metrics in that tool.

1) Put check_cpu into your Nagios libexec directory
(e.g. /usr/local/Nagios/libexec, or wherever Nagios is installed on your server)

2) Create the symbolic links, being careful not to overwrite any files by the same name already there:
ln –s check_cpu check_load
ln –s check_cpu check_ram
ln –s check_cpu check_swap
(these symlinks dictate how the script is run, as it can check CPU, RAM, load and swap, depending on how it is invoked)

3) If you are checking any Solaris hosts with ZFS:
a) Put the snmpd_check_mem onto any remote ZFS hosts you are monitoring (install it under /usr/local/nagios/libexec)
b) Edit snmpd.conf on remote host.
- If you are using Net-SNMPd version 5.2 or above, add this line to snmpd.conf:
extend checkmem /usr/local/nagios/libexec/snmpd_check_mem
- For versions of Net-SNMPd prior to 5.2 (including the Solaris 10 SMA version 5.0.9), use this line in your snmpd.conf file instead:
exec checkmem /usr/local/bin/perl /usr/local/nagios/libexec/snmpd_check_mem
4) Edit your Nagios commands.cfg file and add some entries like this:

# 'check_cpu' command definition
# w = Warning level (if CPU % idle falls below this level - must be a percentage)
# c = Critical level
define command{
command_name check_cpu
command_line $USER1$/check_cpu -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ -p $USER3$

# 'check_swap' command definition
# w = Warning level (if % or MB swap free drops below this level)
# c = Critical level
define command{
command_name check_swap
command_line $USER1$/check_swap -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ -p $USER3$

# 'check_ram' command definition
# w = Warning level defined as percentage (with % sign) or in megabytes (without % sign)
# c = Critical level (can be defined as percentage or MB independently of warning)
# o = below|above --> if mem [free drops BELOW] or [used rises ABOVE] thresholds
define command{
command_name check_ram
command_line $USER1$/check_ram -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ -p $USER3$ -o $ARG3$

# 'check_load' command definition
# w = Warning levels (alert if n,n,n (1,5,15 minute load averages) go above these levels)
# c = Critical levels
define command{
command_name check_load
command_line $USER1$/check_load -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ -p $USER3$

For additional information about Justin's ZFS mem check, see his website:
Please note that the version I include here HAS BEEN MODIFIED and hard coded to return results in a different format.
Reviews (2)
bybaugustoss, December 12, 2012
It Works Great!! Help me to monitor my infrastructure.

Nice job
bywistoka, March 21, 2012
1 of 1 people found this review helpful
I used this plugin to check cpu, swap and memory of Solaris machines without nrpe client and find this easy to use and configure.