Skip to content
Snippets Groups Projects
Commit b463130a authored by Hahn Axel (hahn)'s avatar Hahn Axel (hahn)
Browse files

synology: format output

parent e8d0c4fd
No related branches found
No related tags found
1 merge request!75synology: format output
...@@ -147,27 +147,33 @@ EXAMPLE: ...@@ -147,27 +147,33 @@ EXAMPLE:
# FUNCTIONS # FUNCTIONS
# ---------------------------------------------------------------------- # ----------------------------------------------------------------------
# --- write verbose text # write verbose text with details in 2 columns
# param string label
# param string value
_wd() _wd()
{ {
if [ "$verbose" = "yes" ] ; then if [ "$verbose" = "yes" ] ; then
out="${out}$* _label=$1
" ; fi shift 1
out+=$( printf "%-25s %s" "${_label}" "$*" )"
"
fi
} }
# --- get a value from SNMP output data # get a value from SNMP output data
# param string mib string # param string mib string
_get(){ _get(){
echo "$SNMPOUTPUT" | grep "${1} " | cut -d "=" -f2 | cut -f 2- -d " " echo "$SNMPOUTPUT" | grep "${1} " | cut -d "=" -f2 | cut -f 2- -d " "
} }
# --- show usage # show usage and abort
usage() usage()
{ {
ph.abort "$USAGE" ph.abort "$USAGE"
} }
# disable all flags to perform single checks # disable all flags to perform single checks
# see param check in main section
_disableflags(){ _disableflags(){
if [ $FLAG_SINGLECHECK -ne 1 ]; then if [ $FLAG_SINGLECHECK -ne 1 ]; then
FLAG_SINGLECHECK=1 FLAG_SINGLECHECK=1
...@@ -250,10 +256,9 @@ fi ...@@ -250,10 +256,9 @@ fi
# --- SNPGET to all wanted oids # --- SNPGET to all wanted oids
OIDLIST="" OIDLIST=""
test $FLAG_SYSTEM -ne 0 && OIDLIST+="$OID_model $OID_serialNumber $OID_DSMVersion $OID_systemStatus $OID_powerStatus $OID_systemFanStatus $OID_CPUFanStatus " test $FLAG_SYSTEM -ne 0 && OIDLIST+="$OID_model $OID_serialNumber $OID_DSMUpdateAvailable $OID_DSMVersion $OID_systemStatus $OID_powerStatus $OID_systemFanStatus $OID_CPUFanStatus "
test $FLAG_DISK -ne 0 && OIDLIST+="$OID_disk $OID_RAID " test $FLAG_DISK -ne 0 && OIDLIST+="$OID_disk $OID_RAID "
test $FLAG_UPDATE -ne 0 && OIDLIST+="$OID_DSMUpdateAvailable " test $FLAG_UPDATE -ne 0 && test $FLAG_SYSTEM -eq 0 && OIDLIST+="$OID_DSMUpdateAvailable $OID_DSMVersion "
test $FLAG_UPDATE -ne 0 && test $FLAG_SYSTEM -eq 0 && OIDLIST+="$OID_DSMVersion "
test $FLAG_TEMPERATURE -ne 0 && OIDLIST+="$OID_temp " test $FLAG_TEMPERATURE -ne 0 && OIDLIST+="$OID_temp "
...@@ -270,16 +275,36 @@ _wd "" ...@@ -270,16 +275,36 @@ _wd ""
# ---------- check system data # ---------- check system data
if [ $FLAG_SYSTEM -ne 0 ]; then if [ $FLAG_SYSTEM -ne 0 ]; then
_wd "---------- INFORMATION"
model=$(_get $OID_model) model=$(_get $OID_model)
_wd "Synology model: $model" _wd "Synology model:" "$model"
serialNumber=$(_get $OID_serialNumber) serialNumber=$(_get $OID_serialNumber)
_wd "Synology s/n: $serialNumber" _wd "Synology s/n:" "$serialNumber"
DSMVersion=$(_get $OID_DSMVersion) DSMVersion=$(_get $OID_DSMVersion)
_wd "DSM Version: $DSMVersion" _wd "DSM Version:" "$DSMVersion"
_add_status "Synology $model (s/n: $serialNumber, $DSMVersion)" _add_status " Synology $model (s/n: $serialNumber, $DSMVersion)"
fi
# ---------- check update
if [ $FLAG_SYSTEM -ne 0 -o $FLAG_UPDATE -ne 0 ]; then
typeset -i DSMupdate=$(_get $OID_DSMUpdateAvailable)
# test $FLAG_SINGLECHECK -ne 0 || ( _wd "Update available: ${aStatusUpgrade[$DSMupdate]} ($DSMupdate)"; _wd "" )
_wd "Update available:" "${aStatusUpgrade[$DSMupdate]} ($DSMupdate)"
_wd ""
if [ $DSMupdate -eq 1 ] ; then
ph.setStatus "warning"
_add_status "Update available"
else
test $FLAG_SINGLECHECK -ne 0 && _add_status "Up to date"
fi
fi
if [ $FLAG_SYSTEM -ne 0 ]; then
_wd "---------- SYSTEM"
# --- Check system status # --- Check system status
systemStatus="$(_get $OID_systemStatus)" systemStatus="$(_get $OID_systemStatus)"
...@@ -291,7 +316,7 @@ if [ $FLAG_SYSTEM -ne 0 ]; then ...@@ -291,7 +316,7 @@ if [ $FLAG_SYSTEM -ne 0 ]; then
else else
systemStatus="Normal" systemStatus="Normal"
fi fi
_wd "System Status: $systemStatus" _wd "System Status:" "$systemStatus"
# --- Check power status # --- Check power status
powerStatus="$(_get $OID_powerStatus)" powerStatus="$(_get $OID_powerStatus)"
...@@ -303,7 +328,7 @@ if [ $FLAG_SYSTEM -ne 0 ]; then ...@@ -303,7 +328,7 @@ if [ $FLAG_SYSTEM -ne 0 ]; then
else else
powerStatus="Normal" powerStatus="Normal"
fi fi
_wd "Power Status: $powerStatus" _wd "Power Status:" "$powerStatus"
# --- Check system fan status # --- Check system fan status
...@@ -315,7 +340,7 @@ if [ $FLAG_SYSTEM -ne 0 ]; then ...@@ -315,7 +340,7 @@ if [ $FLAG_SYSTEM -ne 0 ]; then
else else
systemFanStatus="Normal" systemFanStatus="Normal"
fi fi
_wd "System Fan Status: $systemFanStatus" _wd "System Fan Status:" "$systemFanStatus"
# --- Check CPU fan status # --- Check CPU fan status
...@@ -327,36 +352,20 @@ if [ $FLAG_SYSTEM -ne 0 ]; then ...@@ -327,36 +352,20 @@ if [ $FLAG_SYSTEM -ne 0 ]; then
else else
CPUFanStatus="Normal" CPUFanStatus="Normal"
fi fi
_wd "CPU Fan Status: $CPUFanStatus" _wd "CPU Fan Status:" "$CPUFanStatus"
_wd ""
fi fi
# ---------- check temperature # ---------- check temperature
if [ $FLAG_TEMPERATURE -ne 0 ]; then if [ $FLAG_TEMPERATURE -ne 0 ]; then
# --- Show temperature # --- Show temperature
DeviceTemperature=$(_get $OID_temp) DeviceTemperature=$(_get $OID_temp)
_wd "NAS temperature: $DeviceTemperature °C" _wd "NAS temperature:" "$DeviceTemperature °C"
_wd ""
if [ $FLAG_SINGLECHECK -ne 0 ]; then if [ $FLAG_SINGLECHECK -ne 0 ]; then
_add_status "NAS temperature: $DeviceTemperature °C" _add_status "NAS temperature: $DeviceTemperature °C"
ph.perfadd "temp" "$DeviceTemperature" ph.perfadd "temp" "$DeviceTemperature"
fi fi
fi test $FLAG_DISK -ne 0 && _wd ""
# ---------- check update
if [ $FLAG_UPDATE -ne 0 ]; then
typeset -i DSMupdate=$(_get $OID_DSMUpdateAvailable)
# test $FLAG_SINGLECHECK -ne 0 || ( _wd "Update available: ${aStatusUpgrade[$DSMupdate]} ($DSMupdate)"; _wd "" )
_wd "Update available: ${aStatusUpgrade[$DSMupdate]} ($DSMupdate)";
_wd ""
if [ $DSMupdate -eq 1 ] ; then
ph.setStatus "warning"
_add_status "Update available"
else
test $FLAG_SINGLECHECK -ne 0 && _add_status "Up to date"
fi
fi fi
# ---------- Check all disk status + volume + raid # ---------- Check all disk status + volume + raid
...@@ -365,7 +374,8 @@ if [ $FLAG_DISK -ne 0 ]; then ...@@ -365,7 +374,8 @@ if [ $FLAG_DISK -ne 0 ]; then
RAIDStatus=$(_get $OID_RAIDStatus) RAIDStatus=$(_get $OID_RAIDStatus)
DISKOK=1 DISKOK=1
_wd "Number of disks: $nbDisk" _wd "---------- STORAGE"
_wd "Number of disks:" "$nbDisk"
for i in $(seq 1 $nbDisk); for i in $(seq 1 $nbDisk);
do do
diskID[$i]=$(_get $OID_diskID.$(($i-1))) diskID[$i]=$(_get $OID_diskID.$(($i-1)))
...@@ -382,13 +392,13 @@ if [ $FLAG_DISK -ne 0 ]; then ...@@ -382,13 +392,13 @@ if [ $FLAG_DISK -ne 0 ]; then
_add_status "problem with ${diskID[$i]} (model:${diskModel[$i]}) status:${diskStatus[$i]} temperature:${diskTemp[$i]} °C" _add_status "problem with ${diskID[$i]} (model:${diskModel[$i]}) status:${diskStatus[$i]} temperature:${diskTemp[$i]} °C"
fi fi
_wd "${diskID[$i]} (model:${diskModel[$i]}) status: ${diskStatus[$i]} ($idiskStatus) temperature: ${diskTemp[$i]} °C" _wd " ${diskID[$i]} (model:${diskModel[$i]}) status: ${diskStatus[$i]} ($idiskStatus) temperature: ${diskTemp[$i]} °C"
done done
# --- Check all RAID volume status # --- Check all RAID volume status
_wd "" _wd ""
_wd "Number of RAID volume: $nbRAID" _wd "Number of RAID volumes:" "$nbRAID"
for i in $(seq 1 $nbRAID); for i in $(seq 1 $nbRAID);
do do
RAIDName[$i]=$(_get $OID_RAIDName.$(($i-1))) RAIDName[$i]=$(_get $OID_RAIDName.$(($i-1)))
...@@ -406,7 +416,7 @@ if [ $FLAG_DISK -ne 0 ]; then ...@@ -406,7 +416,7 @@ if [ $FLAG_DISK -ne 0 ]; then
ph.setStatus "critical" ph.setStatus "critical"
_add_status "RAID status: ($RAIDName ): $RAIDStatus[$i] " _add_status "RAID status: ($RAIDName ): $RAIDStatus[$i] "
fi fi
_wd "${RAIDName[$i]} status: ${RAIDStatus[$i]} ($iRAIDStatus) - size $iRAIDSize GB, free $iRAIDFree GB (${iFree}%)" _wd " ${RAIDName[$i]} status: ${RAIDStatus[$i]} ($iRAIDStatus) - size $iRAIDSize GB, free $iRAIDFree GB (${iFree}%)"
done done
if [ $DISKOK -eq 1 ]; then if [ $DISKOK -eq 1 ]; then
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment