我有一个奇怪的问题,我想用 Nagios 监控我的 Synology DiskStation NAS。我在其上安装了 SNMP,并在 snmpd.conf 中创建了一个自定义 exec
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 上,当我将其更改为 value=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