This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
storage:brocade_scripts [2023/11/24 17:53] manu |
storage:brocade_scripts [2024/02/16 18:24] (current) manu |
||
---|---|---|---|
Line 23: | Line 23: | ||
# html_tag;nagios_tag;reserved;output | # html_tag;nagios_tag;reserved;output | ||
#==================================================================== | #==================================================================== | ||
- | # version 1.0 | + | # version 1.0 02-2018 eif |
+ | # version 1.1 02-2024 eif add port signal strength | ||
dir=`dirname $0` | dir=`dirname $0` | ||
Line 35: | Line 36: | ||
export logname=$logpath/$sn.log | export logname=$logpath/$sn.log | ||
TMPFILE=$logpath/tempo_file | TMPFILE=$logpath/tempo_file | ||
+ | |||
+ | month=$(date "+%Y-%m") | ||
+ | archpath=/storage/san/backup/$month | ||
os=$(uname -s | tr 'A-Z' 'a-z') | os=$(uname -s | tr 'A-Z' 'a-z') | ||
- | USER=admin | + | USER=report |
- | listswitch="sansw1 sansw2" # All SAN switches from all fabric separated by space | + | listswitch="swsan01 swsan02" # All SAN switches from all fabric separated by space |
#NAGIOSTAG="0=OK, 1=WARNING, 2=CRITICAL, 3=UNKNOWN" | #NAGIOSTAG="0=OK, 1=WARNING, 2=CRITICAL, 3=UNKNOWN" | ||
Line 46: | Line 50: | ||
COLOR[2]="#FF2400" # red #DF013A | COLOR[2]="#FF2400" # red #DF013A | ||
COLOR[3]="yellow" # yellow #F3F781 | COLOR[3]="yellow" # yellow #F3F781 | ||
- | COLOR[4]="#56A5EC" # blue | + | COLOR[4]="#86EFF6" # blue |
COLOR[5]="#FFFFFF" # white | COLOR[5]="#FFFFFF" # white | ||
#FFA500 : orange | #FFA500 : orange | ||
- | COLOR[6]="#3090C7" # Blue Ivry for SAN blue | + | #COLOR[6]="#33CAFF" # Blue SAN blue |
+ | COLOR[6]=" #85C1E9" # Blue SAN blue | ||
COLOR[7]="#E77471" # Light Coral for SAN red | COLOR[7]="#E77471" # Light Coral for SAN red | ||
Line 128: | Line 133: | ||
swdomain=$(grep -i '^switchDomain:' $TMPFILE.tempo | awk -F':' '{print $2}') | swdomain=$(grep -i '^switchDomain:' $TMPFILE.tempo | awk -F':' '{print $2}') | ||
ssh $USER@$sw "sfpshow -all" > $logpath/sfpshow-all_${fabricname}_${switchname}_full | ssh $USER@$sw "sfpshow -all" > $logpath/sfpshow-all_${fabricname}_${switchname}_full | ||
- | cat $logpath/sfpshow-all_${fabricname}_${switchname}_full | egrep 'Slot|Power' | sed 's/^Slot/\n/g' | tr -s ' ' | sed 's/^\ //g' | sed 's/Port\ //' | sed 's/\//;/' | sed 's/:/;/' > $logpath/sfpshow-all_${fabricname}_${switchname} | + | cat $logpath/sfpshow-all_${fabricname}_${switchname}_full | egrep 'Slot|Power' | sed 's/^Slot/\n/g' | tr -s ' ' | sed 's/^\ //g' | sed 's/Port\ //' | sed 's/\//;/' | sed 's/:/;/' > $logpath/sfpshow-all_${fabname}_${switchname} |
ssh $USER@$sw "sfpshow" | tr -s ' ' | sed 's/\ //g' | sed 's/Slot//' | sed 's/Port//' | cut -d':' -f1,5 | sed 's/\//;/' > $logpath/sfpshow_${fabricname}_${switchname} | ssh $USER@$sw "sfpshow" | tr -s ' ' | sed 's/\ //g' | sed 's/Slot//' | sed 's/Port//' | cut -d':' -f1,5 | sed 's/\//;/' > $logpath/sfpshow_${fabricname}_${switchname} | ||
echo "H3;0;TAG;FABRIC: $fabricname SWITCHNAME: $switchname" > $logpath/switchshow_${fabricname}_${switchname}.csv | echo "H3;0;TAG;FABRIC: $fabricname SWITCHNAME: $switchname" > $logpath/switchshow_${fabricname}_${switchname}.csv | ||
Line 151: | Line 156: | ||
sfpspeed="NA" | sfpspeed="NA" | ||
fi | fi | ||
+ | ############################ | ||
rxpower=$(grepp "^${port};" $logpath/sfpshow-all_${fabricname}_${switchname} | grep "RX Power" | cut -d';' -f2- | sed 's/\ dBm\ /|dBm|/g') | rxpower=$(grepp "^${port};" $logpath/sfpshow-all_${fabricname}_${switchname} | grep "RX Power" | cut -d';' -f2- | sed 's/\ dBm\ /|dBm|/g') | ||
txpower=$(grepp "^${port};" $logpath/sfpshow-all_${fabricname}_${switchname} | grep "TX Power" | cut -d';' -f2- | sed 's/\ dBm\ /|dBm|/g') | txpower=$(grepp "^${port};" $logpath/sfpshow-all_${fabricname}_${switchname} | grep "TX Power" | cut -d';' -f2- | sed 's/\ dBm\ /|dBm|/g') | ||
Line 156: | Line 162: | ||
# get color for fabric | # get color for fabric | ||
NAGIOSTAG=0 | NAGIOSTAG=0 | ||
+ | # for linux suff=$(echo $fabricname | tr [:alpha:] ' ' | awk '{print $1}') | ||
suff=$(echo $fabricname | rev | cut -c1) | suff=$(echo $fabricname | rev | cut -c1) | ||
modulo=$(echo $(($suff % 2)) ) | modulo=$(echo $(($suff % 2)) ) | ||
Line 270: | Line 277: | ||
done | done | ||
} | } | ||
+ | |||
#---------------------------- | #---------------------------- | ||
Line 286: | Line 294: | ||
for i in $(ls $logpath/swsan_${fabricname}_switchshow_*.csv) | for i in $(ls $logpath/swsan_${fabricname}_switchshow_*.csv) | ||
do | do | ||
- | cat $i | grep '^TD;' >> $logpath/san_result.csv | + | cat $i | grep '^TD;' | rev | cut -d';' -f2- | rev >> $logpath/san_result.csv |
done | done | ||
echo "H3;0;TAG;Alias defined in Fabric ${fabricname} but not connected" | tee $logpath/swsan_${fabricname}_unused.csv | echo "H3;0;TAG;Alias defined in Fabric ${fabricname} but not connected" | tee $logpath/swsan_${fabricname}_unused.csv | ||
echo "TH;4;TAG;alias;number of defined zones;zone name" | tee -a $logpath/swsan_${fabricname}_unused.csv | echo "TH;4;TAG;alias;number of defined zones;zone name" | tee -a $logpath/swsan_${fabricname}_unused.csv | ||
- | sed '1d' $logpath/san_result.csv | grep ";Online;" | rev | cut -d';' -f2 | rev | sed 's/(no_alias)//' | sed 's/(multiples_alias)//' | sed '/^$/d' | grep -v "(ISL)" | tr ' ' '\n' | sed 's/$/;/' > $logpath/san_result1.csv | + | sed '1d' $logpath/san_result.csv | grep ";Online;" | rev | cut -d';' -f2 | rev | sed 's/(no_alias)//' | sed 's/(multiples_alias)//' | sed '/^$/d' | grep -v "(ISL)" | tr ' ' '\n' | sed 's/$/;/' > $logpath/saesult1.csv |
for alias in $(cat $filename | grep '^alias' | cut -d'.' -f2- | cut -d':' -f1 | sort | uniq) | for alias in $(cat $filename | grep '^alias' | cut -d'.' -f2- | cut -d':' -f1 | sort | uniq) | ||
Line 479: | Line 487: | ||
send_wiki() | send_wiki() | ||
{ | { | ||
- | htmlinventory=$logpath/san_switchshow.html | + | dokupath=/var/www/html/archives/inventory/san |
- | dokupath=/var/www/html/data/pages/inventory/san | + | |
- | dokuhost=dokuwiki01 | + | |
dokuuser=apache | dokuuser=apache | ||
dokugrp=apache | dokugrp=apache | ||
- | #file_exist=$(ssh $dokuhost "ls $dokupath/$xlsmonthly > /dev/null 2>&1" ;echo $?) | + | for file1 in san_switchshow.html san_unused_alias.html san_full_config.txt |
- | #echo ${file_exist} | + | do |
- | #if [ ${file_exist} != 0 ] | + | sudo su - root -c "/bin/cp $logpath/$file1 $dokupath" |
- | #then | + | done |
- | # echo "Creating monthly file hmcscan_ALL-server_${cur_month}.xls" | + | |
- | # scp -p $xlsinventory $dokuhost:$dokupath/$xlsmonthly | + | sudo su - root -c "/bin/chown -R $dokuuser.$dokugrp $dokupath" |
- | # scp $dokuhost:$dokupath/$dokufilename $logpath | + | |
- | # echo "\n\nhttp://dokuwiki01/data/pages/inventory/hmcscan/$xlsmonthly" >> $logpath/$dokufilename | + | # Archive |
- | # scp -p $logpath/$dokufilename $dokuhost:$dokupath | + | if [ ! -e $archpath/san_switchshow.html ] |
- | #else | + | then |
- | # echo "Monthly file available, not creating" | + | for file1 in san_switchshow.html san_unused_alias.html san_full_config.txt |
- | #fi | + | do |
- | # | + | cp $logpath/$file1 $archpath |
- | scp -p -r $htmlinventory $dokuhost:$dokupath | + | done |
- | scp -p -r $logpath/san_unused_alias.html $dokuhost:$dokupath | + | fi |
- | scp -p -r $logpath/san_full_config.txt $dokuhost:$dokupath | + | |
- | #scp -p $xlsinventory $dokuhost:$dokupath | + | |
- | ssh $dokuhost "chown -R $dokuuser.$dokugrp $dokupath" | + | |
} | } | ||
Line 532: | Line 536: | ||
main > $logname 2>&1 | main > $logname 2>&1 | ||
+ | |||
</code> | </code> | ||