The check_snmp Plugin

check_snmp v2.3git (monitoring-plugins 2.3git)
Copyright (c) 1999-2007 Monitoring Plugins Development Team

Check status of remote machines and obtain system information via SNMP

check_snmp -H <ip_address> -o <OID> [-w warn_range] [-c crit_range]
[-C community] [-s string] [-r regex] [-R regexi] [-t timeout] [-e retries]
[-l label] [-u units] [-p port-number] [-d delimiter] [-D output-delimiter]
[-m miblist] [-P snmp version] [-N context] [-L seclevel] [-U secname]
[-a authproto] [-A authpasswd] [-x privproto] [-X privpasswd] [-4|6]
[-M multiplier [-f format]]

 -h, --help
    Print detailed help screen
 -V, --version
    Print version information
    Read options from an ini file. See
    for usage and examples.
 -4, --use-ipv4
    Use IPv4 connection
 -6, --use-ipv6
    Use IPv6 connection
 -H, --hostname=ADDRESS
    Host name, IP Address, or unix socket (must be an absolute path)
 -p, --port=INTEGER
    Port number (default: 161)
 -n, --next
    Use SNMP GETNEXT instead of SNMP GET
 -P, --protocol=[1|2c|3]
    SNMP protocol version
 -N, --context=CONTEXT
    SNMPv3 context
 -L, --seclevel=[noAuthNoPriv|authNoPriv|authPriv]
    SNMPv3 securityLevel
 -a, --authproto=[MD5|SHA]
    SNMPv3 auth proto
 -x, --privproto=[DES|AES]
    SNMPv3 priv proto (default DES)
 -C, --community=STRING
    Optional community string for SNMP communication (default is "public")
 -U, --secname=USERNAME
    SNMPv3 username
 -A, --authpasswd=PASSWORD
    SNMPv3 authentication password
 -X, --privpasswd=PASSWORD
    SNMPv3 privacy password
 -o, --oid=OID(s)
    Object identifier(s) or SNMP variables whose value you wish to query
 -m, --miblist=STRING
    List of MIBS to be loaded (default = none if using numeric OIDs or 'ALL'
    for symbolic OIDs.)
 -d, --delimiter=STRING
    Delimiter to use when parsing returned data. Default is "="
    Any data on the right hand side of the delimiter is considered
    to be the data that should be used in the evaluation.
 -z, --nulloid=#
    If the check returns a 0 length string or NULL value
    This option allows you to choose what status you want it to exit
    Excluding this option renders the default exit of 3(STATE_UNKNOWN)
    0 = OK
    1 = WARNING
    2 = CRITICAL
    3 = UNKNOWN
 -w, --warning=THRESHOLD(s)
    Warning threshold range(s)
 -c, --critical=THRESHOLD(s)
    Critical threshold range(s)
    Enable rate calculation. See 'Rate Calculation' below
    Converts rate per second. For example, set to 60 to convert to per minute
    Add/substract the specified OFFSET to numeric sensor data
 -s, --string=STRING
    Return OK state (for that OID) if STRING is an exact match
 -r, --ereg=REGEX
    Return OK state (for that OID) if extended regular expression REGEX matches
 -R, --eregi=REGEX
    Return OK state (for that OID) if case-insensitive extended REGEX matches
    Invert search result (CRITICAL if found)
 -l, --label=STRING
    Prefix label for output from plugin
 -u, --units=STRING
    Units label(s) for output data (e.g., 'sec.').
 -D, --output-delimiter=STRING
    Separates output on multiple OID requests
 -M, --multiplier=FLOAT
    Multiplies current value, 0 < n < 1 works as divider, defaults to 1
 -f, --fmtstr=STRING
    C-style format string for float values (see option -M)
 -t, --timeout=INTEGER
    Seconds before connection times out (default: 10)
    NOTE the final timeout value is calculated using this formula: timeout_interval * retries + 5
 -e, --retries=INTEGER
    Number of retries to be used in the requests, default: 5
 -O, --perf-oids
    Label performance data with OIDs instead of --label's
 -v, --verbose
    Show details for command-line debugging (output may be truncated by
    the monitoring system)

This plugin uses the 'snmpget' command included with the NET-SNMP package.
if you don't have the package installed, you will need to download it from before you can use this plugin.

 - Multiple OIDs (and labels) may be indicated by a comma or space-delimited  
   list (lists with internal spaces must be quoted).
 - See:
 for THRESHOLD format and examples.
 - When checking multiple OIDs, separate ranges by commas like '-w 1:10,1:,:20'
 - Note that only one string and one regex may be checked at present
 - All evaluation methods other than PR, STR, and SUBSTR expect that the value
   returned from the SNMP query is an unsigned integer.

Rate Calculation:
 In many places, SNMP returns counters that are only meaningful when
 calculating the counter difference since the last check. check_snmp
 saves the last state information in a file so that the rate per second
 can be calculated. Use the --rate option to save state information.
 On the first run, there will be no prior state - this will return with OK.
 The state is uniquely determined by the arguments to the plugin, so
 changing the arguments will create a new state file.

Send email to if you have questions regarding
use of this software. To submit patches or suggest improvements, send email