Como posso fazer com que o FreeNAS e o pfSense relatem mais usando o SNMP?

10

Eu tenho dois servidores que executam variantes do FreeBSD: Um é um roteador pfSense e um é um servidor FreeNAS 8. Esses dois servidores executam o SNMP e eu estou coletando e representando graficamente suas informações usando um terceiro servidor Cacti.

Os dados SNMP do servidor pfSense e do servidor FreeNAS não incluem uso de memória, uso da CPU nem carga média.

Os gráficos de tráfego para o servidor pfSense parecem bem. Os relatórios de uso de disco do servidor FreeNAS estão lindos. Eu simplesmente não obtenho nenhum dado para uso de memória, uso da CPU, nem Load Average. Eu sei que ambos os servidores devem ser capazes de fornecer esses dados, porque nos administradores web do pfSense e do freeNAS eu posso ver gráficos. Mas eu preferiria ter todos os gráficos no Cacti para facilitar o gerenciamento.

Como posso fazer com que meu servidor pfSense forneça dados de uso de memória, uso de CPU e carga média via SNMP? Como posso fazer com que meu servidor FreeNAS forneça dados de uso de memória, uso de CPU e carga média via SNMP? Presumo que o mesmo procedimento funcionará para ambos os servidores.

    
por Josh 03.04.2013 / 19:43

1 resposta

11

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.confignoservidorFreeNASeconseguiobtergrá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.

    
por 03.04.2013 / 19:43