Как я могу получить FreeNAS и pfSense, чтобы сообщать больше о SNMP?

10

У меня есть два сервера, на которых работают варианты FreeBSD: один - это маршрутизатор pfSense, а другой - сервер FreeNAS 8. Оба этих сервера работают по протоколу SNMP, и я собираю и отображаю их информацию с помощью третьего сервера Cacti.

Данные SNMP как с сервера pfSense, так и с сервера FreeNAS не включают использование памяти, использование ЦП и загрузку средней.

Графики трафика для сервера pfSense выглядят нормально. Отчеты об использовании диска с сервера FreeNAS выглядят красиво. Я просто не получаю никаких данных для использования памяти, загрузки процессора или средней нагрузки. Я знаю, что оба этих сервера должны быть способны предоставлять эти данные, потому что в веб-администраторах pfSense и freeNAS я могу просматривать графики. Но я бы предпочел иметь все графики в Cacti для простоты управления.

Как я могу заставить свой сервер pfSense предоставлять данные об использовании памяти, ЦП и средней загрузке данных через SNMP? Как я могу получить на своем сервере FreeNAS данные об использовании памяти, ЦП и средней загрузке через SNMP? Я предполагаю, что та же самая процедура будет работать для обоих серверов.

мистифицировать
источник

Ответы:

11

После долгих исследований я обнаружил, в чем проблема. И pfSense, и FreeNAS обеспечивают поддержку SNMP через демона SNMP бегема FreeBSD (bsnmpd) . Чтобы предоставить информацию об использовании памяти, использовании процессора и средней snmp_ucd.soзагрузке, демону SNMP begemot должен быть загружен дополнительный модуль .

Я нашел следующую ветку форума, объясняющую загрузку snmp_ucd.so, однако ее не было в двух моих системах.

Чтобы решить эту проблему, я создал виртуальную машину и установил на нее FreeBSD 8.3. Внутри этой виртуальной машины я использовал систему портов FreeBSD для загрузки и сборки необходимой snmp_ucd.soбиблиотеки, используя:

cd /usr/ports/net-mgmt/bsnmp-ucd
make all install clean 
cd /usr/ports/net-mgmt/bsnmptools
make all install clean

После этого я использовал scpдля копирования /usr/local/lib/snmp_ucd.soс виртуальной машины FreeBSD и мой сервер pfSense, и мой сервер FreeNAS.

Затем я использовал графический интерфейс FreeNAS для добавления следующих вспомогательных параметров :

begemotSnmpdModulePath."ucd" = "/mnt/Garrison/jail/usr/local/lib/snmp_ucd.so"

Screencap FreeNAS

Это автоматически добавило строку /etc/snmpd.configна сервер FreeNAS, и я смог получить графики!

Сервер pfSense был более хитрым, поскольку он не позволял мне применять изменения с помощью графического интерфейса, а сценарии pfSense автоматически перестраивали /etc/snmpd.config, перезаписывая мои изменения. Чтобы заставить работать pfSense, мне пришлось отредактировать /etc/inc/services.inc. Перед строкой, которая гласила:

fwrite($fd, $snmpdconf);

Я добавил следующее:

    //Josh Additions: Make load avg and CPU usage work:
    $snmpdconf .= <<<EOD
# Josh additions:
begemotSnmpdModulePath."ucd" = "/usr/local/lib/snmp_ucd.so"



EOD;

Затем отключение и повторное включение SNMP привело к тому, что графики изменений и загрузки ЦП работают сейчас! Это изменение почти наверняка не сохранится во всех обновлениях pfSense, но я не смог найти более простой и стабильный способ применить это изменение.

мистифицировать
источник