Назад | Перейти на главную страницу

Пространство файловой системы, доступное при использовании 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?

Я думаю, вам нужно выполнить дополнительную настройку поверх стандартного 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.