425 lines
18 KiB
Bash
Executable File
425 lines
18 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
SNMPCOMMUNITY="public"
|
|
SNMPVERSION="2c"
|
|
SNMPWALK=$(which snmpwalk)
|
|
SNMPGET=$(which snmpget)
|
|
|
|
HOSTNAME="192.168.0.8"
|
|
verbose="yes"
|
|
|
|
#######################
|
|
# Synology System MIB
|
|
#######################
|
|
OID_syno="1.3.6.1.4.1.6574"
|
|
OID_modelName="1.3.6.1.4.1.6574.1.5.1.0"
|
|
OID_serialNumber="1.3.6.1.4.1.6574.1.5.2.0"
|
|
OID_DSMVersion="1.3.6.1.4.1.6574.1.5.3.0"
|
|
OID_temp="1.3.6.1.4.1.6574.1.2.0"
|
|
# Normal (1) Failed (2)
|
|
OID_systemStatus="1.3.6.1.4.1.6574.1.1.0"
|
|
OID_powerStatus="1.3.6.1.4.1.6574.1.3.0"
|
|
OID_systemFanStatus="1.3.6.1.4.1.6574.1.4.1.0"
|
|
OID_CPUFanStatus="1.3.6.1.4.1.6574.1.4.2.0"
|
|
# Available(1) Unavailable(2) Connecting(3) Disconnected(4) Others(5)
|
|
OID_upgradeAvailable="1.3.6.1.4.1.6574.1.5.4.0"
|
|
|
|
#####################
|
|
# Synology Disk MIB
|
|
#####################
|
|
OID_disk=""
|
|
OID_diskID="1.3.6.1.4.1.6574.2.1.1.2"
|
|
OID_diskModel="1.3.6.1.4.1.6574.2.1.1.3"
|
|
# SATA, SSD
|
|
OID_diskType="1.3.6.1.4.1.6574.2.1.1.4"
|
|
# Normal(1) Initialized(2) NotInitialized(3) SystemPartitionFailed(4) Crashed(5)
|
|
OID_diskStatus="1.3.6.1.4.1.6574.2.1.1.5"
|
|
OID_diskTemp="1.3.6.1.4.1.6574.2.1.1.6"
|
|
|
|
#OID_diskID_0="1.3.6.1.4.1.6574.2.1.1.2.0"
|
|
#OID_diskID_3="1.3.6.1.4.1.6574.2.1.1.2.3"
|
|
#OID_diskModel_0="1.3.6.1.4.1.6574.2.1.1.3.0"
|
|
#OID_diskModel_3="1.3.6.1.4.1.6574.2.1.1.3.3"
|
|
#OID_diskStatus_0="1.3.6.1.4.1.6574.2.1.1.5.0"
|
|
#OID_diskStatus_3="1.3.6.1.4.1.6574.2.1.1.5.3"
|
|
#OID_diskTemp_0="1.3.6.1.4.1.6574.2.1.1.6.0"
|
|
#OID_diskTemp_3="1.3.6.1.4.1.6574.2.1.1.6.3"
|
|
|
|
#####################
|
|
# Synology RAID MIB
|
|
#####################
|
|
OID_RAID=""
|
|
#OID_RAIDName="1.3.6.1.4.1.6574.3.1.1.2"
|
|
#OID_RAIDStatus="1.3.6.1.4.1.6574.3.1.1.3"
|
|
OID_RAIDName="1.3.6.1.4.1.6574.3.1.1.2.0"
|
|
# Normal(1) Repairing(2) Migrating(3) Expanding(4) Deleting(5) Creating(6) RaidSyncing(7) RaidParityChecking(8) RaidAssembling(9) Canceling(10) Degrade(11) Crashed(12)
|
|
OID_RAIDStatus="1.3.6.1.4.1.6574.3.1.1.3.0"
|
|
|
|
####################
|
|
# Synology UPS MIB
|
|
####################
|
|
OID_upsDeviceModel=".1.1"
|
|
OID_upsDeviceManufacturer=".1.2"
|
|
OID_upsDeviceSerial=".1.3"
|
|
OID_upsInfoStatus=".2.1"
|
|
OID_upsInfoMfrDate=".2.6.2"
|
|
OID_upsInfoLoadValue=".2.12.1"
|
|
OID_upsBatteryChargeValue=".3.1.1"
|
|
OID_upsBatteryChargeWarning=".3.1.4"
|
|
OID_upsBatteryType=".3.12"
|
|
|
|
#$OID_upsDeviceModel $OID_upsDeviceManufacturer $OID_upsDeviceSerial $OID_upsInfoStatus $OID_upsInfoMfrDate $OID_upsInfoLoadValue $OID_upsBatteryChargeValue $OID_upsBatteryChargeWarning $OID_upsBatteryType
|
|
|
|
###########
|
|
# CPU MIB
|
|
###########
|
|
OID_ssCpuUser=".1.3.6.1.4.1.2021.11.9.0"
|
|
OID_ssCpuSystem=".1.3.6.1.4.1.2021.11.10.0"
|
|
OID_ssCpuIdle=".1.3.6.1.4.1.2021.11.11.0"
|
|
OID_laLoadInt_1=".1.3.6.1.4.1.2021.10.1.5.1"
|
|
OID_laLoadInt_2=".1.3.6.1.4.1.2021.10.1.5.2"
|
|
OID_laLoadInt_3=".1.3.6.1.4.1.2021.10.1.5.3"
|
|
|
|
#$OID_ssCpuUser $OID_ssCpuSystem $OID_ssCpuIdle $OID_laLoadInt_1 $OID_laLoadInt_2 $OID_laLoadInt_3
|
|
|
|
|
|
#############
|
|
# Memory MIB
|
|
#############
|
|
OID_memTotalSwap=".1.3.6.1.4.1.2021.4.3.0"
|
|
OID_memAvailSwap=".1.3.6.1.4.1.2021.4.4.0"
|
|
OID_memTotalReal=".1.3.6.1.4.1.2021.4.5.0"
|
|
OID_memAvailReal=".1.3.6.1.4.1.2021.4.6.0"
|
|
OID_memTotalFree=".1.3.6.1.4.1.2021.4.11.0"
|
|
OID_memShared=".1.3.6.1.4.1.2021.4.13.0"
|
|
OID_memBuffer=".1.3.6.1.4.1.2021.4.14.0"
|
|
OID_memCached=".1.3.6.1.4.1.2021.4.15.0"
|
|
|
|
#$OID_memTotalSwap $OID_memAvailSwap $OID_memTotalReal $OID_memAvailReal $OID_memTotalFree $OID_memShared $OID_memBuffer $OID_memCached
|
|
|
|
##############
|
|
# Network MIB
|
|
##############
|
|
OID_if=""
|
|
OID_ifName=".1.3.6.1.2.1.31.1.1.1.1"
|
|
OID_ifHCInOctets=".1.3.6.1.2.1.31.1.1.1.6"
|
|
OID_ifHCOutOctets=".1.3.6.1.2.1.31.1.1.1.10"
|
|
|
|
#$OID_ifName $OID_ifHCInOctets $OID_ifHCOutOctets
|
|
|
|
##############
|
|
# Disk MIB (no)
|
|
##############
|
|
OID_storage=""
|
|
OID_hrStorageDescr=".1.3.6.1.2.1.25.2.3.1.3"
|
|
OID_hrStorageAllocationUnits=".1.3.6.1.2.1.25.2.3.1.4"
|
|
OID_hrStorageSize=".1.3.6.1.2.1.25.2.3.1.5"
|
|
OID_hrStorageUsed=".1.3.6.1.2.1.25.2.3.1.6"
|
|
OID_diskIODevice=".1.3.6.1.4.1.2021.13.15.1.1.2"
|
|
OID_diskIONReadX=".1.3.6.1.4.1.2021.13.15.1.1.12"
|
|
OID_diskIONWrittenX=".1.3.6.1.4.1.2021.13.15.1.1.13"
|
|
OID_synoDisk=".1.3.6.1.4.1.6574.2"
|
|
|
|
#$OID_hrStorageDescr $OID_hrStorageAllocationUnits $OID_hrStorageSize $OID_hrStorageUsed $OID_diskIODevice $OID_diskIONReadX $OID_diskIONWrittenX $OID_synoDisk
|
|
|
|
|
|
#coldStart="1.3.6.1.6.31.1.5.1"
|
|
#warmStart="1.3.6.1.6.31.1.5.2"
|
|
#authentificationFailure="1.3.6.1.6.31.1.5.5"
|
|
|
|
nbDisk=`$SNMPWALK -OQne -t 10 -v $SNMPVERSION -c $SNMPCOMMUNITY $HOSTNAME 1.3.6.1.4.1.6574.2.1.1.2 2> /dev/null | wc -l `
|
|
nbRAID=`$SNMPWALK -OQne -t 10 -v $SNMPVERSION -c $SNMPCOMMUNITY $HOSTNAME 1.3.6.1.4.1.6574.3.1.1.2 2> /dev/null | wc -l`
|
|
|
|
for i in `seq 1 $nbDisk`;
|
|
do
|
|
OID_disk="$OID_disk $OID_diskID.$(($i-1)) $OID_diskModel.$(($i-1)) $OID_diskStatus.$(($i-1)) $OID_diskTemp.$(($i-1)) "
|
|
done
|
|
for i in `seq 1 $nbRAID`;
|
|
do
|
|
OID_RAID="$OID_RAID $OID_RAIDName.$(($i-1)) $OID_RAIDStatus.$(($i-1))"
|
|
done
|
|
|
|
|
|
# Synology System MIB
|
|
synoSystem=`$SNMPGET -OQne -t 10 -v $SNMPVERSION -c $SNMPCOMMUNITY $HOSTNAME $OID_modelName $OID_serialNumber $OID_DSMVersion $OID_temp $OID_systemStatus $OID_powerStatus $OID_systemFanStatus $OID_CPUFanStatus $OID_upgradeAvailable 2> /dev/null`
|
|
|
|
if [ "$?" != "0" ] ; then
|
|
echo "CRITICAL - Problem with SNMP request synoSystem"
|
|
#exit 2
|
|
fi
|
|
#echo $synoSystem
|
|
modelName=$(echo "$synoSystem" | grep $OID_modelName | cut -d "=" -f2)
|
|
if [ "$verbose" = "yes" ] ; then echo "Synology model: $modelName" ; fi
|
|
|
|
serialNumber=$(echo "$synoSystem" | grep $OID_serialNumber | cut -d "=" -f2)
|
|
if [ "$verbose" = "yes" ] ; then echo "Synology s/n: $serialNumber" ; fi
|
|
|
|
DSMVersion=$(echo "$synoSystem" | grep $OID_DSMVersion | cut -d "=" -f2)
|
|
if [ "$verbose" = "yes" ] ; then echo "DSMVersion: $DSMVersion" ; fi
|
|
|
|
temp=$(echo "$synoSystem" | grep $OID_temp | cut -d "=" -f2)
|
|
if [ "$verbose" = "yes" ] ; then echo "Temperature: $temp °C" ; fi
|
|
|
|
systemStatus=$(echo "$synoSystem" | grep $OID_systemStatus | cut -d "=" -f2)
|
|
if [ "$verbose" = "yes" ] ; then echo "Etat Système: $systemStatus" ; fi
|
|
|
|
powerStatus=$(echo "$synoSystem" | grep $OID_powerStatus | cut -d "=" -f2)
|
|
if [ "$verbose" = "yes" ] ; then echo "Etat alimentation: $powerStatus" ; fi
|
|
|
|
systemFanStatus=$(echo "$synoSystem" | grep $OID_systemFanStatus | cut -d "=" -f2)
|
|
if [ "$verbose" = "yes" ] ; then echo "Ventilo Système: $systemFanStatus" ; fi
|
|
|
|
CPUFanStatus=$(echo "$synoSystem" | grep $OID_CPUFanStatus | cut -d "=" -f2)
|
|
if [ "$verbose" = "yes" ] ; then echo "Ventilo CPU: $CPUFanStatus" ; fi
|
|
|
|
upgradeAvailable=$(echo "$synoSystem" | grep $OID_upgradeAvailable | cut -d "=" -f2)
|
|
if [ "$verbose" = "yes" ] ; then echo "Temperature: $upgradeAvailable" ; fi
|
|
|
|
|
|
# Synology Disk MIB
|
|
synoDisk=`$SNMPGET -OQne -t 10 -v $SNMPVERSION -c $SNMPCOMMUNITY $HOSTNAME $OID_disk $OID_RAID 2> /dev/null`
|
|
#echo $synoDisk
|
|
|
|
if [ "$?" != "0" ] ; then
|
|
echo "CRITICAL - Problem with SNMP request synoDisk"
|
|
#exit 2
|
|
fi
|
|
#echo $synoDisk
|
|
echo "Nb de disques: $nbDisk"
|
|
for i in `seq 1 $nbDisk`;
|
|
do
|
|
diskID[$i]=$(echo "$synoDisk" | grep "$OID_diskID.$(($i-1)) " | cut -d "=" -f2)
|
|
diskModel[$i]=$(echo "$synoDisk" | grep "$OID_diskModel.$(($i-1)) " | cut -d "=" -f2)
|
|
diskStatus[$i]=$(echo "$synoDisk" | grep "$OID_diskStatus.$(($i-1)) " | cut -d "=" -f2 | sed 's/^[ \t]*//;s/[ \t]*$//')
|
|
diskTemp[$i]=$(echo "$synoDisk" | grep "$OID_diskTemp.$(($i-1)) " | cut -d "=" -f2 | sed 's/^[ \t]*//;s/[ \t]*$//')
|
|
|
|
if [ "${diskStatus[$i]}" != "1" ] ; then
|
|
if [ "${diskStatus[$i]}" = "2" ] ; then diskStatus[$i]="Initialized"; fi
|
|
if [ "${diskStatus[$i]}" = "3" ] ; then diskStatus[$i]="NotInitialized"; fi
|
|
if [ "${diskStatus[$i]}" = "4" ] ; then diskStatus[$i]="SystemPartitionFailed"; fi
|
|
if [ "${diskStatus[$i]}" = "5" ] ; then diskStatus[$i]="Crashed"; fi
|
|
healthStatus=2
|
|
healthString="$healthString, problem with ${diskID[$i]} (model:${diskModel[$i]}) status:${diskStatus[$i]} temperature:${diskTemp[$i]} C "
|
|
else
|
|
diskStatus[$i]="Normal"
|
|
fi
|
|
if [ "$verbose" = "yes" ] ; then echo "${diskID[$i]} (model:${diskModel[$i]}) status:${diskStatus[$i]} temperature:${diskTemp[$i]} C" ; fi
|
|
done
|
|
|
|
echo "Nb de RAID: $nbRAID"
|
|
for i in `seq 1 $nbRAID`;
|
|
do
|
|
RAIDName[$i]=$(echo "$synoDisk" | grep $OID_RAIDName.$(($i-1)) | cut -d "=" -f2)
|
|
RAIDStatus[$i]=$(echo "$synoDisk" | grep $OID_RAIDStatus.$(($i-1)) | cut -d "=" -f2 | sed 's/^[ \t]*//;s/[ \t]*$//')
|
|
|
|
if [ "${RAIDStatus[$i]}" != "1" ] ; then
|
|
if [ "${RAIDStatus[$i]}" = "2" ] ; then RAIDStatus[$i]="Repairing"; fi
|
|
if [ "${RAIDStatus[$i]}" = "3" ] ; then RAIDStatus[$i]="Migrating"; fi
|
|
if [ "${RAIDStatus[$i]}" = "4" ] ; then RAIDStatus[$i]="Expanding"; fi
|
|
if [ "${RAIDStatus[$i]}" = "5" ] ; then RAIDStatus[$i]="Deleting"; fi
|
|
if [ "${RAIDStatus[$i]}" = "6" ] ; then RAIDStatus[$i]="Creating"; fi
|
|
if [ "${RAIDStatus[$i]}" = "7" ] ; then RAIDStatus[$i]="RaidSyncing"; fi
|
|
if [ "${RAIDStatus[$i]}" = "8" ] ; then RAIDStatus[$i]="RaidParityChecking"; fi
|
|
if [ "${RAIDStatus[$i]}" = "9" ] ; then RAIDStatus[$i]="RaidAssembling"; fi
|
|
if [ "${RAIDStatus[$i]}" = "10" ] ; then RAIDStatus[$i]="Canceling"; fi
|
|
if [ "${RAIDStatus[$i]}" = "11" ] ; then RAIDStatus[$i]="Degrade"; fi
|
|
if [ "${RAIDStatus[$i]}" = "12" ] ; then RAIDStatus[$i]="Crashed"; fi
|
|
|
|
#healthStatus=2
|
|
#healthString="$healthString, RAID status ($RAIDName ): $RAIDStatus "
|
|
else
|
|
RAIDStatus[$i]="Normal"
|
|
fi
|
|
if [ "$verbose" = "yes" ] ; then echo "${RAIDName[$i]} status:${RAIDStatus[$i]}" ; fi
|
|
done
|
|
|
|
|
|
# Synology UPS MIB
|
|
synoUPS=`$SNMPGET -OQne -t 10 -v $SNMPVERSION -c $SNMPCOMMUNITY $HOSTNAME $OID_upsDeviceModel $OID_upsDeviceManufacturer $OID_upsDeviceSerial $OID_upsInfoStatus $OID_upsInfoMfrDate $OID_upsInfoLoadValue $OID_upsBatteryChargeValue $OID_upsBatteryChargeWarning $OID_upsBatteryType 2> /dev/null`
|
|
|
|
if [ "$?" != "0" ] ; then
|
|
echo "CRITICAL - Problem with SNMP request synoUPS"
|
|
#exit 2
|
|
else
|
|
#echo $synoUPS
|
|
upsDeviceModel=$(echo "$synoUPS" | grep $OID_upsDeviceModel | cut -d "=" -f2)
|
|
if [ "$verbose" = "yes" ] ; then echo "upsDeviceModel: $upsDeviceModel" ; fi
|
|
|
|
upsDeviceManufacturer=$(echo "$synoUPS" | grep $OID_upsDeviceManufacturer | cut -d "=" -f2)
|
|
if [ "$verbose" = "yes" ] ; then echo "upsDeviceManufacturer: $upsDeviceManufacturer" ; fi
|
|
|
|
upsDeviceSerial=$(echo "$synoUPS" | grep $OID_upsDeviceSerial | cut -d "=" -f2)
|
|
if [ "$verbose" = "yes" ] ; then echo "upsDeviceSerial: $upsDeviceSerial" ; fi
|
|
|
|
upsInfoStatus=$(echo "$synoUPS" | grep $OID_upsInfoStatus | cut -d "=" -f2)
|
|
if [ "$verbose" = "yes" ] ; then echo "upsInfoStatus: $upsInfoStatus" ; fi
|
|
|
|
upsInfoMfrDate=$(echo "$synoUPS" | grep $OID_upsInfoMfrDate | cut -d "=" -f2)
|
|
if [ "$verbose" = "yes" ] ; then echo "upsInfoMfrDate: $upsInfoMfrDate" ; fi
|
|
|
|
upsInfoLoadValue=$(echo "$synoUPS" | grep $OID_upsInfoLoadValue | cut -d "=" -f2)
|
|
if [ "$verbose" = "yes" ] ; then echo "upsInfoLoadValue: $upsInfoLoadValue" ; fi
|
|
|
|
upsBatteryChargeValue=$(echo "$synoUPS" | grep $OID_upsBatteryChargeValue | cut -d "=" -f2)
|
|
if [ "$verbose" = "yes" ] ; then echo "upsBatteryChargeValue: $upsBatteryChargeValue" ; fi
|
|
|
|
upsBatteryChargeWarning=$(echo "$synoUPS" | grep $OID_upsBatteryChargeWarning | cut -d "=" -f2)
|
|
if [ "$verbose" = "yes" ] ; then echo "upsBatteryChargeWarning: $upsBatteryChargeWarning" ; fi
|
|
|
|
upsBatteryType=$(echo "$synoUPS" | grep $OID_upsBatteryType | cut -d "=" -f2)
|
|
if [ "$verbose" = "yes" ] ; then echo "upsBatteryType: $upsBatteryType" ; fi
|
|
fi
|
|
|
|
# CPU MIB
|
|
cpuMIB=`$SNMPGET -OQne -t 10 -v $SNMPVERSION -c $SNMPCOMMUNITY $HOSTNAME $OID_ssCpuUser $OID_ssCpuSystem $OID_ssCpuIdle $OID_laLoadInt_1 $OID_laLoadInt_2 $OID_laLoadInt_3 2> /dev/null`
|
|
|
|
if [ "$?" != "0" ] ; then
|
|
echo "CRITICAL - Problem with SNMP request cpuMIB"
|
|
#exit 2
|
|
fi
|
|
#echo $cpuMIB
|
|
ssCpuUser=$(echo "$cpuMIB" | grep $OID_ssCpuUser | cut -d "=" -f2)
|
|
if [ "$verbose" = "yes" ] ; then echo "ssCpuUser: $ssCpuUser" ; fi
|
|
|
|
ssCpuSystem=$(echo "$cpuMIB" | grep $OID_ssCpuSystem | cut -d "=" -f2)
|
|
if [ "$verbose" = "yes" ] ; then echo "ssCpuSystem: $ssCpuSystem" ; fi
|
|
|
|
ssCpuIdle=$(echo "$cpuMIB" | grep $OID_ssCpuIdle | cut -d "=" -f2)
|
|
if [ "$verbose" = "yes" ] ; then echo "ssCpuIdle: $ssCpuIdle" ; fi
|
|
|
|
laLoadInt_1=$(echo "$cpuMIB" | grep $OID_laLoadInt_1 | cut -d "=" -f2)
|
|
if [ "$verbose" = "yes" ] ; then echo "laLoadInt_1: $laLoadInt_1" ; fi
|
|
|
|
laLoadInt_2=$(echo "$cpuMIB" | grep $OID_laLoadInt_2 | cut -d "=" -f2)
|
|
if [ "$verbose" = "yes" ] ; then echo "laLoadInt_2: $laLoadInt_2" ; fi
|
|
|
|
laLoadInt_3=$(echo "$cpuMIB" | grep $OID_laLoadInt_3 | cut -d "=" -f2)
|
|
if [ "$verbose" = "yes" ] ; then echo "laLoadInt_3: $laLoadInt_3" ; fi
|
|
|
|
|
|
# Memory MIB
|
|
memoryMIB=`$SNMPGET -OQne -t 10 -v $SNMPVERSION -c $SNMPCOMMUNITY $HOSTNAME $OID_memTotalSwap $OID_memAvailSwap $OID_memTotalReal $OID_memAvailReal $OID_memTotalFree $OID_memShared $OID_memBuffer $OID_memCached 2> /dev/null`
|
|
|
|
if [ "$?" != "0" ] ; then
|
|
echo "CRITICAL - Problem with SNMP request memoryMIB"
|
|
#exit 2
|
|
fi
|
|
#echo $memoryMIB
|
|
memTotalSwap=$(echo "$memoryMIB" | grep $OID_memTotalSwap | cut -d "=" -f2)
|
|
if [ "$verbose" = "yes" ] ; then echo "memTotalSwap: $memTotalSwap" ; fi
|
|
|
|
memAvailSwap=$(echo "$memoryMIB" | grep $OID_memAvailSwap | cut -d "=" -f2)
|
|
if [ "$verbose" = "yes" ] ; then echo "memAvailSwap: $memAvailSwap" ; fi
|
|
|
|
memTotalReal=$(echo "$memoryMIB" | grep $OID_memTotalReal | cut -d "=" -f2)
|
|
if [ "$verbose" = "yes" ] ; then echo "memTotalReal: $memTotalReal" ; fi
|
|
|
|
memAvailReal=$(echo "$memoryMIB" | grep $OID_memAvailReal | cut -d "=" -f2)
|
|
if [ "$verbose" = "yes" ] ; then echo "memAvailReal: $memAvailReal" ; fi
|
|
|
|
memTotalFree=$(echo "$memoryMIB" | grep $OID_memTotalFree | cut -d "=" -f2)
|
|
if [ "$verbose" = "yes" ] ; then echo "memTotalFree: $memTotalFree" ; fi
|
|
|
|
memShared=$(echo "$memoryMIB" | grep $OID_memShared | cut -d "=" -f2)
|
|
if [ "$verbose" = "yes" ] ; then echo "memShared: $memShared" ; fi
|
|
|
|
memBuffer=$(echo "$memoryMIB" | grep $OID_memBuffer | cut -d "=" -f2)
|
|
if [ "$verbose" = "yes" ] ; then echo "memBuffer: $memBuffer" ; fi
|
|
|
|
memCached=$(echo "$memoryMIB" | grep $OID_memCached | cut -d "=" -f2)
|
|
if [ "$verbose" = "yes" ] ; then echo "memCached: $memCached" ; fi
|
|
|
|
|
|
# Network MIB (no)
|
|
nbIF=`$SNMPWALK -OQne -t 10 -v $SNMPVERSION -c $SNMPCOMMUNITY $HOSTNAME .1.3.6.1.2.1.31.1.1.1.1 2> /dev/null | wc -l `
|
|
#echo $nbIF
|
|
for i in `seq 1 $nbIF`;
|
|
do
|
|
echo "OID_ifName $OID_ifName.$(($i))"
|
|
echo "OID_ifHCInOctets $OID_ifHCInOctets.$(($i))"
|
|
echo "OID_ifHCOutOctets $OID_ifHCOutOctets.$(($i))"
|
|
OID_if="$OID_if $OID_ifName.$(($i)) $OID_ifHCInOctets.$(($i)) $OID_ifHCOutOctets.$(($i)) "
|
|
done
|
|
echo "tableau"
|
|
echo ${OID_if[0]}
|
|
|
|
networkMIB=`$SNMPGET -OQne -t 10 -v $SNMPVERSION -c $SNMPCOMMUNITY $HOSTNAME $OID_if 2> /dev/null`
|
|
echo $networkMIB
|
|
|
|
if [ "$?" != "0" ] ; then
|
|
echo "CRITICAL - Problem with SNMP request networkMIB"
|
|
#exit 2
|
|
fi
|
|
|
|
for i in `seq 1 $nbIF`;
|
|
do
|
|
ifName[$i]=$(echo "$networkMIB" | grep "$OID_ifName.$(($i)) " | cut -d "=" -f2)
|
|
ifHCInOctets[$i]=$(echo "$networkMIB" | grep "$OID_ifHCInOctets.$(($i)) " | cut -d "=" -f2)
|
|
ifHCOutOctets[$i]=$(echo "$networkMIB" | grep "$OID_ifHCOutOctets.$(($i)) " | cut -d "=" -f2)
|
|
|
|
if [ "$verbose" = "yes" ] ; then echo "${ifName[$i]} In:${ifHCInOctets[$i]} Out:${ifHCOutOctets[$i]}" ; fi
|
|
|
|
done
|
|
|
|
|
|
# Disk MIB (no)
|
|
OID_hrStorageIndex=".1.3.6.1.2.1.25.2.3.1.1"
|
|
nbStorage=`$SNMPWALK -OQne -t 10 -v $SNMPVERSION -c $SNMPCOMMUNITY $HOSTNAME .1.3.6.1.2.1.25.2.3.1.3 2> /dev/null | wc -l`
|
|
for i in `seq 1 $nbStorage`;
|
|
do
|
|
echo "OID_hrStorageIndex $OID_hrStorageIndex.$(($i))"
|
|
#OID_hrStorageIndex .1.3.6.1.2.1.25.2.3.1.1.1 -> get 1
|
|
#OID_hrStorageIndex .1.3.6.1.2.1.25.2.3.1.1.2
|
|
#OID_hrStorageIndex .1.3.6.1.2.1.25.2.3.1.1.3
|
|
|
|
#diskIndex=`$SNMPGET -OQne -t 10 -v $SNMPVERSION -c $SNMPCOMMUNITY $HOSTNAME
|
|
|
|
echo "OID_hrStorageDescr $OID_hrStorageDescr.$(($i))"
|
|
echo "OID_ifHCInOctets $OID_ifHCInOctets.$(($i))"
|
|
echo "OID_hrStorageAllocationUnits $OID_hrStorageAllocationUnits.$(($i))"
|
|
OID_if="$OID_if $OID_hrStorageDescr.$(($i)) $OID_hrStorageAllocationUnits.$(($i)) $OID_hrStorageSize.$(($i)) "
|
|
done
|
|
|
|
diksMIB=`$SNMPGET -OQne -t 10 -v $SNMPVERSION -c $SNMPCOMMUNITY $HOSTNAME $OID_hrStorageDescr $OID_hrStorageAllocationUnits $OID_hrStorageSize $OID_hrStorageUsed $OID_diskIODevice $OID_diskIONReadX $OID_diskIONWrittenX $OID_synoDisk 2> /dev/null`
|
|
|
|
#OID_hrStorageIndex=".1.3.6.1.2.1.25.2.3.1.1"
|
|
#OID_hrStorageType=".1.3.6.1.2.1.25.2.3.1.2"
|
|
#OID_hrStorageDescr=".1.3.6.1.2.1.25.2.3.1.3"
|
|
#OID_hrStorageAllocationUnits=".1.3.6.1.2.1.25.2.3.1.4"
|
|
#OID_hrStorageSize=".1.3.6.1.2.1.25.2.3.1.5"
|
|
#OID_hrStorageUsed=".1.3.6.1.2.1.25.2.3.1.6"
|
|
#OID_diskIODevice=".1.3.6.1.4.1.2021.13.15.1.1.2"
|
|
#OID_diskIONReadX=".1.3.6.1.4.1.2021.13.15.1.1.12"
|
|
#OID_diskIONWrittenX=".1.3.6.1.4.1.2021.13.15.1.1.13"
|
|
#OID_synoDisk=".1.3.6.1.4.1.6574.2"
|
|
|
|
if [ "$?" != "0" ] ; then
|
|
echo "CRITICAL - Problem with SNMP request diksMIB"
|
|
#exit 2
|
|
fi
|
|
#echo $diksMIB
|
|
OID_hrStorageDescr=$(echo "$diksMIB" | grep $OID_hrStorageDescr | cut -d "=" -f2)
|
|
if [ "$verbose" = "yes" ] ; then echo "OID_hrStorageDescr: $OID_hrStorageDescr" ; fi
|
|
|
|
hrStorageAllocationUnits=$(echo "$diksMIB" | grep $OID_hrStorageAllocationUnits | cut -d "=" -f2)
|
|
if [ "$verbose" = "yes" ] ; then echo "hrStorageAllocationUnits: $hrStorageAllocationUnits" ; fi
|
|
|
|
hrStorageSize=$(echo "$diksMIB" | grep $OID_hrStorageSize | cut -d "=" -f2)
|
|
if [ "$verbose" = "yes" ] ; then echo "hrStorageSize: $hrStorageSize" ; fi
|
|
|
|
hrStorageUsed=$(echo "$diksMIB" | grep $OID_hrStorageUsed | cut -d "=" -f2)
|
|
if [ "$verbose" = "yes" ] ; then echo "hrStorageUsed: $hrStorageUsed" ; fi
|
|
|
|
diskIODevice=$(echo "$diksMIB" | grep $OID_diskIODevice | cut -d "=" -f2)
|
|
if [ "$verbose" = "yes" ] ; then echo "diskIODevice: $diskIODevice" ; fi
|
|
|
|
diskIONReadX=$(echo "$diksMIB" | grep $OID_diskIONReadX | cut -d "=" -f2)
|
|
if [ "$verbose" = "yes" ] ; then echo "diskIONReadX: $diskIONReadX" ; fi
|
|
|
|
diskIONWrittenX=$(echo "$diksMIB" | grep $OID_diskIONWrittenX | cut -d "=" -f2)
|
|
if [ "$verbose" = "yes" ] ; then echo "diskIONWrittenX: $diskIONWrittenX" ; fi
|
|
|
|
synoDisk=$(echo "$diksMIB" | grep $OID_synoDisk | cut -d "=" -f2)
|
|
if [ "$verbose" = "yes" ] ; then echo "synoDisk: $synoDisk" ; fi
|
|
|