User Tools

Site Tools


aix:scripts_category:nagios_aix_check

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
aix:scripts_category:nagios_aix_check [2025/01/27 17:01]
manu [check_ntp_aix.sh]
aix:scripts_category:nagios_aix_check [2025/02/24 15:34] (current)
manu [Check path disks]
Line 344: Line 344:
   OUTPUT="​Process:​ xntpd not running"​   OUTPUT="​Process:​ xntpd not running"​
 else else
-  if [ $(echo $OUTPUT | tr ';'​ '​\n'​ | sed '/​^$/​d'​ | sed 's/^\ //g' | tail +3) == ""​ ]+  if [[ $(echo $OUTPUT | tr ';'​ '​\n'​ | sed '/​^$/​d'​ | sed 's/^\ //g' | tail +3) == "" ​]]
   then   then
     EXIT_CODE=$STATE_CRITICAL     EXIT_CODE=$STATE_CRITICAL
Line 572: Line 572:
 # v1.2 change for VSCSI # v1.2 change for VSCSI
 # v1.3 add verbose (-v), improvements linux # v1.3 add verbose (-v), improvements linux
 +# On linux, add into /​etc/​sudoers the following lines for linux:
 +#      nagios ALL=(ALL) NOPASSWD: /​usr/​sbin/​multipath
 +#      nrpe ALL=(ALL) NOPASSWD: /​usr/​sbin/​multipath
 +
  
 # number of path per type of disk # number of path per type of disk
Line 624: Line 628:
       pathok_pct=$(echo "​scale=1;​100*$pathok/​$nbpath"​ | bc | cut -d '​.'​ -f1)       pathok_pct=$(echo "​scale=1;​100*$pathok/​$nbpath"​ | bc | cut -d '​.'​ -f1)
       verbose="​$verbose $i;​$pathok/​$nbpath"​ # verbose message       verbose="​$verbose $i;​$pathok/​$nbpath"​ # verbose message
-      if [ "​$pathok_pct"​ -le "​50"​ ]+      if [ "​$pathok_pct"​ -lt "​50"​ ]
       then       then
         MSG="​$MSG $i;​$pathok/​$nbpath"​         MSG="​$MSG $i;​$pathok/​$nbpath"​
Line 709: Line 713:
     if [ $STATUS -lt $STATE_CRITICAL ]     if [ $STATUS -lt $STATE_CRITICAL ]
     then     then
-      ​STATUS1=$STATE_CRITICAL +      ​STATUS=$STATE_CRITICAL
-      STATUS=$(echo "​$STATUS $STATUS1"​ | tr ' ' '​\n'​ | sort -u | tail -1)+
     fi     fi
   else   else
-    if [ "​$pathok_pct"​ -eq "​100"​ ]+    if [ "​$pathok_pct"​ -ne "​100"​ ]
     then     then
-      STATUS1=$STATE_OK 
-      STATUS=$(echo "​$STATUS $STATUS1"​ | tr ' ' '​\n'​ | sort -u | tail -1) 
-    else 
       MSG="​$MSG $hdisk;​$pathok/​$nbpath"​       MSG="​$MSG $hdisk;​$pathok/​$nbpath"​
-      ​STATUS1=$STATE_WARNING +      ​if [ $STATUS -lt $STATE_CRITICAL ] 
-      STATUS=$(echo "​$STATUS $STATUS1"​ | tr ' ' '​\n'​ | sort -u | tail -1)+      ​then 
 +        ​STATUS=$STATE_WARNING 
 +      fi
     fi     fi
   fi   fi
 done done
- 
-if [ $STATUS -eq $STATE_OK ] 
-then 
-  MSG="​ALL disks have $pathok paths" 
-fi 
 } }
  
Line 743: Line 740:
         STATUS=$STATE_UNKNOWN         STATUS=$STATE_UNKNOWN
   fi   fi
 +fi
 +
 +if [ $STATUS -eq $STATE_OK ]
 +then
 +  echo "​OK"​
 +else
 +  echo "​$MSG"​
 fi fi
  
Line 751: Line 755:
 fi fi
  
-echo "​$MSG"​ 
 exit $STATUS exit $STATUS
 </​code>​ </​code>​
Line 765: Line 768:
 <​code>​ <​code>​
 #!/bin/ksh #!/bin/ksh
-# v1.eif check LACP+# v1.eif check LACP
 # #
 # Add sudoers: # Add sudoers:
