我正在尝试在CentOS主机上configurationsnmpd,以百分比forms监视可用磁盘使用情况。
如果我设置了snmpd.conf
disk / disk /var
,值可以用查询
1.3.6.1.4.1.2021.9.1.1。 1代表“/”和
1.3.6.1.4.1.2021.9.1.1。 2代表“/ var”。
我有几个服务器没有一个单独的“/ var”分区。 所以磁盘布局不规范。 我想通了,在snmpd.conf中的磁盘语句顺序决定了snmp查询结果的dskIndex编号。 所以如果我翻转“/”和“/ var”,“/”会有dskIndex 2 。
在我的监控系统中,我必须分别configuration每个服务器的OID,因为它们可能不同。 所以这个想法是为不存在的文件系统占位符。
是否有可能有占位符人为地计数dskIndex或以某种方式在snmpd.conf中手动影响dskIndex?
提前致谢
我不知道如何手动更改dskIndex,但是snmpd使用snmpd.conf文件中的order define,所以它是可以预测的。
如果你想看看上面的其他解决scheme:
snmpd提供有关磁盘索引的信息,如果您查询了oid:1.3.6.1.2.1.25.2.3.1.3系统将返回可用磁盘列表,例如:
$ snmpwalk -v 2c -c public 127.0.0.1 1.3.6.1.2.1.25.2.3.1.3 iso.3.6.1.2.1.25.2.3.1.3.1 = STRING: "Physical memory" iso.3.6.1.2.1.25.2.3.1.3.3 = STRING: "Virtual memory" iso.3.6.1.2.1.25.2.3.1.3.6 = STRING: "Memory buffers" iso.3.6.1.2.1.25.2.3.1.3.7 = STRING: "Cached memory" iso.3.6.1.2.1.25.2.3.1.3.8 = STRING: "Shared memory" iso.3.6.1.2.1.25.2.3.1.3.10 = STRING: "Swap space" iso.3.6.1.2.1.25.2.3.1.3.31 = STRING: "/" iso.3.6.1.2.1.25.2.3.1.3.32 = STRING: "/sys/fs/fuse/connections" iso.3.6.1.2.1.25.2.3.1.3.33 = STRING: "/dev" iso.3.6.1.2.1.25.2.3.1.3.35 = STRING: "/media/KINGSTON"
最后一位是索引,所以你可以像这样请求/分区的大小:
snmpwalk -v 2c -c public 127.0.0.1 1.3.6.1.2.1.25.2.3.1.5。 31
iso.3.6.1.2.1.25.2.3.1.5.31 = INTEGER:37458759
我不知道你使用哪个监控系统,但是读取这个脚本check_snmp_storage.pl ,perl脚本用SNMP检索索引表,只请求好的OID。 它适用于nagios,也许你可以适应其他系统。