+ Responder ao Tópico



  1. #1

    Red face MRTG no Debian Target ERROR. Não gera gráficos.

    Olá a todos. Estou começando a postar agora, depois de quase 2 anos só visitando o site. Obrigado a todos pela harmonia da comunidade.

    Estou tentando colocar o MRTG em uma máquina q estou acabando de configurar para fazer cache. Para funcionar o MRTG fiz o seguinte:

    criei o arquivo mrtg.cfg com as seguintes linhas:

    WorkDir: /var/www/mrtg
    WriteExpires: Yes
    Interval: 5
    Language: brazilian
    RunAsDaemon: yes
    Target[eth0]: '/etc/mrtgstats-net.sh eth0'
    Title[eth0]: "Trafego da rede Publica webproxy VipNet"
    MaxBytes[eth0]: 750000
    PageTop[eth0]: <h1> Trafego da rede Publica web-proxy VipNet"
    Options[eth0]: growright,bits,noinfo

    e no arquivo mrtgstats-net.sh tem as seguintes linhas:

    #!/bin/sh
    # mrtgstats-net.sh
    awk '
    /'$1':/ {
    $0=substr($0,index($0,":")+1);
    print $1, print $9
    }
    ' /proc/net/dev


    O problema é que quando vou iniciar o serviço (# mrtg) o sistema retorna a seguinte mensagem:

    Daemonizing MRTG ...
    2008-03-10 16:34:53: ERROR: Target[eth0][_IN_] ''/etc/mrtgstats-net.sh eth0'' evaluated to '/etc/mrtgstats-net.sh eth0' instead of a number
    2008-03-10 16:34:53: ERROR: Target[eth0][_OUT_] ''/etc/mrtgstats-net.sh eth0'' evaluated to '/etc/mrtgstats-net.sh eth0' instead of a number

    Onde estou errando?

    Obrigado a todos!

  2. #2

    Padrão

    O que acontece quando você executa o comando "/etc/mrtgstats-net.sh eth0" no terminal?

  3. #3

    Padrão

    Citação Postado originalmente por rmaximo Ver Post
    O que acontece quando você executa o comando "/etc/mrtgstats-net.sh eth0" no terminal?


    acontece isso:

    vipnet-proxy:~# /home/vipnet/mrtg/mrtgstats-net.sh eth0
    eth0:595736595
    1077398104

    parece que o script tá funfando legal né... só que dá uma olhada quando dou o comando mrtg /etc/mrtg.conf

    vipnet-proxy:~# mrtg /home/vipnet/mrtg/mrtg.conf
    Daemonizing MRTG ...
    2008-03-11 09:55:45: ERROR: Target[eth0][_IN_] ''/home/vipnet/mrtg/mrtgstats-net.sh eth0'' evaluated to '/home/vipnet/mrtg/mrtgstats-net.sh eth0' instead of a number
    2008-03-11 09:55:45: ERROR: Target[eth0][_OUT_] ''/home/vipnet/mrtg/mrtgstats-net.sh eth0'' evaluated to '/home/vipnet/mrtg/mrtgstats-net.sh eth0' instead of a number
    vipnet-proxy:~# 2008-03-11 09:55:45: ERROR: Target[perf][_IN_] ''/home/vipnet/mrtg/mrtgstats-cpu.sh'' evaluated to '/home/vipnet/mrtg/mrtgstats-cpu.sh' instead of a number
    2008-03-11 09:55:45: ERROR: Target[perf][_OUT_] ''/home/vipnet/mrtg/mrtgstats-cpu.sh'' evaluated to '/home/vipnet/mrtg/mrtgstats-cpu.sh' instead of a number
    vipnet-proxy:~#


    o script mrtg.conf que utilizei foi esse:

    WorkDir: /var/www/mrtg
    WriteExpires: Yes
    Interval: 5
    Language: brazilian
    RunAsDaemon: yes
    Target[eth0]: '/home/vipnet/mrtg/mrtgstats-net.sh eth0'
    Title[eth0]: "Trafego da rede Publica webproxy VipNet"
    MaxBytes[eth0]: 750000
    PageTop[eth0]: <h1>Trafego da rede Publica web-proxy VipNet</h1>
    Options[eth0]: growright,bits,noinfo
    Target[perf]:'/home/vipnet/mrtg/mrtgstats-cpu.sh'
    Title[perf]:"Carga da CPU e uso da memoria"
    PageTop[perf]:"<h1>Carga da CPU e uso da memoria</h1>"
    Options[perf]: growright,noinfo,gauge
    Ylegend[perf]: Percentual
    ShortLegend[perf]: %
    MaxBytes[perf]: 100
    Legend1[perf]: Carga da CPU
    Legend2[perf]: Uso da memoria real
    LegendI[perf]: Carga


    já desinstalei o mrtg com o aptitude, refiz os arquivos do script... e nada... sempre a mesma msg. Todas as outra configurações que fiz na maquina estão rodando normal, tenho 3 placas de rede nela, sendo dois com ip fixo e 1 com dhcp para rede interna... nela eu sirvo proxy para um servidor mikrotik. Sinceramente, já não sei o q fazer! hehe
    Última edição por vipnet; 11-03-2008 às 12:55.

  4. #4

    Padrão

    faça o seguinte, edite o script "/etc/mrtgstats-net.sh" e modifique a linha:
    print $1, print $9
    para
    print $1; print $9

    no final o seu novo script deve ficar assim:
    #!/bin/sh
    # mrtgstats-net.sh
    awk '
    /'$1':/ {
    $0=substr($0,index($0,":")+1);
    print $1; print $9
    }
    ' /proc/net/dev


    Eu testei aqui e funcionou.

    ate+

  5. #5

    Padrão

    rs... matei o processo, desinstalei o mrtg, instalei de novo, refiz o mrtgstats-net.sh conforme vc indicou, e parece mentira, mas ainda tá com o erro:

    vipnet-proxy:~# mrtg /home/vipnet/mrtg/mrtg.conf
    Daemonizing MRTG ...
    2008-03-11 10:44:11: ERROR: Target[eth0][_IN_] ''/home/vipnet/mrtg/mrtgstats-net.sh eth0'' evaluated to '/home/vipnet/mrtg/mrtgstats-net.sh eth0' instead of a number
    2008-03-11 10:44:11: ERROR: Target[eth0][_OUT_] ''/home/vipnet/mrtg/mrtgstats-net.sh eth0'' evaluated to '/home/vipnet/mrtg/mrtgstats-net.sh eth0' instead of a number
    vipnet-proxy:~# 2008-03-11 10:44:11: ERROR: Target[perf][_IN_] ''/home/vipnet/mrtg/mrtgstats-cpu.sh'' evaluated to '/home/vipnet/mrtg/mrtgstats-cpu.sh' instead of a number
    2008-03-11 10:44:11: ERROR: Target[perf][_OUT_] ''/home/vipnet/mrtg/mrtgstats-cpu.sh'' evaluated to '/home/vipnet/mrtg/mrtgstats-cpu.sh' instead of a number
    vipnet-proxy:~#
    vipnet-proxy:~#

    o mrtgstats-net ficou assim:
    #!/bin/sh
    # mrtgstats-net.sh - Augusto Campos 2004
    awk '
    /'$1':/ {
    $0=substr($0,index($0,":")+1);
    print $1;print $9
    }
    ' /proc/net/dev

    o mrtgstats-net.sh está funcionando normal, pq ele retorna dados:

    vipnet-proxy:~# /home/vipnet/mrtg/mrtgstats-net.sh eth0
    596129490
    1324551856

    mas o MRTG gerando relatório ainda nada!
    Última edição por vipnet; 11-03-2008 às 14:01.

  6. #6

    Padrão

    Meu amigo, a última sugestão que eu tenho é mudar a linha de configuração do mrtg de:
    Target[perf]:'/home/vipnet/mrtg/mrtgstats-cpu.sh'

    para

    Target[perf]:`/home/vipnet/mrtg/mrtgstats-cpu.sh`


    Ou seja, ao invés de aspas simples você coloca essa outra aspas que é o mesmo sinal da crase.

    Espero que funcione.

    ate+

  7. #7

    Padrão

    Citação Postado originalmente por rmaximo Ver Post
    Meu amigo, a última sugestão que eu tenho é mudar a linha de configuração do mrtg de:

    Target[perf]:'/home/vipnet/mrtg/mrtgstats-cpu.sh'

    para

    Target[perf]:`/home/vipnet/mrtg/mrtgstats-cpu.sh`


    Ou seja, ao invés de aspas simples você coloca essa outra aspas que é o mesmo sinal da crase.

    Espero que funcione.

    ate+

    Muito obrigado por ter tentado ajudar! obrigado mesmo! são de pessoas como você que faz esse forum funcionar... mas infelizmente não deu certo... É tão simples utilizar o MRTG, não estou entendendo o porque de não estar conseguindo! visto que não tem segredo algum um script simples como esse.

    Troquei as aspas simples pelo simbolo `(usado em crase) porém sem exito... o MRTG retornou erro no script:

    vipnet-proxy:~# mrtg /home/vipnet/mrtg/mrtg.conf
    Daemonizing MRTG ...
    vipnet-proxy:~# 2008-03-11 16:29:15: WARNING: Could not get any data from external command '/home/vipnet/mrtg/mrtgstats-cpu.sh'
    Maybe the external command did not even start. (Illegal seek)
    2008-03-11 16:29:15: WARNING: Problem with External get '/home/vipnet/mrtg/mrtgstats-cpu.sh':
    Expected a Number for 'in' but nothing'
    2008-03-11 16:29:15: WARNING: Problem with External get '/home/vipnet/mrtg/mrtgstats-cpu.sh':
    Expected a Number for 'out' but nothing'
    2008-03-11 16:29:15: ERROR: Target[perf][_IN_] ' $target->[1]{$mode} ' did not eval into defined data
    2008-03-11 16:29:15: ERROR: Target[perf][_OUT_] ' $target->[1]{$mode} ' did not eval into defined data

    Ainda fico na esperança de ver esse negócio funfar sem eu enlouquecer! rs

  8. #8

    Padrão

    De fato o MRTG é algo muito simples, você já tentou verificar as permissões do script? O usuário que você está executando o MRTG tem permissão de execução para o script? O mesmo usuário também tem permissão para acessar o arquivo /proc/net/dev ?

  9. #9

    Padrão

    Citação Postado originalmente por rmaximo Ver Post
    De fato o MRTG é algo muito simples, você já tentou verificar as permissões do script? O usuário que você está executando o MRTG tem permissão de execução para o script? O mesmo usuário também tem permissão para acessar o arquivo /proc/net/dev ?

    Sim, estou executando como root. Estou tentando atualizar o MRTG para uma versão mais nova para ver se funciona... Vou postar os resultados. Obrigado.
    Última edição por vipnet; 11-03-2008 às 21:58.

  10. #10

    Padrão

    Te aconselho a tentar um agente snmp para facilitar essa coleta de informação... é bem mais facil, e tem muitos softwares que jah tem receita de bolo em muitos lugares. Eu sempre opto pelo SNMP porque da para coletar de diversas maquinas a partir de um unico ponto

  11. #11

    Padrão

    Citação Postado originalmente por mistymst Ver Post
    Te aconselho a tentar um agente snmp para facilitar essa coleta de informação... é bem mais facil, e tem muitos softwares que jah tem receita de bolo em muitos lugares. Eu sempre opto pelo SNMP porque da para coletar de diversas maquinas a partir de um unico ponto
    Vou seguir seu conselho. Sobre a atualização do MRTG não deu certo, continuou aparecendo as mesmas mensagens postadas anteriormente. Postarei resultados depois de implementar o agente SNMP. Abraços e obrigado.