Пространство файловой системы доступно с использованием SNMP

Пространство файловой системы доступно с использованием SNMP

Я хотел бы собрать информацию о пространстве файловой системы с помощью SNMP на Solaris 10 и Ubuntu 11.10. Проблема в том, что SNMP, похоже, не имеет атрибута, соответствующего столбцу «Доступно» в df.

Например, вот df -kвывод моей локальной файловой системы:

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

А вот соответствующие атрибуты демона SNMP (согласнодокументация Net-SNMP):

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?

решение1

Я думаю, вам нужно сделать дополнительную настройку поверх стандартного SNMP, чтобы получить доступное пространство.Документация NET-SNMPупоминает следующее:

Есть две таблицы, которые можно использовать при мониторинге дискового пространства, UCD-SNMP-MIB:dskTable и HOST-RESOURCES-MIB:hrStorageTable. Между этими таблицами есть два заметных различия: UCD-SNMP-MIB:dskTable требует директивы конфигурации в snmpd.conf, но также дает прямую меру процента свободного пространства

Похоже, вам просто нужно использовать UCD-SNMP-MIB вместо HOST-RESOURCES-MIB, чтобы получить доступ к dskTable вместо hrStorageTable.

Связанный контент