shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Monitorando ocorrências em log e disparando alarme


From: Enio Onodera
Subject: Re: [shell-script] Monitorando ocorrências em log e disparando alarme
Date: Fri, 29 Apr 2011 12:25:22 -0700 (PDT)

Não seria possível analisar e deletar linha por linha ao invés do 
arquivo.log.buffer todo?Desse modo, mesmo que algumas linhas sejam 
acrescentadas, ela vai ser detectada no próximo evento do cronjob.


Abs,Enio Onodera
--- Em sex, 29/4/11, Kurt Kraut <address@hidden> escreveu:

De: Kurt Kraut <address@hidden>
Assunto: [shell-script] Monitorando ocorrências em log e disparando alarme
Para: address@hidden
Data: Sexta-feira, 29 de Abril de 2011, 12:29















 
 



  


    
      
      
      Aloha,



Tenho que monitorar um daemon proprietário que felizmente gera um arquivo

.log em tempo real, com uma transação por linha. Eu preciso detectar a

ocorrência de linhas nesse log que tenham os termos 'publish' ou 'unpublish'

e tomar ações baseado no surgimento desses termos no log. É tolerável que a

solução leve 5 minutos ou menos para detectar a ocorrência desses termos.



Minha dúvida é, qual a melhor abordagem? O que pensei foi:



tail -f arquivo.log | grep -F "publish" >> /tmp/arquivo.log.buffer



E fazer um cronjob que rodasse a cada minuto verificando linha a linha do

/tmp/arquivo.log.buffer para tomada de decisão e apagando o conteúdo do

arquivo após analizado. Porém, como esse arquivo não parará de ser escrito,

corre o risco de acontecer a seguinte sequência de eventos:



1) /tmp/arquivo.log.buffer é escrito com conteúdo

2) o cronjob que realmente analiza o conteúdo dele é disparado

3) Uma nova ocorrência é gravada em /tmp/arquivo.log.buffer

4) O arquivo /tmp/arquivo.log.buffer é apagado/limpo sem que a ocorrência do

item acima seja detectada



Uma forma de evitar isso seria sempre copiar o /tmp/arquivo.log.buffer para

um arquivo temporário $(mktemp) antes de ser analisado. Mas fico com a

sensação que já é gambiarra demais. Gostaria de ter uma solução limpa pois,

no futuro, pretendo transformar isso num script do Nagios para que ele se

encarregue de monitorar as ocorrências e disparar os alarmes.



Alguém sugere alguma abordagem?



Cordialmente,



Kurt Kraut



[As partes desta mensagem que não continham texto foram removidas]





    
     

    
    


 



  










[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]