Wie kann ich FreeNAS und pfSense dazu bringen, mithilfe von SNMP mehr zu melden?

10

Ich habe zwei Server, auf denen Varianten von FreeBSD ausgeführt werden: Einer ist ein pfSense-Router und einer ist ein FreeNAS 8-Server. Auf beiden Servern wird SNMP ausgeführt, und ich sammle und zeichne ihre Informationen mithilfe eines dritten Cacti-Servers.

Die SNMP-Daten sowohl vom pfSense-Server als auch vom FreeNAS-Server enthalten weder die Speichernutzung, die CPU-Auslastung noch den Lastdurchschnitt.

Die Verkehrsdiagramme für den pfSense-Server sehen gut aus. Die Festplattennutzungsberichte vom FreeNAS-Server sehen wunderschön aus. Ich erhalte nur keine Daten zur Speichernutzung, CPU-Auslastung oder zum Lastdurchschnitt. Ich weiß, dass beide Server in der Lage sein sollten, diese Daten bereitzustellen, da ich in den Webadministratoren pfSense und freeNAS Diagramme anzeigen kann. Ich würde es jedoch vorziehen, alle Grafiken in Cacti zu haben, um die Verwaltung zu vereinfachen.

Wie kann ich meinen pfSense-Server dazu bringen, Speicherauslastung, CPU-Auslastung und durchschnittliche Lastdaten über SNMP bereitzustellen? Wie kann ich meinen FreeNAS-Server dazu bringen, Speicherauslastung, CPU-Auslastung und durchschnittliche Lastdaten über SNMP bereitzustellen? Ich gehe davon aus, dass das gleiche Verfahren für beide Server funktioniert.

Josh
quelle

Antworten:

11

Nach langem Nachforschen entdeckte ich das Problem. Sowohl pfSense als auch FreeNAS bieten SNMP-Unterstützung über den FreeBSD-Begemot-SNMP-Daemon (bsnmpd) . Um Informationen zur Speichernutzung, CPU-Auslastung und zum Lastdurchschnitt bereitzustellen, muss auf dem Begemot-SNMP-Dämon ein zusätzliches Modul snmp_ucd.sogeladen sein.

Ich habe den folgenden Forenthread gefunden, der das Laden erklärt snmp_ucd.so, aber auf meinen beiden Systemen nicht vorhanden war.

Um dies zu beheben, habe ich eine virtuelle Maschine erstellt und FreeBSD 8.3 darauf installiert. In dieser virtuellen Maschine habe ich das FreeBSD Ports-System verwendet, um die erforderliche snmp_ucd.soBibliothek herunterzuladen und zu erstellen.

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

Danach benutzen ich scpkopieren /usr/local/lib/snmp_ucd.sosowohl auf meinem pfSense Server als meinen FreeNAS - Server als auch von der FreeBSD virtuellen Maschine.

Ich habe dann die FreeNAS GUI den folgenden hinzufügen Hilfsparameter :

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

Screencap von FreeNAS

Dadurch wurde die Zeile automatisch /etc/snmpd.configauf dem FreeNAS-Server hinzugefügt und ich konnte Diagramme abrufen!

Der pfSense-Server war schwieriger, da ich die Änderung nicht über die GUI anwenden konnte und die pfSense-Skripte automatisch neu erstellt wurden /etc/snmpd.configund meine Änderungen überschrieben wurden. Damit pfSense funktioniert, musste ich bearbeiten /etc/inc/services.inc. Vor der Zeile, die lautete:

fwrite($fd, $snmpdconf);

Ich habe folgendes hinzugefügt:

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



EOD;

Durch Deaktivieren und erneutes Aktivieren von SNMP wurden die Änderungs- und CPU-Auslastungsdiagramme angewendet. Diese Änderung wird mit ziemlicher Sicherheit nicht bei pfSense-Upgrades bestehen bleiben, aber ich konnte keinen einfacheren und stabileren Weg finden, um die Änderung anzuwenden.

Josh
quelle