uma ação( nesse caso enviar email).
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
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
------------------------------
*Enviado:* quinta-feira, 3 de maio de 2018 19:10
*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
https://www.elastic.co/guide/en/kibana/current/watcher-creat
e-threshold-alert.html
<https://www.elastic.co/guide/en/kibana/current/watcher-create-threshold-alert.html>
Create Threshold Alert | Kibana User Guide [6.2] | Elastic
<https://www.elastic.co/guide/en/kibana/current/watcher-create-threshold-alert.html>
www.elastic.co
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
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
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 <http://about.me/peczenyj>