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

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

Re: [shell-script] Script para monitorar


From: Julio C. Neves
Subject: Re: [shell-script] Script para monitorar
Date: Fri, 4 May 2018 17:14:12 -0300

​Seria possível vc guardar a última linha verificada em um arquivo (chamado, digamos, UltimaLinha) e teu script começaria da seguinte forma:

sed "1, /^$(cat UltimaLinha)$/d" ArqLog | ... 

Esse sed apaga da primeira até a última linha do processamento anterior, sobrando somente as últimas. Ao fim do script vc terá de fazer:
tail -1 ArqLog > UltimaLinha

​Dessa forma só daria zebra se ocorressem duas linhas exatamente iguais, o que não costuma acontecer em logs.​

Abraços,
Julio

» Não tem tempo para fazer um curso presencial?
» Na sua cidade não tem nenhum bom curso de Linux?
» O treinamento está muito caro?
O melhor de todos em EAD é http://www.dicas-l.com.br/cursos/psl/

Damos treinamento em sua empresa com certificado
e nota fiscal por um preço, no mínimo, 50% abaixo
de qualquer curso.

​​
Nosso time de instrutores in company é formado somente por
autores
​ ​
de Best Sellers
​ ​
​laureados ​sobre os temas. P. exemplo:

Shell básico e Programação em Shell Julio Neves
Bacula Heitor Medrado
Zabbix Adail Host
Produção Gráfica e Videografismo Cadunico










Em 4 de maio de 2018 15:49, Cesar Rodrigues address@hidden [shell-script] <address@hidden.br> escreveu:
 

Então,
eu tenho que ver uma forma dele pegar somente as informações mais recentes. Talvez o tail ajude.
Exemplo: pegue somente 100 últimas linhas do último horário e jogue o resultado num arquivo. Se o resultado NÃO FOR IGUAL da penultima busca, sobrescreva o arquivo anterior com o novo resultado.




Em 4 de maio de 2018 06:41, willian mayan address@hidden [shell-script] <address@hidden.br> escreveu:
 

Fala pessoal blz?
Eu particularmente quando tenho algo que precisa ser monitorado em arquivo escrevo o script para me trazer somente um(ou vários) resultado e executar uma ação( nesse caso enviar email).
A parte do tempo eu adiciono a chamada do meu script no cron, assim não vai ter uma instrução sleep rodando. Se temos o cron porque não usar? :)

# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed

10 * * * * /path/meu_script.sh

Em 3 de maio de 2018 23:51, Maik Alberto address@hidden [shell-script] <address@hidden.br> escreveu:
 

só complementando para que não dispare em toda consulta após atingir os 10 primeiros erros.


LOG=/tmp/log

while [ 1 ];
do
 sleep 600
 if [[ $( grep -c "ERRO" $LOG ) -ge 10 ]]; then
   #envia email
   mv $LOG $LOG$(date +%s)
   > $LOG
 fi
done




De: address@hidden.br <address@hidden.br> em nome de Tiago Peczenyj address@hidden [shell-script] <address@hidden.br>

Enviado: quinta-feira, 3 de maio de 2018 19:10
Para: address@hidden.br
Assunto: Re: [shell-script] Script para monitorar
 
 

Ola

Existem varias formas de fazer isso, entretanto um script feito a mão pode não ser a ferramenta mais adequada.

Vc quer algo que monitore e alerte em caso de ocorrências, se for possível utilizar a stack ELK ( elasticsearch, logstash e kibana ) vc tem uma imensa flexibilidade mas demanda tempo pra configurar e usar (talvez precise estruturar os seus logs, emitindo em json por exemplo) exemplo:
Get started with the documentation for Elasticsearch, Kibana, Logstash, Beats, X-Pack, Elastic Cloud, Elasticsearch for Apache Hadoop, and our language clients.

Para algo mais simples: dado que vc pode executar o script via crontab a cada x tempos, bastaria:

Veja se a saida do grep -c ajuda

$ grep -c “expressão de erro” /var/log/seuarquivo.log

Se ajudar, bastaria fazer

if [[ $( grep ... ) -ge 10 ]]; then
  # envia email
fi

Mas isso é uma versão simplificada. Na prática vc tem q pensar onde procurar e como

Em qui, 3/05/2018 às 23:25, Cesar Rodrigues address@hidden [shell-script] <address@hidden.br> escreveu:
 

Boa noite, pessoal! 

Queria uma luz da galera do grupo... 

Estou precisando criar um script que busque na hora atual ou a cada 10 minutos, a quantidade de ERROS em um determinado arquivo de log, e se tiver uma quantidade maior que x erros, enviar um email notificando o problema.

Alguém aqui já fez isso ou tem uma ideia boa? 

Desde já agradeço!

--
Tiago B. Peczenyj

http://about..me/peczenyj




--
Willian.Mayan
GNU/Linux user:#536163




reply via email to

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