У меня странная проблема: я хочу контролировать свое 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