我在通过 snmp 链接到 esx 3.5 服务器的 opensuse linux 上运行 nagios 服务器
我试图让 snmpwalk 返回一个数组,但它只返回一个值。
在 esx 盒子上,我使用以下 shell 来查找所有快照的大小-
/usr/bin/find /vmfs/volumes/ -name '*delta*.vmdk' -printf %f' '%s'\n'
当在 esx 盒子上运行时,这将返回以下内容-
[root@localhost root]# /bin/sh /etc/snmp/snmp_snapshots.sh
testnag01-000001-delta.vmdk 16840704
testnag01-000002-delta.vmdk 167835648
testnag01-000003-delta.vmdk 151058432
在 nagios 盒子上,我有以下外壳-
declare -a RESULT=$(/usr/bin/snmpwalk -v 2c -c public 10.10.0.20 .1.3.6.1.4.1.6876.57.101.2 | grep vmdk | awk {' print $4,$5 '} | sed 's/ /_size:/g' | sed 's/\"//g')
echo "snapshot 1" ${RESULT[0]}
echo "snapshot 2" ${RESULT[1]}
这只返回一个值,(列表中的第二个)-
snapshot 1 testnag01-000002-delta.vmdk:167835648
snapshot 2
当我自己运行命令时-
/usr/bin/snmpwalk -v 2c -c public 10.10.0.20 .1.3.6.1.4.1.6876.57.101.2
我得到以下回报-
SNMPv2-SMI::enterprises.6876.57.101.2 = STRING: "testnag01-000002-delta.vmdk 167835648"
所以看起来命令本身未能返回多个结果?
我是这里的菜鸟,所以我很可能会遗漏一些明显的东西......
提前致谢