+ Responder ao Tópico



  1. #1

    Padrão como monitorar varias redes Virtuais?

    Bom dia pessoal.

    Estamos querendo monitorar o uso da banda dos clientes, através do IP, pelo “MRTG”.

    Nos já estamos monitorando o Link da internet (eth2), rede Interna (eth0 e eth1), CPU e da Memória que esta funcionando bem.

    Utilizamos uma rede virtual para cada cliente,

    Veja Exemplo:

    #rotas dos clientes na eth0
    Ifconfig eth0:1 10.50.10.1 netmask 255.255.255.252 up
    Ifconfig eth0:2 10.50.11.1 netmask 255.255.255.252 up
    Ifconfig eth0:3 10.50.12.1 netmask 255.255.255.252 up
    Ifconfig eth0:4 10.50.13.1 netmask 255.255.255.252 up

    #rotas dos clientes na eth1
    Ifconfig eth0:1 10.60.10.1 netmask 255.255.255.252 up
    Ifconfig eth0:2 10.60.11.1 netmask 255.255.255.252 up
    Ifconfig eth0:3 10.60.12.1 netmask 255.255.255.252 up
    Ifconfig eth0:4 10.60.13.1 netmask 255.255.255.252 up

    No cliente uso assim:

    #Cliente na eth0
    Ip 10.50.10.2
    Mas 255.255.255.252
    Gtw 10.50.10.1
    DNS 10.50.10.1
    DNS2 200.xx.xx.xx.xx

    /etc/mrtg/mrtg.cfg

    WorkDir:/var/www/htdocs/monitor
    RunAsDaemon: yes
    Target[eth0]: `/script/eth0.sh /proc/net/dev`
    Title[eth0]: Tráfego da eth0
    PageTop[eth0]: <h1>Tráfego da eth0 </h1>
    MaxBytes[eth0]: 1250000
    Options[eth0]: growright,bits,noinfo

    Target[eth1]: `/script/eth1.sh /proc/net/dev`
    Title[eth1]: Tráfego da eth1
    PageTop[eth1]: <h1>Tráfego da eth1 </h1>
    MaxBytes[eth1]: 1250000
    Options[eth1]: growright,bits,noinfo

    Target[eth2]: `/script/eth2.sh /proc/net/dev`
    Title[eth2]: Tráfego da eth2
    PageTop[eth2]: <h1>Tráfego da eth2 </h1>
    MaxBytes[eth2]: 1250000
    Options[eth2]: growright,bits,noinfo

    #REDE VIRTUAIS
    Target[cli10]: `/etc/cliente10`
    Title[cli10]: "Tráfego do ip 10.50.10.2"
    PageTop[cli10]: <h1>Tráfego do IP 10.50.10.2</h1>
    MaxBytes[cli10]: 128000
    #Options[10.50.10.2]: growright,bits,noinfo
    #
    Target[perf]:`/script/micro.sh`
    Title[perf]: CPU e memória
    PageTop[perf]: <h1>Uso de CPU e memória </h1>
    MaxBytes[perf]:100
    Unscaled[perf]:ymwd
    Options[perf]: growright,noinfo,gauge
    YLegend[perf]: Percentual
    ShortLegend[perf]: %
    Legend1[perf]: Uso de tempo da CPU
    Legend2[perf]: Uso da memória real
    LegendI[perf]: CPU
    LegendO[perf]: Mem

    Esta criado os arquivos tudo beleza, mais nao está gerando grafico.

  2. #2

    Padrão

    lguem pode da uma força ai nesse scrip, o que está de errado

  3. #3

    Padrão

    fsoaress76,

    Eu configurei o MRTG a muito tempo atrás, mas tentarei lhe ajudar, apesar de não lembrar muito bem.

    Vejo que para cada item a ser monitorado você configurou a diretiva "Target" que é um pequeno script shell, como por exemplo: "Target[eth0]: `/script/eth0.sh /proc/net/dev`", esse script retorna alguns números, se não estou enganado, para que ele consiga gerar o gráfico, porém no "Target" dos clientes você colcou "Target[cli10]: `/etc/cliente10`", então lhe pergunto, isso é um script shell como os outros? ele está retornando os números como nos outros casos?

    Espero ter ajudado de alguma forma, pois fiz o melhor que pude, pois como disse faz bastante tempo que configurei esse negocio.

    ate+

  4. #4

    Padrão

    rmaximo, é um script


    #!/bin/awk -f
    /eth1:2/ { $0=substr($0, index($0,":")+1); print $1; print $9}
    Última edição por fsoaress76; 07-09-2007 às 12:52.

  5. #5

    Padrão

    Soares,

    Quando você executa só o script, ele executa com sucesso? Retorna os números normalmente?

    Não sou muito bom com o awk, mas essa linha me parece meio estranha, está igual ao das outras interfaces, ou seja, trocando somente o nome da intereface?

  6. #6

    Padrão

    vi esse scrip na net e acho que é bem melhor

    #!/bin/bash
    # circuito: 0100
    # ip: 10.50.10.2
    # cliente: danyharle
    down=`iptables -t mangle -L POSTROUTING -nvx | awk '/10.50.10.2/{print $2}'`
    up=`iptables -t mangle -L PREROUTING -nvx | awk '/10.50.10.2/{print $2}'`
    echo "$down"
    echo "$up"

    quando eu execulto so o script ele, da tudo OK

    veja agora os erros
    2007-09-07 19:24:39: WARNING: Problem with External get '/script/eth1:2.sh':
    Expected a Number for 'in' but got ''

    2007-09-07 19:24:39: WARNING: Problem with External get '/script/eth1:2.sh':
    Expected a Number for 'out' but got ''

    2007-09-07 19:24:39: ERROR: Target[eth1:2][_IN_] ' $target->[2]{$mode} ' did not eval into defined data
    2007-09-07 19:24:39: ERROR: Target[eth1:2][_OUT_] ' $target->[2]{$mode} ' did not eval into defined data

    acho que o erro é mo mrtg.cfg

    eu renomiei os arquivos e dei permisão 777

    WorkDir:/var/www/htdocs/monitor

    Target[eth0]: `/script/eth0.sh /proc/net/dev`
    Title[eth0]: Tráfego da eth0
    PageTop[eth0]: <h1>Tráfego da eth0 </h1>
    MaxBytes[eth0]: 128000
    Options[eth0]: growright,bits,noinfo

    Target[eth1]: `/script/eth1.sh /proc/net/dev`
    Title[eth1]: Tráfego da eth1
    PageTop[eth1]: <h1>Tráfego da eth1 </h1>
    MaxBytes[eth1]: 1250000
    Options[eth1]: growright,bits,noinfo

    #Cliente Virtual para teste
    Target[eth1:2]: `/script/eth1:2.sh`
    Title[eth1:2]: Tráfego da eth1:2
    PageTop[eth1:2]: <h1>Tráfego da eth1:2 </h1>
    MaxBytes[eth1:2]: 1250000
    Options[eth1:2]: growright,bits,noinfo

    Target[eth2]: `/script/eth2.sh /proc/net/dev`
    Title[eth2]: Tráfego da eth2
    PageTop[eth2]: <h1>Tráfego da eth2 </h1>
    MaxBytes[eth2]: 1250000
    Options[eth2]: growright,bits,noinfo

    Target[perf]:`/script/micro.sh`
    Title[perf]: CPU e memória
    PageTop[perf]: <h1>Uso de CPU e memória </h1>
    MaxBytes[perf]:100
    Unscaled[perf]:ymwd
    Options[perf]: growright,noinfo,gauge
    YLegend[perf]: Percentual
    ShortLegend[perf]: %
    Legend1[perf]: Uso de tempo da CPU
    Legend2[perf]: Uso da memória real
    LegendI[perf]: CPU
    LegendO[perf]: Mem
    Última edição por fsoaress76; 07-09-2007 às 20:02.

  7. #7

    Padrão

    Soares,

    Esse script não funcionou na maquina que eu uso, de qualquer forma o log de erro indica que o script não retornou nada, ao invés de retornar os numeros como esperados.

    Na época que eu coloquei o MRTG pra rodar eu tive esse mesmo problema e era exatamente no script que não estava retornando os valores da forma adequada.

    Você está executando o MRTG como root ou como usuario normal? Já verificou de o script executa normalmente quando executado pelo usuario que o MRTG usa?

  8. #8

    Padrão

    quando eu tiro estas linhas ele execulta normal

    #Cliente Virtual para teste
    #Target[eth1:2]: `/script/eth1:2.sh`
    #Title[eth1:2]: Tráfego da eth1:2
    #PageTop[eth1:2]: <h1>Tráfego da eth1:2 </h1>
    #MaxBytes[eth1:2]: 1250000
    #Options[eth1:2]: growright,bits,noinfo


    eu nao posso desistir,
    meu patrao que o monitoramento de todos os ip dos clientes pelo graficos.

    sao 210 clientes (rede virtuais) eth01, eth0:2. . . . eth0:11x e eth1:1,eth1:2. . . . . . .eth1:11x.

    será q o mrtg dará conta?

  9. #9

    Padrão

    Eu não tenho como lhe ajudar mais, o problema está no script "/script/eth1:2.sh" (que vc botou esse nome agora, pq antes era outro) quando você comenta essa interface certamente ele funcionará.

    Você não me diz que o fato de só executar o script "/script/eth1:2.sh" se ele retorna os 2 números necessários para que o MRTG gere a estatistica. Não tenho certeza, mas como me parece que você utiliza expressões regulares para encontrar a interface eth1:2, eu testaria colocar um "scape" nos dois pontos, ou seja, tipo: "/eth1\:2/", pode ser que ajude.

  10. #10

    Padrão

    obrigado colega voce ja fez bastante

    Deus te abençoes