16 ТБ томов и SNMP в Windows

12

Поскольку объемы больше 16 ТБ стали более распространенными, было признано, что 32-разрядное значение, используемое для отчета о размере диска и использовании в стандартной MIB «HOST-RESOURCES» в SNMP, было недостаточно большим, чтобы сообщить правильный размер диска.

Net-SNMP, кажется, решил эту проблему, просто манипулируя значением «AllocationUnits», чтобы поддерживать 32-битное значение для использования диска (поскольку общий размер / использование диска равно 32-битному значению пространства, умноженному на единицу выделения), чтобы для расчета объема больше 8 / 16TB. Предполагая, что у вас нет отчетного интереса к единице распределения, и все в порядке с небольшой степенью неточности. это похоже на элегантное решение.

https://bugzilla.redhat.com/show_bug.cgi?id=654384

Однако встроенная в Windows служба SNMP, похоже, продолжает страдать от этой ошибки, просто сообщая по модулю занятого / назначенного дискового пространства, что приводит к неточным отчетам о размере диска.

Есть ли способ, позволяющий Windows правильно сообщать об использовании диска для томов более 16 ТБ? Мы попытались просто установить Net-SNMP 5.5 x64 и полностью отключить службу Windows SNMP, однако, к сожалению, это не решило нашу проблему.

При использовании расширений NetSNMP информация, которую мы собираем для конкретного интересующего нас диска, выглядит следующим образом:

введите описание изображения здесь

Эти результаты одинаковы, независимо от того, используем ли мы стандартную службу SNMP для Windows или NetSNMP.

Я видел, как люди в сообществе Cacti упоминают просто написание решения. К сожалению, мы используем Observium для быстрого и простого мониторинга систем. Если проблема не может быть исправлена ​​на стороне окна, можно ли сделать Observium для отчета о пользовательских MIB?

- Обновление -

Изучив упоминание в отчете об ошибке о добавлении «realStorageUnits» в файл snmpd.conf, мы столкнулись со следующей проблемой при установке этой директивы:

realStorageUnits помогает нам

- Обновление 2 -

Что ж, после долгих попыток он не похож ни на одну из версий Net-SNMP для Windows, как на директиву realStorageUnits. Включение директивы приводит к предупреждению при запуске SNMP. Мы пробовали версии 5.5, 5.6 и 5.7. Кто-нибудь здесь когда-нибудь выяснил, как заставить SNMP сообщать о томах объемом более 16 ТБ в Windows?

Univ426
источник
Вы говорите, что установка Net-SNMPD не устранила проблему. Вы имеете в виду, что он не настраивает AllocationUnits как намеренный, или вам не удалось запустить его?
Александр Янссен
Похоже, это не изменило единицы распределения. Служба работала нормально, но, в конце концов, она не изменила то, что сообщалось - значение диска было по-прежнему неверным, а различные значения были такими же, как и раньше. Однако я могу подтвердить, что «Служба SNMP» была остановлена, а «Служба Net-SNMP» запущена. Есть ли шанс, что я настраиваю что-то не так?
Univ426
Небольшое дополнительное примечание, я выставляю деревья, используя очень простую настройку v2c "rwcommunity <string>" для тестирования.
Univ426
Для начала вы можете запросить OID, .1.3.6.1.4.1.2021.100.2.0чтобы проверить, действительно ли отвечает Net-SNMP. На моих (Linux) хостах с Net-SNMP это даетSNMPv2-SMI::enterprises.2021.100.2.0 = STRING: "5.4.1"
Александр Янссен
Я получаю «UCD-SNMP-MIB :: versionTag.0 = STRING: 5.5» выглядит немного иначе, но netSNMP 5.5 - версия, которую я установил. Выключив Net-SNMP и включив службу Windows SNMP, я получаю «UCD-SNMP-MIB :: verionTag.0 = Больше нет переменных в представлении MIB», так что похоже, что NetSNMP определенно запущен
Univ426

Ответы:

2

Некоторое время назад был патч для Net-SNMP 5.5, который представил новую опцию realStorageUnitsдля файла конфигурации.

Из багрепорта Redhat # 748410 :

Чтобы устранить эту проблему [отрицательные значения hrStorageSite], это обновление добавляет новую опцию в файл конфигурации /etc/snmp/snmpd.conf, realStorageUnits. Изменив значение этого параметра на 0, пользователи теперь могут включить пересчет всех значений в hrStorageTable, чтобы при умножении hrStorageSize и hrStorageAllocationUnits всегда получался точный размер устройства.

(текст в [скобках] мой)

Поэтому добавление директивы конфигурации realStorageUnits 0в ваш snmpd.conf может решить вашу проблему.

Однако значения не будут правильными до самого последнего мегабайта; YMMV.

Я не могу сказать, был ли этот патч включен в ваш бинарный дистрибутив Net-SNMP, но было бы здорово, если бы вы могли сообщить о результатах и ​​какой бинарный файл вы используете. Кроме того, я не проверял это из-за отсутствия адекватного оборудования прямо сейчас.

Александр Янссен
источник
Спасибо Алекс, мы пробовали это раньше - с большой надеждой - к сожалению, когда мы делаем это, мы получаем следующую ошибку - C: /usr/etc/snmp/snmpd.conf: строка 2: Предупреждение: неизвестный токен: realStorageUnits. Эта директива только что упала, например, прямо под "rwcommunity private"?
Univ426
Хаха, да, я однажды совершил эту ошибку - я дважды проверил, но я обновлю свой вопрос с помощью картинки.
Univ426
Есть ли шанс, что я пишу эту директиву неправильно?
Univ426
Нет, выглядит хорошо Извини, я сейчас потерян. У меня нет подходящего компьютера с вашей версией Windows, чтобы это проверить, но, честно говоря, ваш snmpd.conf выглядит немного «маленьким». Попробуйте этот минимальный конфиг для v2c . Не уверен, поможет ли это, но он убедится, что ничего другого не происходит. И, адаптируйте сеть в директиве localnet.
Александр Янссен
5.5 на Linux с моим минимальным конфигом начинается счастливо с realStorageUnitsдирективой. Если это все еще не работает для вас, у меня есть отчетливое ощущение, что эта функция почему-то не включена в двоичный файл NetSNMP, который вы используете.
Александр Янссен
1

Я знаю, что это не прямой ответ на ваш вопрос, но, возможно, это поможет. Я предлагаю вам попробовать связаться с командой, которая делает SNMP Informant: http://www.snmp-informant.com/

Они расширяют агент Windows SNMP, чтобы обойти ограничения Microsoft для некоторых из своих OID. Я использую его с Zenoss, чтобы получить более точные данные об использовании процессора и хранилище, и есть большая вероятность, что это обойдет вашу проблему, но я не могу сказать наверняка.

SpacemanSpiff
источник
Вы также можете использовать его для запроса счетчиков WMI.
SpacemanSpiff
Неплохая идея, я буду уверен в этом. Теоретически библиотеки Net-SNMP должны делать то же самое, но их очевидный уровень настройки может быть полезен, спасибо!
Univ426