Line 789: Line 792:
   MSG="​No SEA available on $hostname"​   MSG="​No SEA available on $hostname"​
   EXITSTATUS=2 #Exit status critical   EXITSTATUS=2 #Exit status critical
-  exit $EXITSTATUS +else 
-fi+  #​Verification ensemble des cartes si disponible 
 +  for ent in $(lsdev -Cc adapter | grep Shared | awk '​{print $1}') 
 +  do 
 +    # check physical ports / links 
 +    count_all=$(sudo /​usr/​bin/​entstat -d $ent 2>&1 | grep -i status | grep "​Physical Port Link Status"​ | wc -l | awk '​{print $1}'​) 
 +    count_up=$(sudo /​usr/​bin/​entstat -d $ent 2>&1 | grep -i status | grep "​Physical Port Link Status"​ | grep Up |wc -l | awk '​{print $1}')
  
-#​Verification ensemble des cartes si disponible +    if [ $count_up ​-ne $count_all ] 
-for ent in $(lsdev ​-Cc adapter | grep Shared | awk '​{print ​$1}') +    then 
-do +      ​MSG="​One or more Ethernet port down" 
-  # check physical ports / links +      ​EXITSTATUS=1 #Exit status ​Warning 
-  ​count_all=$(sudo /​usr/​bin/​entstat -d $ent 2>&| grep -i status ​| grep "Physical Port Link Status" ​| wc -l | awk '​{print $1}') +    else 
-  ​count_up=$(sudo /​usr/​bin/​entstat -d $ent 2>&1 | grep -i status ​| grep "​Physical Port Link Status"​ | grep Up |wc -l | awk '​{print $1}')+      MSG="No ethernet port issue
 +      ​EXITSTATUS=0 #Exit status ​OK 
 +    fi
  
-  if [ $count_up ​-ne $count_all ] +    # check physical ports Speed, must be the same on all ports 
-  then +    nb_speed=$(sudo /​usr/​bin/​entstat ​-$ent 2>&1 | grep "Physical Port Speed" ​| sort -u | wc -l | awk '​{print $1}')
-    MSG="One or more Ethernet port down" +
-    EXITSTATUS=#Exit status Warning +
-  else +
-    MSG="​No ethernet port issue"​ +
-    EXITSTATUS=0 #Exit status OK +
-  fi+
  
-  # check physical ports Speed, must be the same on all ports +    if [ $nb_speed ​!"1" ​
-  ​nb_speed=$(sudo /​usr/​bin/​entstat -d $ent 2>&| grep "Physical Port Speed" ​| sort -u | wc -l | awk '​{print $1}')+    then 
 +      MSG="Ethernet Ports bad speed"​ 
 +      EXITSTATUS=#Exit status Warning 
 +    fi
  
-  if [ $nb_speed != "​1"​ ] +    ​# check LACP 
-  then +    count_all=$(sudo /​usr/​bin/​entstat -d $ent 2>&1 | grep "​Synchronization"​ | wc -l | awk '​{print $1}'​) 
-    MSG="​Ethernet Ports bad speed"​ +    count_up=$(sudo /​usr/​bin/​entstat -d $ent 2>&1 | grep "​Synchronization"​ | grep '​IN_SYNC'​ | wc -l | awk '​{print $1}'​) 
-    EXITSTATUS=1 #Exit status Warning +    echo "​count_all=$count_all count_up=$count_up"​ >> /tmp/aaa 
-  fi +    if [ $count_up -ne $count_all ] 
- +    then 
-  ​# check LACP +      MSG="​LACP not synced"​ 
-  count_all=$(sudo /​usr/​bin/​entstat -d $ent 2>&1 | grep "​Synchronization"​ | wc -l | awk '​{print $1}'​) +      EXITSTATUS=1 #Exit status Warning 
-  count_up=$(sudo /​usr/​bin/​entstat -d $ent 2>&1 | grep "​Synchronization"​ | grep '​IN_SYNC'​ | wc -l | awk '​{print $1}'​) +    fi 
-  echo "​count_all=$count_all count_up=$count_up"​ >> /tmp/aaa +  done 
-  if [ $count_up -ne $count_all ] +fi
-  then +
-    MSG="​LACP not synced"​ +
-    EXITSTATUS=1 #Exit status Warning +
-  fi +
-done+
  
 echo $MSG echo $MSG
aix/scripts_category/nagios_aix_check.1737993685.txt.gz · Last modified: 2025/01/27 17:01 by manu