Comment puis-je demander à FreeNAS et pfSense de signaler davantage en utilisant SNMP?

10

J'ai deux serveurs qui exécutent des variantes de FreeBSD: l'un est un routeur pfSense et l'autre est un serveur FreeNAS 8. Ces deux serveurs exécutent SNMP, et je collecte et représente graphiquement leurs informations à l'aide d'un troisième serveur Cacti.

Les données SNMP du serveur pfSense et du serveur FreeNAS n'incluent pas l'utilisation de la mémoire, l'utilisation du processeur ni la moyenne de charge.

Les graphiques de trafic pour le serveur pfSense sont corrects. Les rapports d'utilisation du disque du serveur FreeNAS sont magnifiques. Je n'ai tout simplement pas de données sur l'utilisation de la mémoire, l'utilisation du processeur ou la moyenne de charge. Je sais que ces deux serveurs devraient être capables de fournir ces données, car dans les administrateurs Web pfSense et freeNAS, je peux afficher des graphiques. Mais je préférerais avoir tous les graphiques dans Cacti pour en faciliter la gestion.

Comment puis-je obtenir mon serveur pfSense pour fournir l'utilisation de la mémoire, l'utilisation du processeur et la charge moyenne des données via SNMP? Comment puis-je obtenir mon serveur FreeNAS pour fournir l'utilisation de la mémoire, l'utilisation du processeur et la charge moyenne des données via SNMP? Je suppose que la même procédure fonctionnera pour les deux serveurs.

Josh
la source

Réponses:

11

Après de nombreuses recherches à ce sujet, j'ai découvert quel était le problème. PfSense et FreeNAS fournissent tous les deux une prise en charge SNMP via le démon SNMP FreeBSD begemot (bsnmpd) . Afin de fournir des informations sur l'utilisation de la mémoire, l'utilisation du processeur et la moyenne de charge, le démon SNMP begemot doit avoir un module supplémentaire, snmp_ucd.sochargé.

J'ai trouvé le fil de discussion suivant expliquant le chargement snmp_ucd.so, mais il n'était pas présent sur mes deux systèmes.

Pour résoudre ce problème, j'ai créé une machine virtuelle et y ai installé FreeBSD 8.3. À l'intérieur de cette machine virtuelle, j'ai utilisé le système FreeBSD Ports pour télécharger et construire la snmp_ucd.sobibliothèque requise en utilisant:

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

Après cela, j'avais l'habitude scpde copier /usr/local/lib/snmp_ucd.sodepuis la machine virtuelle FreeBSD vers mon serveur pfSense ainsi que mon serveur FreeNAS.

J'ai ensuite utilisé l'interface graphique FreeNAS pour ajouter les paramètres auxiliaires suivants :

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

Capture d'écran de FreeNAS

Cela a ajouté la ligne automatiquement /etc/snmpd.configsur le serveur FreeNAS et j'ai pu obtenir des graphiques!

Le serveur pfSense était plus délicat car il ne me permettait pas d'appliquer la modification à l'aide de l'interface graphique et les scripts pfSense se reconstruisaient automatiquement /etc/snmpd.config, écrasant mes modifications. Pour que pfSense fonctionne, j'ai dû le modifier /etc/inc/services.inc. Avant la ligne qui disait:

fwrite($fd, $snmpdconf);

J'ai ajouté ce qui suit:

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



EOD;

Ensuite, la désactivation et la réactivation de SNMP ont appliqué les graphiques de modification et d'utilisation du processeur maintenant! Ce changement ne persistera certainement pas lors des mises à niveau de pfSense, mais je n'ai pas trouvé de moyen plus simple et plus stable d'appliquer le changement.

Josh
la source