SAN and NAS

3PAR check script

Description:

Check script for HP 3PAR storage systems

Current Version

0.3

Last Release Date

2011-04-20

Compatible With

  • Nagios 3.x

Project Files
Project Notes
Require 3PAR Inform OS v2.3.1 Connection to the 3PAR system is supported using SSH or the 3PAR CLI binaries. Default is SSH (no installation of the CLI binaries is required) Current version supports monitoring : - Physical disks - Controller nodes status - Power supplies - Virtual volumes status - Logical disks status - FC ports - FC disks capacity usage % - NL disks capacity usage % Please read installation guide
Reviews (13) Add a Review
WARNING Powersupply Check does not work
by Rick, April 30, 2020

This is a good check but fair warning- the power supply check does not return a critical code if it detects an issue there are updated versions elsewhere on the web



Fixed version available
by pgh2011, April 30, 2018

Hi, On https://github.com/pgh2011/check_3par there is new version of the script with a fix. Fixed issue when there are more then 150 physical disks. Is works on the commandline but not in the Nagios check. Output when the check via Nagios is started: line 481: 100 - ( ( * 100 ) / ) : syntax error: operand expected (error token is "* 100 ) / ) ") check_3par ERROR: ERROR Wrong command 'check_cap_ssd' .



Version 5
by qaxi, March 31, 2017

Hello everybody, on GIT https://github.com/qaxi/nagios-check_3par there is version 5 of the script. there is Quorum Witenes checking for Peer Persitence



3PAR password
by Badia, December 31, 2016

Same problem here, 3PAR is stillasking for a password after following succesfully SSH key process



Completing script
by yvacc, December 31, 2016

