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

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

Re: [shell-script] Monitorando scripts


From: Roger Pereira Boff
Subject: Re: [shell-script] Monitorando scripts
Date: Mon, 19 Sep 2011 21:55:22 -0300

Caro Marcelo,

Em vez de você criar scripts para isso, não é mais fácil instalar o RRDTool
e o Cacti para efetuar o monitoramento dos servidores?

Em 19 de setembro de 2011 17:47, Marcelo Salhab Brogliato <
address@hidden> escreveu:

> **
>
>
> Pessoal,
> estou precisando fazer um script que irá monitorar o syslog da máquina.
> Desta maneira, ele irá filtrar por facilities e por level e irá gerar um
> dashboard dos meus scripts.
>
> Motivação: tenho muitos scripts rodando em diversos servidores (cerca de 15
> máquinas). E, obviamente,
> não é viável entrar em todos eles pra ver se os scripts estão rodando sem
> nenhum problema.
>
> Minha idéia é criar um arquivo de configuração com: facility, warn_level,
> error_level, timelimit.
> O warn_level e o error_level indicam o level mínimo para marcar o script
> com
> warning ou error.
> O timelimit indica o tempo máximo que o script pode ficar sem colocar
> nenhuma mensagem de log no syslog,
> indo direto para o estado de error.
>
> Quero rodar um daemon que irá monitorar o /var/log/syslog e, a cada linha
> adicionada, irá processá-la e atualizará
> um arquivo de estado em /var/spool/scriptmonitor/<facility>.
>
> Assim, olhando lá eu consigo saber facilmente quem está em WARN ou ERROR
> (basta um grep).
> Apenas para completar a idéia, fazer um outro script que processa esses
> arquivos e gera um dashboard no meu
> servidor http. Assim, posso acompanhar o script por um página web bem
> simples :)
>
> Bom, explicado tudo, primeiramente pensei em fazer um script em python para
> ser o daemon. Mas, como seria
> muito bom se rodasse apenas com sh (ou bash), me interessei por fazer em
> shell mesmo.
>
> Minha idéia para o shellscript era usar um tail -n0 -f /var/log/syslog |
> awk
> "...", mas não vejo como fazer o timeout
> neste caso. A parte de atualizar o spool seria simples, basta o awk
> verificar se é de um script monitorado (talvez um
> simples grep no arquivo de configuracao), ver o warn_level e error_level e
> atualizar o arquivo no spool.
>
> Eu teria que colocar outro script para fazer o timeout? Não sei se é uma
> boa
> idéia, mas pensei em varrer o arquivo
> de configuração e ver a data de modificação do seu arquivo no spool. Se
> fosse tiver passado mais que "timelimit",
> então ele atualizaria o arquivo no spool indicando ERROR.
>
> Outro "processo" (queria rodar tudo em um único script) seria para limpar
> os
> arquivos do spool que não estão mais
> no arquivo de configuração. Desta maneira, a limpeza seria automática.
>
> Apenas para deixar claro minha dúvida: é possível rodar tudo em um único
> script? Se sim, como? Para fazer um
> daemon, basta fazer um script com loop infinito e colocá-lo no init.d? A
> idéia do tail -n0 -f é boa? Existe maneira
> melhor?
>
> Agradeço idéias e a ajuda!
>
> Abraços,
> Salhab
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>



-- 
==============================================================================
Se você pretende repassar este e-mail, por favor, APAGUE todos os
endereçosque aparecem nele antes de
enviar. Outra dica de segurança é encaminhar aos seus destinatários como
CÓPIA OCULTA (Cco ou Bcc).
Agindo assim, você estará protegendo seus amigos e a você mesmo(a) da
propagação de SPAMS e Vírus.
==============================================================================


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



reply via email to

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