Depois de muita pesquisa sobre isso, descobri qual era o problema. Tanto o pfSense quanto o FreeNAS fornecem suporte a SNMP através do FreeBSD iniciam o daemon SNMP (bsnmpd) . Para fornecer informações de uso de memória, uso da CPU e de Carga Média, o daemon de início de SNMP precisa ter um módulo adicional, snmp_ucd.so
carregado.
Eu encontrei o seguinte tópico do fórum explicando para carregar snmp_ucd.so
, porém ele não estava presente nos meus dois sistemas.
Para resolver isso, criei uma máquina virtual e instalei o FreeBSD 8.3 nela. Dentro desta máquina virtual, eu usei o sistema FreeBSD Ports para baixar e construir a biblioteca snmp_ucd.so
requerida usando:
cd /usr/ports/net-mgmt/bsnmp-ucd
make all install clean
cd /usr/ports/net-mgmt/bsnmptools
make all install clean
Depois disso, usei scp
para copiar /usr/local/lib/snmp_ucd.so
da máquina virtual do FreeBSD para meu servidor pfSense e meu servidor FreeNAS.
Em seguida, usei a GUI do FreeNAS para adicionar os seguintes parâmetros auxiliares :
begemotSnmpdModulePath."ucd" = "/mnt/Garrison/jail/usr/local/lib/snmp_ucd.so"
Issoadicionoualinhaautomaticamentea/etc/snmpd.config
noservidorFreeNASeconseguiobtergráficos!
OservidorpfSenseeramaiscomplicado,poisnãopermitiaqueeuaplicasseaalteraçãousandoaGUI,eosscriptspfSenserecriariamautomaticamente/etc/snmpd.config
,sobrescrevendominhasalterações.ParafazeropfSensefuncionar,tivequeeditar/etc/inc/services.inc
.Antesdalinhaquedizia:
fwrite($fd,$snmpdconf);
Euadicioneioseguinte:
//JoshAdditions:MakeloadavgandCPUusagework:$snmpdconf.=<<<EOD#Joshadditions:begemotSnmpdModulePath."ucd" = "/usr/local/lib/snmp_ucd.so"
EOD;
Então, desabilitando e reativando o SNMP aplicado, os gráficos de mudança e de uso da CPU funcionam agora! Essa mudança quase certamente não persistirá nas atualizações do pfSense, mas não consegui encontrar uma maneira mais fácil e mais estável de aplicar a alteração.