I have completed this well working script with other scripts and some test usefull for us: Check volume : https://exchange.nagios.org/directory/Plugins/Operating-Systems/%2A-Virtual-Environments/VMWare/Check_3par_volume/details check power supply node and check power supply cage and check SSD found upper #!/bin/bash -x # 3PAR Nagios check script v0.3 # Last update 2010/05/14 fredl@3par.com # Last update 2011/03/03 ddu@antemeta.fr # Last update 2016/12/16 yves.vaccarezza@corsedusud.fr # # This script is provided "as is" without warranty of any kind and 3PAR specifically disclaims all implied warranties of merchantability, # non-infringement and fitness for a particular purpose. In no event shall 3PAR have any liability arising out of or related to # customer's 'use of the script including lost data, lost profits, or any direct or indirect, incidental, special, or # consequential damages arising there from. # In addition, 3PAR reserves the right not to perform fixes or updates to this script # # # Usage : check_3par InServ Username Command # # Supported commands # check_pd : Check status of physical disks # Degraded -> Warning # Failed -> Critical # # check_node : Check status of controller nodes # Degraded -> Warning # Failed -> Critical # # check_ld : Check status of logical disks # Degraded -> Warning # Failed -> Critical # # check_vv : Check status of virtual volumes # Degraded -> Warning # Failed -> Critical # # check_port_fc : Check status of virtual volumes # loss_sync -> Warning # config_wait -> Warning # login_wait -> Warning # non_participate -> Warning # error -> Critical # # check_cap_fc : Check used FC capacity # >= $PCWARNINGFC -> Warning # >= $PCCRITICALFC -> Critical # # check_cap_nl : Check used NL capacity # >= $PCWARNINGNL -> Warning # >= $PCCRITICALNL -> Critical # # check_cap_ssd : Check used SSD capacity # >= $PCWARNINGSSD -> Warning # >= $PCCRITICALSSD -> Critical # # check_ps : Check Power Supply Node # Degraded -> Warning # Failed -> Critical # # check_ps_cage : Check Power Supply Cage # Degraded -> Warning # Failed -> Critical # ## check_volume : Check cpacity volume # >= WARNING -> Warning # >= CRITICAL -> Critical # # if [ "$1" == "" ] || [ $2 == "" ] || [ $3 == "" ] then echo Invalid usage : check_3par InServ Username/passwordfile Command exit 3 fi INSERV=$1 USERNAME=$2 COMMAND=$3 VMFS=$4 TMPDIR=/tmp PCCRITICALFC=90 PCWARNINGFC=80 PCCRITICALNL=95 PCWARNINGNL=90 PCWARNINGSSD=90 PCCRITICALSSD=95 CRITICAL=90 WARNING=80 # To connect using the 3PAR CLI, uncomment the following line #CONNECTCOMMAND="/opt/3PAR/inform_cli_2.3.1/bin/cli -sys $INSERV -pwf $USERNAME" # Note : connecting using the CLI requires creating password files (.pwf) # To connect using SSH. uncomment the following line CONNECTCOMMAND="ssh $USERNAME@$INSERV" # Note : connecting using SSH requires setting public key authentication #echo $INSERV $USERNAME $COMMAND >> $TMPDIR/3par_check_log.out if [ $COMMAND == "check_pd" ] then $CONNECTCOMMAND showpd -showcols Id,State -nohdtot > $TMPDIR/3par_$COMMAND.$INSERV.out 2>>$TMPDIR/log.out if [ $? -gt 0 ] then echo Could not connect to InServ $INSERV exit 3 fi if [ `grep -c failed $TMPDIR/3par_$COMMAND.$INSERV.out` -gt 0 ] then echo CRITICAL! The following PDs have abnormal status : `grep -v normal $TMPDIR/3par_$COMMAND.$INSERV.out | tr -d 'n'` rm -f $TMPDIR/3par_$COMMAND.$INSERV.out exit 2 else if [ `grep -c degraded $TMPDIR/3par_$COMMAND.$INSERV.out` -gt 0 ] then echo WARNING! The following PDs have abnormal status : `grep -v normal $TMPDIR/3par_$COMMAND.$INSERV.out | tr -d 'n'` rm -f $TMPDIR/3par_$COMMAND.$INSERV.out exit 1 else echo OK : All PDs have normal status rm -f $TMPDIR/3par_$COMMAND.$INSERV.out exit 0 fi fi fi if [ $COMMAND == "check_node" ] then $CONNECTCOMMAND shownode -s -nohdtot > $TMPDIR/3par_$COMMAND.$INSERV.out if [ $? -gt 0 ] then echo Could not connect to InServ $INSERV exit 3 fi if [ `grep -c -i failed $TMPDIR/3par_$COMMAND.$INSERV.out` -gt 0 ] then echo CRITICAL! The following nodes have abnormal status : `grep -i failed $TMPDIR/3par_$COMMAND.$INSERV.out | tr -s " " | tr -d 'n'` rm -f $TMPDIR/3par_$COMMAND.$INSERV.out exit 2 else if [ `grep -c -i degraded $TMPDIR/3par_$COMMAND.$INSERV.out` -gt 0 ] then echo WARNING! The following nodes have abnormal status : `grep -i degraded $TMPDIR/3par_$COMMAND.$INSERV.out | tr -s " " | tr -d 'n'` rm -f $TMPDIR/3par_$COMMAND.$INSERV.out exit 1 else echo OK : All nodes have normal status rm -f $TMPDIR/3par_$COMMAND.$INSERV.out exit 0 fi fi fi if [ $COMMAND == "check_ps" ] then $CONNECTCOMMAND shownode -ps -nohdtot > $TMPDIR/3par_$COMMAND.$INSERV.out if [ $? -gt 0 ] then echo Could not connect to InServ $INSERV RC=3 fi if [ `grep -c -i failed $TMPDIR/3par_$COMMAND.$INSERV.out` -gt 0 ] then echo CRITICAL! The following Node Power Supply have abnormal status : `grep -i failed $TMPDIR/3par_$COMMAND.$INSERV.out | tr -s " " | tr -d 'n'` rm -f $TMPDIR/3par_$COMMAND.$INSERV.out RC=2 else if [ `grep -c -i degraded $TMPDIR/3par_$COMMAND.$INSERV.out` -gt 0 ] then echo WARNING! The following Node Power Supply have abnormal status : `grep -i degraded $TMPDIR/3par_$COMMAND.$INSERV.out | tr -s " " | tr -d 'n'` rm -f $TMPDIR/3par_$COMMAND.$INSERV.out RC=1 else echo OK : All Power Supply have normal status rm -f $TMPDIR/3par_$COMMAND.$INSERV.out RC=0 fi fi fi if [ $COMMAND == "check_ps_cage" ] then $CONNECTCOMMAND showcage -d > $TMPDIR/3par_$COMMAND.$INSERV.out if [ $? -gt 0 ] then echo Could not connect to InServ $INSERV RC=3 fi if [ `awk '{ if ($0 ~ "------Cage") cage=$5; if ($0 ~ "Failed") print cage" "$0}' $TMPDIR/3par_$COMMAND.$INSERV.out|wc -l` -gt 0 ] then echo CRITICAL! The following cages have abnormal status : `awk '{ if ($0 ~ "------Cage") cage=$5; if ($0 ~ "Failed") print cage" "$0}' $TMPDIR/3par_$COMMAND.$INSERV.out | tr -s " " | tr -d 'n'` rm -f $TMPDIR/3par_$COMMAND.$INSERV.out RC=2 else if [ `awk '{ if ($0 ~ "------Cage") cage=$5; if ($0 ~ "Degraded") print cage" "$0}' $TMPDIR/3par_$COMMAND.$INSERV.out|wc -l` -gt 0 ] then echo WARNING! The following cages have abnormal status : `awk '{ if ($0 ~ "------Cage") cage=$5; if ($0 ~ "Degraded") print cage" "$0}' $TMPDIR/3par_$COMMAND.$INSERV.out | tr -s " " | tr -d 'n'` rm -f $TMPDIR/3par_$COMMAND.$INSERV.out RC=1 else echo OK : All cages have normal status rm -f $TMPDIR/3par_$COMMAND.$INSERV.out RC=0 fi fi fi if [ $COMMAND == "check_vv" ] then $CONNECTCOMMAND showvv -showcols Name,State -notree -nohdtot > $TMPDIR/3par_$COMMAND.$INSERV.out if [ $? -gt 0 ] then echo Could not connect to InServ $INSERV exit 3 fi if [ `grep -c -i failed $TMPDIR/3par_$COMMAND.$INSERV.out` -gt 0 ] then echo CRITICAL! There are failed VVs. Contact 3PAR support rm -f $TMPDIR/3par_$COMMAND.$INSERV.out exit 2 else if [ `grep -c -i degraded $TMPDIR/3par_$COMMAND.$INSERV.out` -gt 0 ] then echo WARNING! There are degraded VVs. Contact 3PAR support rm -f $TMPDIR/3par_$COMMAND.$INSERV.out exit 1 else echo OK : All VVs are normal rm -f $TMPDIR/3par_$COMMAND.$INSERV.out exit 0 fi fi fi if [ $COMMAND == "check_ld" ] then $CONNECTCOMMAND showld -state -nohdtot > $TMPDIR/3par_$COMMAND.$INSERV.out if [ $? -gt 0 ] then echo Could not connect to InServ $INSERV exit 3 fi if [ `grep -c -i failed $TMPDIR/3par_$COMMAND.$INSERV.out` -gt 0 ] then echo CRITICAL! There are failed LDs. Contact 3PAR support rm -f $TMPDIR/3par_$COMMAND.$INSERV.out exit 2 else if [ `grep -c -i degraded $TMPDIR/3par_$COMMAND.$INSERV.out` -gt 0 ] then echo WARNING! There are degraded LDs. Contact 3PAR support rm -f $TMPDIR/3par_$COMMAND.$INSERV.out exit 1 else echo OK : All LDs have normal status rm -f $TMPDIR/3par_$COMMAND.$INSERV.out exit 0 fi fi fi if [ $COMMAND == "check_port_fc" ] then $CONNECTCOMMAND showport -nohdtot > $TMPDIR/3par_$COMMAND.$INSERV.out1 if [ $? -gt 0 ] then echo Could not connect to InServ $INSERV exit 3 fi grep -v -i iscsi $TMPDIR/3par_$COMMAND.$INSERV.out1 | grep -v -i rcip > $TMPDIR/3par_$COMMAND.$INSERV.out rm -f $TMPDIR/3par_$COMMAND.$INSERV.out1 if [ `grep -c -i error $TMPDIR/3par_$COMMAND.$INSERV.out` -gt 0 ] then echo CRITICAL! Some ports are in the error state rm -f $TMPDIR/3par_$COMMAND.$INSERV.out exit 2 else if [ `grep -c -i loss_sync $TMPDIR/3par_$COMMAND.$INSERV.out` -gt 0 ] || [ `grep -c -i config_wait $TMPDIR/3par_$COMMAND.$INSERV.out` -gt 0 ] || [ `grep -c -i login_wait $TMPDIR/3par_$COMMAND.$INSERV.out` -gt 0 ] || [ `grep -c -i non_participate $TMPDIR/3par_$COMMAND.$INSERV.out` -gt 0 ] then echo WARNING! Some ports are in an abnormal state (loss_sync, config_wait, login_wait or non_participate) rm -f $TMPDIR/3par_$COMMAND.$INSERV.out exit 1 else echo OK : All FC ports have normal status (ready or offline) rm -f $TMPDIR/3par_$COMMAND.$INSERV.out exit 0 fi fi fi if [ $COMMAND == "check_cap_fc" ] then $CONNECTCOMMAND showpd -p -devtype FC -showcols Size_MB,Free_MB -csvtable > $TMPDIR/3par_$COMMAND.$INSERV.out if [ $? -gt 0 ] then echo Could not connect to InServ $INSERV exit 3 fi if [ `tail -1 $TMPDIR/3par_$COMMAND.$INSERV.out` = "No PDs listed" ] then echo No FC disks rm -f $TMPDIR/3par_$COMMAND.$INSERV.out exit 0 fi TOTCAPFC=`cat ${TMPDIR}/3par_${COMMAND}.${INSERV}.out | tail -1 | cut -d, -f1` FREECAPFC=`cat ${TMPDIR}/3par_${COMMAND}.${INSERV}.out | tail -1 | cut -d, -f2` USEDCAPPCFC=`expr 100 - ( ( $FREECAPFC * 100 ) / $TOTCAPFC )` if [ $USEDCAPPCFC -ge $PCCRITICALFC ] then echo CRITICAL! Used FC capacity = $USEDCAPPCFC% ( > $PCCRITICALFC% ) rm -f $TMPDIR/3par_$COMMAND.$INSERV.out exit 2 else if [ $USEDCAPPCFC -ge $PCWARNINGFC ] then echo WARNING! Used FC capacity = $USEDCAPPCFC% ( > $PCWARNINGFC% ) rm -f $TMPDIR/3par_$COMMAND.$INSERV.out exit 1 else echo OK : Used FC capacity = $USEDCAPPCFC% rm -f $TMPDIR/3par_$COMMAND.$INSERV.out exit 0 fi fi fi if [ $COMMAND == "check_cap_nl" ] then $CONNECTCOMMAND showpd -p -devtype NL -showcols Size_MB,Free_MB -csvtable > $TMPDIR/3par_$COMMAND.$INSERV.out if [ $? -gt 0 ] then echo Could not connect to InServ $INSERV exit 3 fi if [ `tail -1 $TMPDIR/3par_$COMMAND.$INSERV.out` = "No PDs listed" ] then echo No NL disks rm -f $TMPDIR/3par_$COMMAND.$INSERV.out exit 0 fi TOTCAPNL=`cat ${TMPDIR}/3par_${COMMAND}.${INSERV}.out | tail -1 | cut -d, -f1` FREECAPNL=`cat ${TMPDIR}/3par_${COMMAND}.${INSERV}.out | tail -1 | cut -d, -f2` USEDCAPPCNL=`expr 100 - ( ( $FREECAPNL * 100 ) / $TOTCAPNL )` if [ $USEDCAPPCNL -ge $PCCRITICALNL ] then echo CRITICAL! Used NL capacity = $USEDCAPPCNL% ( > $PCCRITICALNL% ) rm -f $TMPDIR/3par_$COMMAND.$INSERV.out exit 2 else if [ $USEDCAPPCNL -ge $PCWARNINGNL ] then echo WARNING! Used NL capacity = $USEDCAPPCNL% ( > $PCWARNINGNL% ) rm -f $TMPDIR/3par_$COMMAND.$INSERV.out exit 1 else echo OK : Used NL capacity = $USEDCAPPCNL% rm -f $TMPDIR/3par_$COMMAND.$INSERV.out exit 0 fi fi fi ##Implementation for SSD Disks if [ $COMMAND == "check_cap_ssd" ] then $CONNECTCOMMAND showpd -p -devtype SSD -showcols Size_MB,Free_MB -csvtable > $TMPDIR/3par_$COMMAND.$INSERV.out if [ $? -gt 0 ] then echo Could not connect to InServ $INSERV exit 3 fi if [ `tail -1 $TMPDIR/3par_$COMMAND.$INSERV.out` = "No PDs listed" ] then echo No SSD disks rm -f $TMPDIR/3par_$COMMAND.$INSERV.out exit 0 fi TOTCAPSSD=`cat ${TMPDIR}/3par_${COMMAND}.${INSERV}.out | tail -1 | cut -d, -f1` FREECAPSSD=`cat ${TMPDIR}/3par_${COMMAND}.${INSERV}.out | tail -1 | cut -d, -f2` USEDCAPPCSSD=`expr 100 - ( ( $FREECAPSSD * 100 ) / $TOTCAPSSD )` if [ $USEDCAPPCSSD -ge $PCCRITICALSSD ] then echo CRITICAL! Used SSD capacity = $USEDCAPPCSSD% ( > $PCCRITICALSSD% ) rm -f $TMPDIR/3par_$COMMAND.$INSERV.out exit 2 else if [ $USEDCAPPCSSD -ge $PCWARNINGSSD ] then echo WARNING! Used SSD capacity = $USEDCAPPCSSD% ( > $PCWARNINGSSD% ) rm -f $TMPDIR/3par_$COMMAND.$INSERV.out exit 1 else echo OK : Used SSD capacity = $USEDCAPPCSSD% rm -f $TMPDIR/3par_$COMMAND.$INSERV.out exit 0 fi fi fi if [ $COMMAND == "check_3par_volume" ] then $CONNECTCOMMAND showvv -csvtable > $TMPDIR/3par_$COMMAND.$INSERV.out if [ $? -gt 0 ] then echo Could not connect to 3PAR $INSERV exit 3 fi VSIZE=`cat ${TMPDIR}/3par_${COMMAND}.${INSERV}.out | grep ${VMFS} | cut -d, -f12` VSIZE_Gb=`expr ( $VSIZE / 1024 )` USED=`cat ${TMPDIR}/3par_${COMMAND}.${INSERV}.out | grep ${VMFS} | cut -d, -f11` USED_Gb=`expr ( $USED / 1024 )` FREE=`expr ( $VSIZE - $USED )` FREE_Gb=`expr ( $FREE / 1024 )` FREEPERCENT=`expr 100 - ( ( $USED * 100 ) / $VSIZE )` USEDPERCENT=`expr 100 - ( $FREEPERCENT )` WARNCRAW=$(($VSIZE*$WARNING/100)) WARNCRAW_Gb=`expr ( $WARNCRAW / 1024 )` CRITCCRAW=$(($VSIZE*$CRITICAL/100)) CRITCCRAW_Gb=`expr ( $CRITCCRAW / 1024 )` if [ $USED_Gb -ge $CRITCCRAW_Gb ] then echo CRITICAL! TOTAL: $VSIZEMb USED: $USEDMb ($USED-PERCENT%) FREE: $FREEMb ($FREE-PERCENT) TotSize=$VSIZE_GbGb Used=$USED_GbGb,Seuil Warn Used : $WARNCRAW_Gb Gb,Seuil Used Crit : $CRITCCRAW_GbGb rm -f $TMPDIR/3par_$COMMAND.$INSERV.out exit 2 else if [ $USED_Gb -ge $WARNCRAW_Gb ] then echo WARNING! TOTAL: $VSIZEMb USED: $USEDMb ($USED-PERCENT%) FREE: $FREEMb ($FREE-PERCENT) TotSize=$VSIZE_GbGb Used=$USED_GbGb,Seuil Warn Used : $WARNCRAW_GbGb,Seuil Crit Used : $CRITCCRAW_GbGb rm -f $TMPDIR/3par_$COMMAND.$INSERV.out exit 1 else echo OK : TOTAL: $VSIZEMb USED: $USEDMb ($USEDPERCENT%) FREE: $FREEMb ($FREEPERCENT%) TotSize=$VSIZE_GbGb Used=$USED_GbGb,Seuil Warn Used : $WARNCRAW_GbGb,Seuil Crit Used : $CRITCCRAW_GbGb rm -f $TMPDIR/3par_$COMMAND.$INSERV.out exit 0 fi fi fi



