Home Directory Plugins Hardware Network Gear Cisco Check various hardware environmental sensors

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
Email: sales@nagios.com


Remember Me

Directory Tree

Check various hardware environmental sensors

19 votes
Current Version
Last Release Date
Compatible With
  • Nagios 2.x
  • Nagios 3.x
check_snmp_environment.plVersion 0.7 - February 21 2011
Network Monitoring Software - Download Nagios XI
Log Management Software - Nagios Log Server - Download
Netflow Analysis Software - Nagios Network Analyzer - Download
The basic function of this script is to check various hardware environmental sensors, like power supply's, fans, cards, modules etc. Cisco, Nokia, BlueCoat, IronPort, Foundry, Linux, Extreme, Juniper, HP ProCurve, NetScreen, Citrix and Transmode.
Although some of the checks in this plugin are also in the "check_snmp_env" (version 1.3) from Patrick Proy I strongly suggest using this version as some of the checks in "check_snmp_env" aren't efficient or don't give alarms.
Supports SNMPv1, SNMPv2c(default), SNMPv3 and IPv6. Multiple Cisco checks might function on a single Cisco device! Also support for Cisco ASR platforms.

Supported Checks
cisco _______Cisco Systems : Fan, power-supply, voltage, temperature
ciscoSW ____Cisco Systems : Card and module status check
ciscoNEW __Cisco Systems : Sensor check for devices that have the CISCO-ENTITY-SENSOR-MIB
nokia ______Nokia IP : Fan, power-supply
bc _________ Blue Coat Systems : Fan, power-supply, voltage, disk
iron _______IronPort : Fan, power-supply, temperature
foundry ____Foundry Network : power supply, temperature
linux _______lm-sensors : Fan, voltage, temperature, misc
extremeSW _Extreme Networks : Slot, power-supply, fan, temperature
juniper _____Juniper Networks : Component status check
procurve ___HP ProCurve : Fan, power-supply, temperature
netscreen ___NetScreen : Slot, fan, power-supply
citrix _______Citrix NetScaler : Fan, , voltage, temperture, HA state, SSL engine
transmode __Transmode Systems : Check alarm table that is not deactivated and not acknowledged

Please send me an e-mail with requests, bugs or patches. Leave a reply below if you like the plugin :)

Michiel Timmers
Reviews (11)
I'm missing performance data and i tried checking a juniper SA2500 cluster on which it doesn't work.
On Cisco equipment it does work though and i give 3 stars for basically doing what it does, i would've given 4 if performance data was generated and 5 if more tresholds could be finetuned.
by, June 10, 2014

Good plugin.
I found a little bug. Here is a patch for fixing it:
--- ../check_snmp_environment.pl 2012-05-30 16:16:35.000000000 +0200
+++ ./check_snmp_environment.pl 2014-06-11 09:24:47.919573111 +0200
@@ -723,7 +723,7 @@

my $volt_global=0;
my %volt_status;
-if ($fanexist !=0) {
+if ($voltexist !=0) {
for ($i=0;$i
bypacketguy, March 5, 2014
Excellent script, its huge.

Thanks a lot for sharing and taking your time to make this.

However can you explain to me how i am able to see what the exact temperature is?

Example:./check_snmp_environment -H pgpa0sw1 -C netstat -T cisco -c 10
3 Fan OK, 2 ps OK, 10 temp OK : OK

I only get ok's but would like to know the exact temperature.
bya_rudolf, January 28, 2014
I have added support for netscreen internal temperature sensors. Plaese find the patch in your email box.

Thanks a lot for your work!
bypashas, September 23, 2013
I wrote a small patch. Added state PSUs "PowerOff".

--- check_snmp_environment.pl.old 2013-09-20 09:26:47.000000000 +0300
+++ check_snmp_environment.pl 2013-09-20 08:35:49.000000000 +0300
@@ -272,8 +272,8 @@
my @extreme_slot_nagios = (3,0,2,2,2,0,2,3);
my $extreme_ps_table = "";
my $extreme_ps_status = "";
-my @extreme_ps_status_text = ("--Invalid--","notPresent","presentOK","presentNotOK");
-my @extreme_ps_nagios = (3,1,0,2);
+my @extreme_ps_status_text = ("--Invalid--","notPresent","presentOK","presentNotOK","presentPowerOff");
+my @extreme_ps_nagios = (3,1,0,2,1);
my $extreme_fan_table = "";
my $extreme_fan_number = "";
my $extreme_fan_operational = "";
I have loaded the check_snmp_environment plugin and I believe that I have loaded the correct MIB (CISCO-ENVMON-MIB). Currently I get the following error when I test the following service check

Check: check_snmp_env -H $HOSTADDRESS$ -T cisco -l netmanager -x N0GUe5$MD5HPS -X N0GUe5$DESHPS

Error: ERROR opening session: Received usmStatsWrongDigests.0 Report-PDU with value 36 during synchronization.

I'm using SNMP v3.
bypws, August 28, 2012
Thanks for sharing this plugin. We're using it to monitor a few dozen Cisco switches. It was very simple to deploy and has accurately identified problems.
bysukanta, October 30, 2011
Very Good!
Very good and comprehensive, love this check.

We did however change the OID for the Extreme_ps_status to the next .1. as we have only 1 power supply connected in the switches it was returning an warning on the second supply.
Around line 273
#my $extreme_ps_status = "";
# only want PS one. DA 6/5/2011
my $extreme_ps_status = "";

I'm sure someone can do a more elegant solution however this works for us ATM.
byaskarali, March 7, 2011
1 of 1 people found this review helpful
This plugin enable us to start monitoring the various components of our Juniper devices mostly Juniper MX960.
Setting up the plugin in Nagios Version 3.2.3 is straight forward the only problem i faced was plugin works fine from command line but giving error 'Service check did not exit properly', quick googling reports its something to do with embedded perl. simple fix it to prefixes the command_line with full path to the perl. The command definition look like...

define command{
command_name check_snmp_components
command_line /usr/bin/perl $USER1$/check_snmp_environment.pl -H $HOSTADDRESS$ .....
byduxklr, January 27, 2011
1 of 1 people found this review helpful
Tested using Nagios 3.2.0 running on Ubuntu 10.04LTS checking various Cisco gear (6509, 2940, etc).