У меня есть скрипт, который запрашивает данные OID через SNMPWalk, проблема в том, что когда определенный IP-адрес (например, 172.20.36.8) недоступен, он отображает Timeout: No Response from 172.20.36.8
. Есть ли код, который мог бы заменить этот ответ от запроса snmp, чтобы, если он отображается таким образом, я хотел бы, чтобы вместо этого «Тайм-аут: ...» отображалось слово «Простой»
вот часть скрипта, который я запускаю:
for EACH in `echo $APIP`
do
SectorID=`$SNMPWALK -v2c -c Canopy ${EACH} ${SNMPOID}.1.1.16 | awk '{print $4}'
ActiveSubs=`$SNMPWALK -v2c -c Canopy ${EACH} ${SNMPOID}.1.7.1 | awk '{print $4}'
UniqueSubs=`$SNMPWALK -v2c -c Canopy ${EACH} ${SNMPOID}.1.7.18 | awk '{print $4}'
printf "%s\t| %s\t| %s\t| %s\t|\n" "${EACH}" "${SectorID}" "${ActiveSubs}" "${UniqueSubs}"
done
Теперь вот результат указанной части скрипта
172.20.36.3 | 1 | 2 | 4 |
172.20.36.4 | 2 | 5 | 8 |
172.20.36.5 | 3 | 11 | 16 |
Timeout: No Response from 172.20.36.6
Timeout: No Response from 172.20.36.6
Timeout: No Response from 172.20.36.6
172.20.36.6 | | | 0 |
172.20.36.7 | 5 | 0 | 1 |
Timeout: No Response from 172.20.36.8
Timeout: No Response from 172.20.36.8
Timeout: No Response from 172.20.36.8
172.20.36.8 | | | 0 |
когда он достигает IP-адреса .6
и .8
, он отображает "Timeout: No Response..."
. Я хотел как-то отобразить это так, если он не получит ответа от указанного IP-адреса:
172.20.36.3 | 1 | 2 | 4 |
172.20.36.4 | 2 | 5 | 8 |
172.20.36.5 | 3 | 11 | 16 |
172.20.36.6 | Idle | Idle | Idle |
172.20.36.7 | 5 | 0 | 1 |
172.20.36.8 | Idle | Idle | Idle |
может ли кто-нибудь, кто может помочь мне решить эту проблему? Я очень ценю ваши ответы. :)