[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