check_netbotz

Monitoring plugins for NetBotz temperature, humidity and door sensors.

check_netbotz

This repository contains two bash scripts for monitoring temperature, humidity and door sensors on NetBotz Rack Monitor devices via SNMP v2c or v3. The check plugins are developed for Icinga, but should also work for other (Nagios based) monitoring tools. All connected wired sensors of the specified type are automatically detected and checked for compliance with the specified thresholds and for any alarms present on the NetBotz device. Performance data will also be generated based on the sensor values and thresholds.

Works with NetBotz devices using the PowerNet MIB (e.g. NetBotz 250) or NetBotz MIB (e.g. NetBotz 320E, 450). You can manually specify the MIB to use (see --mib option below). If you do not specify a MIB, the plugins try to automatically detect the device type.

Needs Net-SNMP Package installed. Tested with Ubuntu 18.04 and 20.04.

For installation, simply copy the two .sh files to /usr/lib/nagios/plugins (or wherever your check plugins are stored) and make them executable.

Temperature and humidity checks

Usage: check_netbotz_temp_humid.sh [OPTIONS]

Option   GNU long option     Meaning
------   ---------------     -------
 -H      --hostaddr          Host address (Icinga object host.address)
 -P      --protocol          SNMP protocol version. Possible values: 2c|3
 -C      --community         SNMPv2c community string for SNMP communication (for example 'public')
 -a      --authproto         SNMPv3 auth proto. Possible values: MD5|SHA
 -x      --privproto         SNMPv3 priv proto. Possible values: DES|AES
 -U      --secname           SNMPv3 username
 -A      --authpasswd        SNMPv3 authentication password
 -X      --privpasswd        SNMPv3 privacy password
 -m      --mib               MIB to use. Possible values: 'powernet' (e.g. used by NetBotz 250) or 'netbotz' (e.g. used by NetBotz 320E and 450)
 -t      --type              Test Type. Valid values are 'temp' for temperature test, and 'humid' for humidity tests. [Default:temp]
 -w      --warn-low          Set warning low threshold. For Devices with powernet mib, the threshold will be retrieved from the device if this option is omitted.
 -W      --warn-high         Set warning high threshold. For Devices with powernet mib, the threshold will be retrieved from the device if this option is omitted.
 -z      --crit-low          Set critical low threshold. For Devices with powernet mib, the threshold will be retrieved from the device if this option is omitted.
 -Z      --crit-high         Set critical high threshold. For Devices with powernet mib, the threshold will be retrieved from the device if this option is omitted.
 -q      --help              Show this message
 -v      --version           Print version information and exit

Usage examples:
For SNMPv2:
check_netbotz_temp_humid.sh -H 10.10.10.10 -P 2c -C public -m powernet
For SNMPv3:
check_netbotz_temp_humid.sh -H 10.10.10.10 -P 3 -U icinga -a MD5 -A myAuthPzwD -x DES -X myPrivPw0d -m netbotz

Door switch and dry contact input sensor checks

Usage: check_netbotz_door.sh [OPTIONS]

Option   GNU long option     Meaning
------   ---------------     -------
 -H      --hostaddr          Host address (Icinga object host.address)
 -P      --protocol          SNMP protocol version. Possible values: 2c|3
 -C      --community         SNMPv2c community string for SNMP communication (for example 'public')
 -a      --authproto         SNMPv3 auth proto. Possible values: MD5|SHA
 -x      --privproto         SNMPv3 priv proto. Possible values: DES|AES
 -U      --secname           SNMPv3 username
 -A      --authpasswd        SNMPv3 authentication password
 -X      --privpasswd        SNMPv3 privacy password
 -m      --mib               MIB to use. Possible values: powernet (e.g. used by NetBotz 250) or netbotz (e.g. used by NetBotz 320E and 450)
 -q      --help              Show this message
 -v      --version           Print version information and exit