Jak mogę uzyskać FreeNAS i pfSense, aby zgłaszać więcej za pomocą SNMP?

10

Mam dwa serwery z wersjami FreeBSD: jeden to router pfSense, a drugi to serwer FreeNAS 8. Na obu tych serwerach działa SNMP, a ja zbieram i wykresuję ich informacje za pomocą trzeciego serwera Cacti.

Dane SNMP zarówno z serwera pfSense, jak i serwera FreeNAS nie obejmują użycia pamięci, użycia procesora ani średniej obciążenia.

Wykresy ruchu dla serwera pfSense wyglądają dobrze. Raporty użycia dysku z serwera FreeNAS wyglądają pięknie. Po prostu nie otrzymuję żadnych danych do wykorzystania pamięci, użycia procesora ani średniej obciążenia. Wiem, że oba te serwery powinny być w stanie dostarczyć te dane, ponieważ w administratorach sieci pfSense i freeNAS mogę przeglądać wykresy. Ale dla ułatwienia zarządzania wolałbym mieć wszystkie wykresy w kaktusach.

Jak mogę uzyskać, aby mój serwer pfSense zapewniał wykorzystanie pamięci, wykorzystanie procesora i ładowanie danych średnich przez SNMP? Jak mogę uzyskać, aby mój serwer FreeNAS zapewniał użycie pamięci, wykorzystanie procesora i ładowanie danych średnich przez SNMP? Zakładam, że ta sama procedura będzie działać na obu serwerach.

Josh
źródło

Odpowiedzi:

11

Po wielu badaniach nad tym odkryłem, na czym polega problem. Zarówno pfSense, jak i FreeNAS zapewniają obsługę SNMP za pośrednictwem demona SNMP dla początkujących FreeBSD (bsnmpd) . Aby zapewnić wykorzystanie pamięci, użycie procesora i informacje o średniej obciążalności, demon SNEM dla początkujących musi mieć snmp_ucd.sozaładowany dodatkowy moduł .

Znalazłem następujący wątek forum wyjaśniający ładowanie snmp_ucd.so, jednak nie był on obecny w moich dwóch systemach.

Aby rozwiązać ten problem, stworzyłem maszynę wirtualną i zainstalowałem na niej FreeBSD 8.3. Wewnątrz tej maszyny wirtualnej użyłem systemu portów FreeBSD, aby pobrać i zbudować wymaganą snmp_ucd.sobibliotekę, używając:

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

Potem scpkopiowałem /usr/local/lib/snmp_ucd.soz maszyny wirtualnej FreeBSD zarówno na mój serwer pfSense, jak i na serwer FreeNAS.

Następnie użyłem interfejsu graficznego FreeNAS, aby dodać następujące parametry pomocnicze :

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

Screencap z FreeNAS

To dodało linię automatycznie do /etc/snmpd.configserwera FreeNAS i mogłem uzyskać wykresy!

Serwer pfSense był trudniejszy, ponieważ nie pozwolił mi zastosować zmiany za pomocą GUI, a skrypty pfSense automatycznie się odbudowały /etc/snmpd.config, zastępując moje zmiany. Aby pfSense działał, musiałem edytować /etc/inc/services.inc. Przed wierszem o treści:

fwrite($fd, $snmpdconf);

Dodałem następujące:

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



EOD;

Następnie wyłączenie i ponowne włączenie SNMP zastosowało wykresy zmian i wykorzystania procesora teraz! Ta zmiana prawie na pewno nie utrzyma się w przypadku aktualizacji pfSense, ale nie mogłem znaleźć łatwiejszego, bardziej stabilnego sposobu na zastosowanie zmiany.

Josh
źródło