Environmental

check_sentry3

Description:

This program is a Nagios check the monitors servertech PDU / CDU devices using the Sentry3.mib MIB. It checks the following:

1) Environmental temperature (Auto-detects all sensors)
2) Environmental humidity (Auto-detects all sensors)
3) Input power (Auto-detects all input feeds)

Current Version

0.1

Last Release Date

2012-09-25

Compatible With

  • Nagios 3.x

License

GPL


Project Files
Project Notes
This program is a Nagios check the monitors servertech PDU / CDU devices using the Sentry3.mib MIB It checks the following: 1) Environmental temperature (Auto-detects all sensors) 2) Environmental humidity (Auto-detects all sensors) 3) Input power (Auto-detects all input feeds) Prerequisite Perl modules: Net::SNMP Nagios::Plugin Though Net::SNMP may be installable using package systems such as yum or apt. Both plugins may have to be done by hand like this: # perl -MCPAN -e 'install Nagios::Plugin' # perl -MCPAN -e 'install Net::SNMP'
Reviews (1) Add a Review
Great after a few fixes, listed below
by mikecook, August 31, 2013

@@ -12,9 +12,10 @@ # Prerequisite Perl modules: # # Net::SNMP -# Nagios::Plugin +# Nagios::Plugin (version 0.36 or later) # # Though Net::SNMP may be installable using package systems such as yum or apt, +# if you don't have Nagios::Plugin packaged at version 0.36 or later, # Nagios::Plugin may have to be done by hand like this: # # $ perl -MCPAN -e 'install Nagios::Plugin' @@ -193,7 +194,19 @@ sub nagios_report { $count +=1; # Define the values we are going to test against - $nagios_value[$count] = sprintf("%.2f",$poll_results{$key}); + # Do this after "$count +=1" so we can correctly index results to exact sensors. + # If only humidity sensor "1" and "3" are plugged in don't show result for "2". + # e.g "SERVERTECH_HUMIDITY WARNING - Humidity1 @ 39.00%, Humidity3 @ 41.00% + # | Humidity1=39.00%;30;85 Humidity3=41.00%;30;85". + # This also prevents perf data shifting to a new key if you add a sensor. + if ($poll_results{$key} >= 0){ + $nagios_value[$count] = sprintf("%.2f",$poll_results{$key}); + } else { + # Don't add negative numbers to @nagios_value that cause Nagios::Plugin::Range + # (via check_threshold) test to fail. + # Also don't add empty sensor data to the perf hashes. + next; + } # Process the value if ($cmd_flags{do_temp}){ @@ -255,6 +268,9 @@ sub nagios_report { } } + # remove undefs now that $message has sensor postions set by $nagios_value[$count] + @nagios_value = grep defined, @nagios_value; + # Remove trailing comma from $message $message =~ s/,+s+$//g; @@ -554,9 +570,10 @@ print STDERR << "EOF"; Prerequisite Perl modules: Net::SNMP - Nagios::Plugin + Nagios::Plugin (version 0.36 or later) Though Net::SNMP may be installable using package systems such as yum or apt, + if you don't have Nagios::Plugin packaged at version 0.36 or later, Nagios::Plugin may have to be done by hand like this: # perl -MCPAN -e 'install Nagios::Plugin'



Add a Review

You must be logged in to submit a review.

Thank you for your review!

Your review has been submitted and is pending approval.

Recommend

To:


From:


Thank you for your recommendation!

Your recommendation has been sent.

Project Stats
Rating
5 (1)
Favorites
0
Views
53,615