Назад | Перейти на главную страницу

Тайм-аут сценария выполнения SNMP

У меня странная проблема: я хочу контролировать свое NAS-устройство Synology DiskStation с помощью Nagios. Я установил на него SNMP и создал специальный exec в моем snmpd.conf

exec synology_disk_usage  /opt/bin/bash /usr/bin/diskusage.sh

/Usr/bin/diskusage.sh - это простой скрипт, который запускает один snmpget и умножает его на 4, чтобы получить точную информацию о дисках:

#!/opt/bin/bash
value=$(snmpget -v 1 -c public localhost HOST-RESOURCES-MIB::hrStorageSize.33 -O Qve)
echo "$value * 4" | bc

Когда я запускаю сценарий напрямую:

bash-3.2# /usr/bin/diskusage.sh 
956787604

И когда я делаю snmpwalk:

bash-3.2# snmpwalk -v 1 -c public localhost .1.3.6.1.4.1.2021.8.1  
iso.3.6.1.4.1.2021.8.1.1.1 = INTEGER: 1 
iso.3.6.1.4.1.2021.8.1.2.1 = STRING: "synology_disk_usage" 
iso.3.6.1.4.1.2021.8.1.3.1 = STRING: "/opt/bin/bash" 
Timeout: No Response from localhost

Проблема должна быть где-то вокруг snmpget в скрипте, когда я меняю его, то есть на значение = 123, тогда в snmpwalk вывод правильный. Пытался сделать snmpget с большим таймаутом (даже 20 секунд), но все равно получал.

Любая помощь будет очень признательна! С уважением

Мой файл snmpd.conf

rocommunity  public                                                        
rwcommunity  public                                                        

proc  smbd 30 1                                                            
proc  nmbd 1 1                                                             
proc  sshd 30 1                                                            
proc  syslogd 1 1                                                           
proc  klogd 1 1                                                             
proc  USB_Detect 2 2                                                        

disk  / 5%                                                                  
disk  /share/hdd/data 5%                                                    
disk  /share/hdd/conf 5%                                                    

load  10 8 5                                                                    
file  /var/log/messages 131072                                                  
file  /var/log/samba/log.nmbd 131072                                            
file  /var/log/samba/log.smbd 131072                                            

syslocation  "UNKNOWN LOCATION"                                                 

syscontact  "UNKNOWN CONTACT"                                                   

exec synology_disk_usage  /opt/bin/bash /usr/bin/diskusage.sh