SNMP no Brazilfw

Tutoriais BrazilFW 2.x em Português

SNMP no Brazilfw

Mensagempor targetnet » Sex Mai 08, 2009 9:19 pm

Simple Network Management Protocol (SNMP)

O protocolo SNMP (do inglês Simple Network Management Protocol - Protocolo Simples de Gerência de Rede) é um protocolo de gerência típica de redes TCP/IP, da camada de aplicação, que facilita o intercâmbio de informação entre os dispositivos de rede, como placas e comutadores (em inglês: switches). O SNMP possibilita aos administradores de rede gerenciar o desempenho da rede, encontrar e resolver seus eventuais problemas, e fornecer informações para o planejamento de sua expansão, dentre outras.
No BrazilFw existe a possibilidade de estar implementando este protocolo, usando o ADD-ON snmpd.tgz.
Instalação padrao (mt - cd mnt - wget - umt - backup - reboot)

As opções estão no arquivo /usr/snmp/snmpd.conf

Nome da comunidade de leitura:
rocommunity public

Nome da comunidade de gravação e ip ou rede permitido para gravar informações via snmp:
rwcommunity private 10.0.0.0/23 (aconselho a trocar o nome dessa comunidade)

Local onde esta o roteador
syslocation Casa do Chapeu/UF

Email do administrador do roteador
syscontact seuemail@dominio.com.br


Funcionamento.

Existe varias formas de capturar as informações do SNMP, usando programas clientes, como o MRTG.
Cada item a ser capturado existe um MIB ou OID, analogicamente falando seria como o DNS é para o IP.

Exemplo de Estrutura de um OID

.1.3.6.1.4.868.2.4.1.2.1.1.1.3.3562.3
(1).org(3).dod(6).internet(1).private(4).transition(868).products(2).chassis(4).card(1).slotCps(2)¬.-cpsSlotSummary(1).cpsModuleTable(1).cpsModuleEntry(1).cpsModuleModel(3).3562.3
OIDs que funcionam no linux (alguns não estão funcionando no brfw)

CPU Statistics
Load
1 minute Load: .1.3.6.1.4.1.2021.10.1.3.1
5 minute Load: .1.3.6.1.4.1.2021.10.1.3.2
15 minute Load: .1.3.6.1.4.1.2021.10.1.3.3

CPU
percentage of user CPU time: .1.3.6.1.4.1.2021.11.9.0
raw user cpu time: .1.3.6.1.4.1.2021.11.50.0
percentages of system CPU time: .1.3.6.1.4.1.2021.11.10.0
raw system cpu time: .1.3.6.1.4.1.2021.11.52.0
percentages of idle CPU time: .1.3.6.1.4.1.2021.11.11.0
raw idle cpu time: .1.3.6.1.4.1.2021.11.53.0
raw nice cpu time: .1.3.6.1.4.1.2021.11.51.0

Memory Statistics
Total Swap Size: .1.3.6.1.4.1.2021.4.3.0
Available Swap Space: .1.3.6.1.4.1.2021.4.4.0
Total RAM in machine: .1.3.6.1.4.1.2021.4.5.0
Total RAM used: .1.3.6.1.4.1.2021.4.6.0
Total RAM Free: .1.3.6.1.4.1.2021.4.11.0
Total RAM Shared: .1.3.6.1.4.1.2021.4.13.0
Total RAM Buffered: .1.3.6.1.4.1.2021.4.14.0
Total Cached Memory: .1.3.6.1.4.1.2021.4.15.0

Disk Statistics
Path where the disk is mounted: .1.3.6.1.4.1.2021.9.1.2.1
Path of the device for the partition: .1.3.6.1.4.1.2021.9.1.3.1
Total size of the disk/partion (kBytes): .1.3.6.1.4.1.2021.9.1.6.1
Available space on the disk: .1.3.6.1.4.1.2021.9.1.7.1
Used space on the disk: .1.3.6.1.4.1.2021.9.1.8.1
Percentage of space used on disk: .1.3.6.1.4.1.2021.9.1.9.1
Percentage of inodes used on disk: .1.3.6.1.4.1.2021.9.1.10.1

System Uptime: .1.3.6.1.2.1.1.3.0
System Name: .1.3.6.1.2.1.1.1.0

Voce pode utilizar um programa que esta no site do MRTG chamado MRTG CFG FILE CREATOR para poder ver todas as OID que o BRFW aceita, e por sua vez, criar de acordo com o que vc quizer monitorar

Configuração do arquivo do MRTG

Trafego Interface LAN (no meu caso a interface lan esta com o NUMERO 6) este numero vc pode ver no programa mencionado acima)

Target[router-brfw-lan]: 6:public@10.0.1.250:
SetEnv[router-brfw-lan]: MRTG_INT_IP="10.0.1.250" MRTG_INT_DESCR="eth0"
MaxBytes[router-brfw-lan]: 750000
Factor[router-brfw-lan]: 8
Title[router-brfw-lan]: Trafego BRFW LAN
PageTop[router-brfw-lan]: <H1>Trafego BRFW LAN</H1>

Observe o TARGET desta conf: 6 = numero da placa : public = comunudade @ ip do roteador :

Trafego da Interface WAN e WAN2

Target[router-brfw-wan1]: 7:public@10.0.1.250:
SetEnv[router-brfw-wan1]: MRTG_INT_IP="200.210.104.230" MRTG_INT_DESCR="eth1"
MaxBytes[router-brfw-wan1]: 500000
Factor[router-brfw-wan1]: 8
Title[router-brfw-wan1]: Trafego BRFW WAN 1 (EBT)
PageTop[router-brfw-wan1]: <H1>Trafego BRFW WAN 1 (EBT)</H1>