SSH Error if no connection
by fsanys, December 31, 2016

If you want to have an error if the ssh connection is not working and ask the password to nagios add this parameter at the end of the ssh command: -qo PasswordAuthentication=no CONNECTCOMMAND="ssh $USERNAME@$INSERV -qo PasswordAuthentication=no"



3Par still ask for password
by taoufik109, June 30, 2016

I did all what you say, and everything was good, but when I try to connect to 3Par it still ask me for password. I tried with root and nagios but always the same problem.



Works fine in Nagios 3
by robcar, April 30, 2016

Works fine in Nagios 3, I used the SSH connection. When in the instructions it says: "Log in to the server with the 'nagios' user" I did (as root): # su - nagios -s /bin/bash because my nagios user didn't have shell.



Adding PerfData
by genti, August 31, 2015

In case someone is interested. Not perfect, but it does the job. https://github.com/pashol/nagios-checks/blob/master/check_3par_perf if [ $COMMAND == "check_cap_fc" ] then $CONNECTCOMMAND showpd -p -devtype FC -showcols Size_MB,Free_MB -csvtable > $TMPDIR/3par_$COMMAND.$INSERV.out if [ $? -gt 0 ] then echo Could not connect to InServ $INSERV exit 3 fi if [ `tail -1 $TMPDIR/3par_$COMMAND.$INSERV.out` = "No PDs listed" ] then echo No FC disks rm -f $TMPDIR/3par_$COMMAND.$INSERV.out exit 0 fi TOTCAPFC=`cat ${TMPDIR}/3par_${COMMAND}.${INSERV}.out | tail -1 | cut -d, -f1` FREECAPFC=`cat ${TMPDIR}/3par_${COMMAND}.${INSERV}.out | tail -1 | cut -d, -f2` USEDCAPPCFC=`expr 100 - ( ( $FREECAPFC * 100 ) / $TOTCAPFC )` USEDCAPFC=$((($TOTCAPFC-$FREECAPFC))) WARNCAPFCRAW=$(($TOTCAPFC*$PCWARNINGFC/100)) CRITCAPFCRAW=$(($TOTCAPFC*$PCCRITICALFC/100)) if [ $USEDCAPPCFC -ge $PCCRITICALFC ] then echo CRITICAL! Used FC capacity = $USEDCAPPCFC% ( > $PCCRITICALFC% )|UsedSpace=$USEDCAPPCFC%;$PCWARNINGFC;$PCCRITICALFC UsedSpace=$USEDCAPFCMB;$WARNCAPFCRAW;$CRITCAPFCRAW;0;$TOTCAPFC rm -f $TMPDIR/3par_$COMMAND.$INSERV.out exit 2 else if [ $USEDCAPPCFC -ge $PCWARNINGFC ] then echo WARNING! Used FC capacity = $USEDCAPPCFC% ( > $PCWARNINGFC% )|UsedSpace=$USEDCAPPCFC%;$PCWARNINGFC;$PCCRITICALFC UsedSpace=$USEDCAPFCMB;$WARNCAPFCRAW;$CRITCAPFCRAW;0;$TOTCAPFC rm -f $TMPDIR/3par_$COMMAND.$INSERV.out exit 1 else echo OK : Used FC capacity = $USEDCAPPCFC%|UsedSpace=$USEDCAPPCFC%;$PCWARNINGFC;$PCCRITICALFC UsedSpace=$USEDCAPFCMB;$WARNCAPFCRAW;$CRITCAPFCRAW;0;$TOTCAPFC rm -f $TMPDIR/3par_$COMMAND.$INSERV.out exit 0 fi fi fi



