Build precise queries to find exactly what you need
Press ESC to close
Your review has been submitted and is pending approval.
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
Owner
Peter Harrison
Website
http://www.linuxhomenetworking.com
License
GPL
Compatible With
PNP4Nagios Template
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'
@@ -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'
You must be logged in to submit a review.
To:
From:
We’ve completely redesigned the world’s largest repository of Nagios plugins and monitoring tools. Join thousands of users sharing monitoring solutions for servers, applications, and everything in between.
Due to our redesign, all existing accounts require a password reset to access your account again.
Ready to explore 6,100+ projects and contribute to the community?
Reset Password Create Account
Happy Monitoring!