HeinleinSupport / check_mk_extensions

check_mk Plugins
https://www.heinlein-consulting.de/
GNU General Public License v2.0
230 stars 106 forks source link

hpsa 5.2 Smart Array P244br shows Drives as CRIT but they are OK #58

Closed Y0d0g closed 4 years ago

Y0d0g commented 4 years ago

Everything looks OK on this "Smart Array P244br" but checkmk displays them as CRIT. I am wondering why.

$ cmk -vpn MYHOST | grep HP
HP RAID Array 0:A    OK - Solid 0 MB                                          ()
HP RAID Controller 0 OK - P244br                                              ()
HP RAID Drive 0:A:1I:1:1 CRIT - 0:A:1I:1:1 800 Solid State SAS GB,                ()
HP RAID Drive 0:A:1I:1:2 CRIT - 0:A:1I:1:2 800 Solid State SAS GB,                ()

Though the hpssacli command tells me everything is fine:

# hpssacli controller all show config

Smart Array P244br in Slot 0 (Embedded)   (sn: XXXXXXXXXXXX)

   Port Name: 1I

   Internal Drive Cage at Port 1I, Box 1, OK
   array A (Solid State SAS, Unused Space: 0  MB)

      logicaldrive 1 (745.2 GB, RAID 1, OK)

      physicaldrive 1I:1:1 (port 1I:box 1:bay 1, Solid State SAS, 800 GB, OK)
      physicaldrive 1I:1:2 (port 1I:box 1:bay 2, Solid State SAS, 800 GB, OK)

This is the agent output

# ./mh_hpsa 
<<<hpsa_controller>>>
0 OK P244br
<<<hpsa_array>>>
0:A OK Solid 0 MB
<<<hpsa_drive>>>
0:A:1I:1:1 800 Solid State SAS GB,
0:A:1I:1:2 800 Solid State SAS GB,

Same with "bash -x"

# bash -x ./mh_hpsa 
+ export INFOMGR_BYPASS_NONSA=1
+ INFOMGR_BYPASS_NONSA=1
+ RAID_CHECK_TOOL=hpacucli
+ '[' -x /usr/sbin/hpssacli ']'
+ RAID_CHECK_TOOL=hpssacli
+ '[' -e /proc/driver/cciss -o -e /sys/bus/cciss -o -e /sys/bus/pci/drivers/hpsa ']'
+ echo '<<<hpsa_controller>>>'
<<<hpsa_controller>>>
+ cc=-1
+ CMD='hpssacli controller all show'
+ read -a cont
++ hpssacli controller all show
+ is_integer
+ '[' '' -eq '' ']'
+ return 2
+ read -a cont
+ is_integer 0
+ '[' 0 -eq 0 ']'
+ return 0
+ cc=0
+ read -a cstat
++ hpssacli controller slot=0 show
++ grep 'Controller Status'
+ '[' OK = OK ']'
+ echo '0 OK P244br'
0 OK P244br
+ controllers[$cc]=0
+ read -a cont
+ is_integer
+ '[' '' -eq '' ']'
+ return 2
+ read -a cont
+ echo '<<<hpsa_array>>>'
<<<hpsa_array>>>
++ seq 0 0
+ for c in '$(seq 0 $cc)'
+ ac=-1
+ CMD='hpssacli controller slot=0 array all show'
+ read -a cary
++ hpssacli controller slot=0 array all show
+ '[' XX = XarrayX -o XX = XArrayX ']'
+ read -a cary
+ '[' XSmartX = XarrayX -o XSmartX = XArrayX ']'
+ read -a cary
+ '[' XX = XarrayX -o XX = XArrayX ']'
+ read -a cary
+ '[' XarrayX = XarrayX -o XarrayX = XArrayX ']'
+ ac=0
+ read -d + -a x
++ hpssacli controller slot=0 array A show
++ sed 's/(Embedded)//'
+ read -a ary
+ [[ hpssacli = \h\p\a\c\u\c\l\i ]]
+ [[ OK = \S\o\l\i\d ]]
+ echo '0:A OK Solid 0 MB'
0:A OK Solid 0 MB
+ arrays[$ac]=A
+ read -a cary
+ '[' XX = XarrayX -o XX = XArrayX ']'
+ read -a cary
+ '[' XX = XarrayX -o XX = XArrayX ']'
+ read -a cary
+ echo '<<<hpsa_drive>>>'
<<<hpsa_drive>>>
++ seq 0 0
+ for c in '$(seq 0 $cc)'
++ seq 0 0
+ for a in '$(seq 0 $ac)'
+ CMD='hpssacli controller slot=0 array A physicaldrive all show'
+ read -a pdrv
++ hpssacli controller slot=0 array A physicaldrive all show
+ '[' XX = XphysicaldriveX ']'
+ read -a pdrv
+ '[' XSmartX = XphysicaldriveX ']'
+ read -a pdrv
+ '[' XX = XphysicaldriveX ']'
+ read -a pdrv
+ '[' XarrayX = XphysicaldriveX ']'
+ read -a pdrv
+ '[' XX = XphysicaldriveX ']'
+ read -a pdrv
+ '[' XphysicaldriveX = XphysicaldriveX ']'
+ '[' XStateX = XHDD,X ']'
+ '[' XStateX = XSSD,X ']'
+ echo -n '0:A:1I:1:1 800 Solid State SAS '
0:A:1I:1:1 800 Solid State SAS + '[' GB, ']'
+ echo GB,
GB,
+ read -a pdrv
+ '[' XphysicaldriveX = XphysicaldriveX ']'
+ '[' XStateX = XHDD,X ']'
+ '[' XStateX = XSSD,X ']'
+ echo -n '0:A:1I:1:2 800 Solid State SAS '
0:A:1I:1:2 800 Solid State SAS + '[' GB, ']'
+ echo GB,
GB,
+ read -a pdrv
+ '[' XX = XphysicaldriveX ']'
+ read -a pdrv
gurubert commented 4 years ago

Has been fixed with pull request #54