linux – 使用SNMP可用的文件系统空间

前端之家收集整理的这篇文章主要介绍了linux – 使用SNMP可用的文件系统空间前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在Solaris 10和Ubuntu 11.10上使用SNMP收集文件系统空间信息.问题是SNMP似乎没有与df中“Available”列对应的属性.

例如,这是我本地文件系统的df -k输出

Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sdb1             36841040  13489312  21480268  39% /

以下是SNMP守护程序的相关属性(根据the Net-SNMP documentation):

HOST-RESOURCES-MIB::hrStorageDescr.31 = STRING: /
HOST-RESOURCES-MIB::hrStorageSize.31 = INTEGER: 9210260
HOST-RESOURCES-MIB::hrStorageUsed.31 = INTEGER: 3372328
HOST-RESOURCES-MIB::hrStorageAllocationUnits.31 = INTEGER: 4096 Bytes

现在9210260 * 4 = 36841040,和3372328 * 4 = 13489312,它们匹配df输出中的列.但是,我看不到任何与“可用”列对应的属性.请注意,这不仅仅是减去两列的问题 – “可用”列似乎考虑了一些隐藏的开销,这些开销因文件系统而异.

有没有办法使用SNMP收集或计算“可用”列信息?

解决方法

我认为您需要在标准SNMP之上进行其他配置以获得可用空间. NET-SNMP documentation提到以下内容: @H_404_18@

There are two tables that can be used when monitoring disk space,
UCD-SNMP-MIB:dskTable and HOST-RESOURCES-MIB:hrStorageTable. There are
two noticeable differences bwtween these tables: UCD-SNMP-MIB:dskTable
requires a configuration directive in snmpd.conf,but it also gives a
direct measure of the percentage of free space

所以听起来你只需要使用UCD-SNMP-MIB而不是HOST-RESOURCES-MIB来获取dskTable而不是hrStorageTable.

猜你在找的Linux相关文章