[Cascavel-pm] Ler o arquivo do final

Marco A P D´Andrade mda em embratel.net.br
Segunda Junho 7 11:43:44 CDT 2004


Luis,

Eu tenho uma implementação de analize de logs, e utilizo um esquema que 
copiei de uma versão antiga do POPRelayD (script para pop-before-smtp), 
que consiste em verificar a cada execução alguns parametros:

    Armazendo: tamanho, inode e posicao

    Caso tamanho seja menor ou inode modificado
          reseta a posicao para 0

    Vou à posicao e inicio processamento...



Simples, eficiente, e como vc mesmo disse, caso sejam perdidas algunas 
informações não são assim tão importantes...


Claro... logs de mail são significativos, portanto eu recebo uma cópia 
para tratamento (via syslogd) e esta é zerada ao final de cada execução...

Fica a minha sugestão!


Sds,
Marco Antonio

   

Luís Fernando wrote:

>Solli,
>
>no meu também rotaciona no mesmo arquivo (o "antigo" - que era o que
>eu estava analisando - vira "log.1", e é criado um novo sem conteúdo
>com o nome do "antigo").
>Como eu estou fazendo busca sempre (sem marcar a última posição), não
>tenho que me preocupar se rotacionou ou não, pois sempre vai procurar
>a data no arquivo, independente do último conteúdo dele.
>Eu perco as últimas informações quanto ele rotaciona, mas não são
>importantes... O meu script serve para analisar o log do servidor de
>E-Mails e procurar "sintomas" de SPAM. Dependendo da configuração
>feita no script, ele já pode enviar comando de bloqueio dos IPs para o
>iptables.
>Quanto à técnica de marcas, parece que funciona. Só não implemento
>agora por não ser tão crítico (o script roda em média 1x/hora). Mas
>talvez quando eu conseguir pensar nas principais características de
>SPAM (tenho um log do meu servidor com 4 horas sem SPAM e 4 horas com
>SPAM, preciso analisá-lo com mais calma para ver as diferenças mais
>gerais e poder implementar).
>
>/*
>
>+---------------------------------+
>| Luís Fernando Estrozi           |
>+---------------------------------+
>| Ciência da Computação - USP     |
>|                                 |
>| mailto:lemon em grad.icmc.usp.br   |
>| ICQ#: 25541891                  |
>|                                 |
>| http://grad.icmc.usp.br/~lemon/ |
>+---------------------------------+
>
>There are 10 types of people in the world: Those who understand binary, and those who don't
>
>*/ EOF
>
>|---> Original Message <---> 6/6/2004, 10:20 <---|
>Luís,
>
>Como você faz hoje para saber se o log virou ? Você perde as informações
>dos log passado ? Eu ainda acho que você poderia utilizar a técnica de
>marca, mas neste caso então utilize duas marcar, uma para você saber se
>o arquivo é aquele mesmo que estava processando (como por exemplo a data
>de criação do arquivo, ou uma informação particular na primeira linha do
>arquivo - como uma data, e a outra para a última posição que você
>estava.
>
>Vou dar um exemplo, eu tenho script que captura os eventos logs do
>Windows, e os logs dos servidores estão marcado para rotacionar também
>(tenho servidor com mais de 250 MB), neste caso eu sempre continuo do
>último ponto de acesso. Para saber se o log foi rotacionado, eu compara
>a informação de data que foi capturado no passado com a informação que
>estou coletando, se não forem iguais eu assumo que o log já foi
>rotacionado. No meu caso o problema é um pouco mais complicado, pois o
>rotacionamento ocorre no mesmo arquivo.
>
>Solli
>
>_______________________________________________
>Cascavel-pm mailing list
>Cascavel-pm em mail.pm.org
>http://cascavel.pm.org/mailman/listinfo/cascavel-pm
>
>
>





Mais detalhes sobre a lista de discussão Cascavel-pm