Target[router-brfw-wan2]: 8:public@10.0.1.250:
SetEnv[router-brfw-wan2]: MRTG_INT_IP="189.19.25.6" MRTG_INT_DESCR="eth1"
MaxBytes[router-brfw-wan2]: 500000
Factor[router-brfw-wan2]: 8
Title[router-brfw-wan2]: Trafego BRFW WAN 2 (ADSL)
PageTop[router-brfw-wan2]: <H1>Trafego BRFW WAN 2 (ADSL)</H1>


Uso de memoria e CPU (Observe as IOD, o "&" seria duas informacoes distintas, para gerar o mesmo grafico)

YLegend[router-brfw.cpu]: BRFW CPU
WithPeak[router-brfw.cpu]: ymw
Options[router-brfw.cpu]: growright,gauge
Target[router-brfw.cpu]: 1.3.6.1.4.1.2021.10.1.5.1&1.3.6.1.4.1.2021.10.1.5.2:public@10.0.1.250
MaxBytes[router-brfw.cpu]: 100
Title[router-brfw.cpu]: BRFW CPU
ShortLegend[router-brfw.cpu]:
Legend1[router-brfw.cpu]: CPU no ultimo min
Legend2[router-brfw.cpu]: CPU nos ultimos 5 min
LegendI[router-brfw.cpu]: &nbsp;1 Min:
LegendO[router-brfw.cpu]: &nbsp;5 Min:
PageTop[router-brfw.cpu]: <H1>BRFW CPU</H1>

YLegend[router-brfw.memoryUsed]: BRFW Uso da Memória
WithPeak[router-brfw.memoryUsed]: ymw
Options[router-brfw.memoryUsed]: growright,gauge
Target[router-brfw.memoryUsed]: .1.3.6.1.2.1.25.2.3.1.6.1&.1.3.6.1.2.1.25.2.3.1.6.2:public@10.0.1.250 * 100 / .1.3.6.1.2.1.25.2.3.1.5.1&.1.3.6.1.2.1.25.2.3.1.5.2:public@10.0.1.250
MaxBytes[router-brfw.memoryUsed]: 100
AbsMax[router-brfw.memoryUsed]: 100
Title[router-brfw.memoryUsed]: BRFW Uso da Memória
ShortLegend[router-brfw.memoryUsed]: %
Legend1[router-brfw.memoryUsed]: Virtual no ultimo minuto
Legend2[router-brfw.memoryUsed]: Fisica no no ultimo minuto
LegendI[router-brfw.memoryUsed]: &nbsp;Virtual
LegendO[router-brfw.memoryUsed]: &nbsp;Fisica
PageTop[router-brfw.memoryUsed]: <H1>BRFW Uso da Memória</H1>

voce pode realizar contas com as OID
ex.
somando os links wan1 e wan2

7:public@10.0.1.250 + 8:public@10.0.1.250


SQUID + SNMP

O squid nescessita de uma compilação especial para aceitar o SNMP, e ele tem um servidor proprio com as MIB/OID proprias:
A implementação do SNMP do Squid eh um recurso bastante interessante. Com a MIB (Base de dados de informações) fornecida pela implementação é possível monitorar uma serie de caracteristicas do Squid, como por exemplo estatisticas de consultas e armazenamento no cache, uso de memória, uso de processador, quantidade de bytes de entrada e saida do proxy entre outras coisas nao menos interessantes.

todas as mibs/oid disponiveis no squid
http://www.oidview.com/mibs/3495/SQUID-MIB.html

Testando se esta tudo OK
baixe http://sourceforge.net/project/download ... .win32.exe
Usando uma maquina em windows instale o dito cujo e execute via DOS

snmpget -v 2c -c public 10.0.1.250 .1.3.6.1.2.1.1.3.0
Onde -c é a comunidade e ip
e o .1.3.6.1.2.1.1.3.0 é a OID do system uptime

Resultado tem que ser isso (é claro que com o uptime do seu brfw)

DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (5760300) 16:00:03.00

O System name
snmpget -v 2c -c public 10.0.1.250 .1.3.6.1.2.1.1.1.0

SNMPv2-MIB::sysDescr.0 = STRING: Linux router-proxy 2.4.36.2 #5 Wed Apr 9 20:43:15 BRT 2008 i686

Uso da CPU em inteiro (onde 7 = 0.07, 14 = 0.14 e 23 = 0.23)

snmpget -v 2c -c public 10.0.1.250 UCD-SNMP-MIB::laLoadInt.1
UCD-SNMP-MIB::laLoadInt.1 = INTEGER: 7

snmpget -v 2c -c public 10.0.1.250 UCD-SNMP-MIB::laLoadInt.2
UCD-SNMP-MIB::laLoadInt.2 = INTEGER: 14

snmpget -v 2c -c public 10.0.1.250 UCD-SNMP-MIB::laLoadInt.3
UCD-SNMP-MIB::laLoadInt.3 = INTEGER: 23

resumindo, da pra brincar bastante com as MIBS e OIDS

Boa sorte a todos :-)


URLS:
NETSNMP.tgz: http://www.dominioz.com.br/brazilfw/netsnmpd.tgz
MRTG: http://oss.oetiker.ch/mrtg/
RRD: http://oss.oetiker.ch/rrdtool/
RTG CFG File Creator: http://www.claridion.com/downloads/MRTGgui.htm
Resultado do meu roteador (tem bemmm mais coisas la do que so o roteador)
http://mrtg.dominioz.com.br
Meu MRTG.conf (rodando com o RRD) http://www.dominioz.com.br/brazilfw/mrtg.txt
targetnet
 

Voltar para BrazilFW 2.x

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

cron