Error Received after install following guide exactly
by Coyle, June 30, 2015

Error: Service check command 'check_3par_cap_fc' specified in service 'FC disks capacity' for host 'ieat3par-01' not defined anywhere!



Great Check with Easy Instructions
by Brick, May 31, 2015

I'm not a linux expert but found the instructions really easy to follow The check is great and monitors everything successfully. One little bug I found was that the power supply check does not return "UNKNOWN" when it is unable to connect to the 3PAR, all the other checks are able to do this...



Excelent! Very Nice and easely customizable script
by emil, January 31, 2015

##Implementation for SSD Disks ##NOTE: Add PCWARNINGSSD = 80 and PCCRITICALSSD = 90 to trashold data. if [ $COMMAND == "check_cap_ssd" ] then $CONNECTCOMMAND showpd -p -devtype SSD -showcols Size_MB,Free_MB -csvtable > $TMPDIR/3par_$COMMAND.$INSERV.out if [ $? -gt 0 ] then echo Could not connect to InServ $INSERV exit 3 fi if [ `tail -1 $TMPDIR/3par_$COMMAND.$INSERV.out` = "No PDs listed" ] then echo No SSD disks rm -f $TMPDIR/3par_$COMMAND.$INSERV.out exit 0 fi TOTCAPSSD=`cat ${TMPDIR}/3par_${COMMAND}.${INSERV}.out | tail -1 | cut -d, -f1` FREECAPSSD=`cat ${TMPDIR}/3par_${COMMAND}.${INSERV}.out | tail -1 | cut -d, -f2` USEDCAPPCSSD=`expr 100 - ( ( $FREECAPSSD * 100 ) / $TOTCAPSSD )` if [ $USEDCAPPCSSD -ge $PCCRITICALSSD ] then echo CRITICAL! Used SSD capacity = $USEDCAPPCSSD% ( > $PCCRITICALSSD% ) rm -f $TMPDIR/3par_$COMMAND.$INSERV.out exit 2 else if [ $USEDCAPPCSSD -ge $PCWARNINGSSD ] then echo WARNING! Used SSD capacity = $USEDCAPPCSSD% ( > $PCWARNINGSSD% ) rm -f $TMPDIR/3par_$COMMAND.$INSERV.out exit 1 else echo OK : Used SSD capacity = $USEDCAPPCSSD% rm -f $TMPDIR/3par_$COMMAND.$INSERV.out exit 0 fi fi fi



Works great !
by B0ris, February 28, 2014

I have just installed 3par check plugin for Nagios and it's working excellent ! Very easy to implement using installation guide provided.



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
4.3 (20)
Favorites
1
Views
132,498