Como posso obter o FreeNAS e o pfSense para reportar mais usando o SNMP?

10

Eu tenho dois servidores que executam variantes do FreeBSD: um é um roteador pfSense e o outro é um servidor FreeNAS 8. Ambos os servidores executam o SNMP, e eu estou coletando e criando gráficos de 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 de CPU nem Média de carga.

Os gráficos de tráfego para o servidor pfSense estão bem. Os relatórios de uso de disco do servidor FreeNAS são bonitos. Eu simplesmente não recebo dados para uso de memória, uso de CPU ou carga média. Eu sei que esses dois servidores devem ser capazes de fornecer esses dados, porque nos administradores da web pfSense e freeNAS eu posso visualizar gráficos. Mas eu preferiria ter todos os gráficos no Cacti para facilitar o gerenciamento.

Como faço para que meu servidor pfSense forneça uso de memória, uso de CPU e carga média de dados via SNMP? Como faço para que meu servidor FreeNAS forneça uso de memória, uso de CPU e carga média de dados via SNMP? Presumo que o mesmo procedimento funcione para os dois servidores.

Josh
fonte

Respostas:

11

Depois de muita pesquisa, descobri qual era o problema. O pfSense e o FreeNAS fornecem suporte ao SNMP através do daemon SNMP do FreeBSD Begemot (bsnmpd) . Para fornecer informações sobre uso da memória, uso da CPU e Média de carga, o daemon SNMP do iniciante precisa ter um módulo adicional snmp_ucd.socarregado.

Encontrei o seguinte tópico do fórum explicando o carregamento snmp_ucd.so, mas 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, usei o sistema FreeBSD Ports para baixar e construir a snmp_ucd.sobiblioteca necessária usando:

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

Depois disso, eu costumava scpcopiar /usr/local/lib/snmp_ucd.soda máquina virtual FreeBSD para meu servidor pfSense e também para o 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"

Screencap do FreeNAS

Isso adicionou a linha automaticamente ao /etc/snmpd.configservidor FreeNAS e eu pude obter gráficos!

O servidor pfSense era mais complicado, pois não me permitia aplicar a alteração usando a GUI, e os scripts do pfSense eram reconstruídos automaticamente /etc/snmpd.config, substituindo minhas alterações. Para que o pfSense funcione, eu tive que editar /etc/inc/services.inc. Antes da linha que diz:

fwrite($fd, $snmpdconf);

Eu adicionei o seguinte:

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



EOD;

Em seguida, desativando e reativando o SNMP aplicado, os gráficos de mudança e 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.

Josh
fonte