+ Responder ao Tópico



  1. #1

    Padrão Como criar um shell script para monitoramento de log(url)

    Estou precisando criar um shell script para monitorar "linha a linha" uma url. Assim que tive esse problema logo pensei: tail -f ... e logo quebrei cara =\

    Tentei algumas coisas, e como não tive sucesso, cá estou eu.

    O problema é o seguinte: Passei a usar um adsl router, e infelizmente não posso mais usufruir do iptables(inclusive dos logs do mesmo). Em compensação o router possui um firewall, e uma página com o log do mesmo. É exatamente esta a página que quero logar.

    Cada linha desta página tem o seguinte formato:

    0000-000-000 66:66 |Firewall |D:19:0 TCP 666.6.6.6:666 -> 666.66.6.66:66666 len=1492 id=49537 DF=1 MF=0 byte-off=0

    O tamanho dos campos variam.


    Eu tentei o seguinte:

    Código :
    #!/bin/bash
     
    Url=http://ip-do-router/log.htm
    Arquivo=/tmp/tal
     
    while true; do
            Tmp=`cat $Arquivo`
            lynx -dump -width=800 $Url | tr -s "\n" | cut -d"|" -f2,3 | tr -s " " | grep -v "BUTTON" > $Arquivo
            sleep 10   
    done

    Isso me gera um arquivo onde cada linha é +/- assim:
    Firewall |D:19:0 TCP 666.6.6.6:666 -> 666.66.6.66:66666 len=1492 id=49537 DF=1 MF=0 byte-off=0

    Rodei o script, e então dei um: tail -f /tmp/tal

    Ele funciona, mas logo em seguida o tail é quebrado:

    tail: /tmp/tal: file truncated

    Provavelmente isso aconteceu pq o lynx tentou jogar o conteúdo da url pro arquivo, enquanto o tail lia o mesmo arquivo.

    Daí eu queria saber como resolver isso... alguém tem alguma sugestão, ou uma melhor forma de se fazer isso?

    EDIT: ajeitar o título

  2. #2

    Padrão Como criar um shell script para monitoramento de log(url)

    cara...

    mesmo vc usando o modem como router vc ainda pode usar o iptables sem nenhum problema...

    vc disse q quer monitorar uma url, vc tem o squid instalado e configurado ???

    se tiver eh melhor ainda, assim dah pra monitorar em tempo real ou em tempo programado...

    valew

  3. #3

    Padrão Como criar um shell script para monitoramento de log(url)

    Como posso continuar usando o iptables? Porque aqui nenhum tráfegochega no pc ... tudo fica no router.

    E a única url que quero monitorar é a do log do modem. Não há necessidade do squid

  4. #4

    Padrão Como criar um shell script para monitoramento de log(url)

    voce pode fazer uma regra NAT no seu modem, redirecionando todo o trafego para sua maquina, dae com isso voce pode usar o iptables para fazer oque bem intender..

    www.abusar.org

    entre nesse site e va ateh a seção de modem, la tem como configurar seu modem para fazer NAT, ou "liberar portas", que eh na verdade um NAT.



    []'s

  5. #5

    Padrão Como criar um shell script para monitoramento de log(url)

    Se eu redirecionar todo o tráfego pra minha máquina, eu vou ter que usar o iptables para compartilhar a conexão para os outros pcs da rede, e consequentemente terei que deixar meu pc 24hrs/dia ligado.

    Eu tive que mudar para router justamente por isso. A conta de energia tava vindo muito alta, e meu pai "sugeriu" que eu começasse a desligar o pc de vez em quando(eu tinha um uptime de mais de mês =\ ).

    Enfim ... tive que passar a utilizar o modem como router, e agora estou tentando monitorar a página de log do mesmo.

    Alguém tem uma solução para esse shell script?

  6. #6

    Padrão Como criar um shell script para monitoramento de log(url)

    cara...

    será q ele não tah dando erro pq expira o tempo do login no modem??

    ou pra acessar esta pagina de log's nao precisa efetuar login ?

  7. #7

    Padrão Como criar um shell script para monitoramento de log(url)

    Não precisa de login.

    Ele dá erro, porque eu to usando > e não >> ná hora de redirecionar o conteúdo da url pro arquivo. Ou seja, ele zera o conteúdo do arquivo a cada 10seg(tempo do sleep), que é quando está ocorrendo o erro. Apesar de usar >> ser uma solução, ela não é viável, pelo simples fato de que o tamanho do arquivo gerado estava ficando absurdo.

    Acho que só seria viável utilizar o >>, se eu encontrasse uma maneira de comparar o que há na url, com o que já existe no arquivo, e só jogar para ele as entradas novas. Mas como fazer isso?

  8. #8

    Padrão Como criar um shell script para monitoramento de log(url)

    cara...

    pelo que entendi vc então não quer este log gravado em um arquivo para armazenamento, se for isso vc poderia redirecionar os log's para um terminal

    > /dev/tty12

    valew