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
Branches
No related tags found
1 merge request!75synology: format output
......@@ -147,27 +147,33 @@ EXAMPLE:
# FUNCTIONS
# ----------------------------------------------------------------------
# --- write verbose text
# write verbose text with details in 2 columns
# param string label
# param string value
_wd()
{
if [ "$verbose" = "yes" ] ; then
out="${out}$*
" ; fi
_label=$1
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
_get(){
echo "$SNMPOUTPUT" | grep "${1} " | cut -d "=" -f2 | cut -f 2- -d " "
}
# --- show usage
# show usage and abort
usage()
{
ph.abort "$USAGE"
}
# disable all flags to perform single checks
# see param check in main section
_disableflags(){
if [ $FLAG_SINGLECHECK -ne 1 ]; then
FLAG_SINGLECHECK=1
......@@ -250,10 +256,9 @@ fi
# --- SNPGET to all wanted oids
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_UPDATE -ne 0 && OIDLIST+="$OID_DSMUpdateAvailable "
test $FLAG_UPDATE -ne 0 && test $FLAG_SYSTEM -eq 0 && OIDLIST+="$OID_DSMVersion "
test $FLAG_UPDATE -ne 0 && test $FLAG_SYSTEM -eq 0 && OIDLIST+="$OID_DSMUpdateAvailable $OID_DSMVersion "
test $FLAG_TEMPERATURE -ne 0 && OIDLIST+="$OID_temp "
......@@ -270,16 +275,36 @@ _wd ""
# ---------- check system data
if [ $FLAG_SYSTEM -ne 0 ]; then
_wd "---------- INFORMATION"
model=$(_get $OID_model)
_wd "Synology model: $model"
_wd "Synology model:" "$model"
serialNumber=$(_get $OID_serialNumber)
_wd "Synology s/n: $serialNumber"
_wd "Synology s/n:" "$serialNumber"
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
systemStatus="$(_get $OID_systemStatus)"
......@@ -291,7 +316,7 @@ if [ $FLAG_SYSTEM -ne 0 ]; then
else
systemStatus="Normal"
fi
_wd "System Status: $systemStatus"
_wd "System Status:" "$systemStatus"
# --- Check power status
powerStatus="$(_get $OID_powerStatus)"
......@@ -303,7 +328,7 @@ if [ $FLAG_SYSTEM -ne 0 ]; then
else
powerStatus="Normal"
fi
_wd "Power Status: $powerStatus"
_wd "Power Status:" "$powerStatus"
# --- Check system fan status
......@@ -315,7 +340,7 @@ if [ $FLAG_SYSTEM -ne 0 ]; then
else
systemFanStatus="Normal"
fi
_wd "System Fan Status: $systemFanStatus"
_wd "System Fan Status:" "$systemFanStatus"
# --- Check CPU fan status
......@@ -327,36 +352,20 @@ if [ $FLAG_SYSTEM -ne 0 ]; then
else
CPUFanStatus="Normal"
fi
_wd "CPU Fan Status: $CPUFanStatus"
_wd ""
_wd "CPU Fan Status:" "$CPUFanStatus"
fi
# ---------- check temperature
if [ $FLAG_TEMPERATURE -ne 0 ]; then
# --- Show temperature
DeviceTemperature=$(_get $OID_temp)
_wd "NAS temperature: $DeviceTemperature °C"
_wd ""
_wd "NAS temperature:" "$DeviceTemperature °C"
if [ $FLAG_SINGLECHECK -ne 0 ]; then
_add_status "NAS temperature: $DeviceTemperature °C"
ph.perfadd "temp" "$DeviceTemperature"
fi
fi
# ---------- 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
test $FLAG_DISK -ne 0 && _wd ""
fi
# ---------- Check all disk status + volume + raid
......@@ -365,7 +374,8 @@ if [ $FLAG_DISK -ne 0 ]; then
RAIDStatus=$(_get $OID_RAIDStatus)
DISKOK=1
_wd "Number of disks: $nbDisk"
_wd "---------- STORAGE"
_wd "Number of disks:" "$nbDisk"
for i in $(seq 1 $nbDisk);
do
diskID[$i]=$(_get $OID_diskID.$(($i-1)))
......@@ -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"
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
# --- Check all RAID volume status
_wd ""
_wd "Number of RAID volume: $nbRAID"
_wd "Number of RAID volumes:" "$nbRAID"
for i in $(seq 1 $nbRAID);
do
RAIDName[$i]=$(_get $OID_RAIDName.$(($i-1)))
......@@ -406,7 +416,7 @@ if [ $FLAG_DISK -ne 0 ]; then
ph.setStatus "critical"
_add_status "RAID status: ($RAIDName ): $RAIDStatus[$i] "
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
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