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: Julio C. Neves
Subject: Re: [shell-script] Monitorando scripts
Date: Tue, 20 Sep 2011 13:25:53 -0300

Fala Marcelo,
não gosto do tail -f. Além de pesado, é pouco confiável. Prefiro fazer o meu
script acordar após um determinado espaço de tempo e analisar os registros
que foram gerados após ele dormir.

Como faço isso? Simples. Antes de dormir:

UltReg=$(cat -n /arq/log | cut -f1 -d' ')

Ou usando wc ou ainda awk

Após acordar:

tail -n +$UltReg | ...

O processo dormindo não tem time slice, com tail -f tem. Por isso prefiro
colocá-lo dormindo.

Cordialmente,

Julio Neves
*Quer programar bem em Shell?
*

*Use este endereço de e-mail, o Skype ou ☎ (21)8112-9988 ☎*

*
*

**

*
*
My profiles: [image: Twitter] <http://twitter.com/juliobash>
Contact me: [image: Skype] julioneves1
Em 20 de setembro de 2011 00:09, Marcelo Salhab Brogliato <
address@hidden> escreveu:

> **
>
>
> Olá Roger, boa noite!
>
> Amigo, obrigado pela sugestão. Eu tbém estou utilizando estas ferramentas,
> para monitorar
> desde o hardware até os serviços dos servidores. Entretanto, o objetivo
> destes scripts são
> para monitorar scripts. Por exemplo, tenho diversos scripts de backup, de
> sincronismo de
> banco de dados, de geração de relatórios, de manutenção de sistemas, etc.
>
> O que ocorre é que alguém tem que me relatar um problema, ou eu mesmo tenho
> que tentar
> acessar um backup ou um relatório e eu vejo que o script não está
> funcionando a tempos.
> Normalmente, devido a alguma ação tomada sem se analisar as consequências
> da
> mesma.
> Claro que também temos que atuar para que as ações não acabem fazendo
> besteira, mas
> me parece que ter um dashboard com o estado da execução destes scripts é
> bastante prático
> e me ajudaria a identificar um futuro problema.
>
> Abraços,
> Salhab
>
>
> 2011/9/19 Roger Pereira Boff <address@hidden>
>
> > 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]
> >
> >
> >
> > ------------------------------------
> >
> > ----------------------------------------------------------
> > Esta lista não admite a abordagem de outras liguagens de programação,
> como
> > perl, C etc. Quem insistir em não seguir esta regra será moderado sem
> prévio
> > aviso.
> > ----------------------------------------------------------
> > Sair da lista: address@hidden
> > ----------------------------------------------------------
> > Esta lista é moderada de acordo com o previsto em
> > http://www.listas-discussao.cjb.net
> > ----------------------------------------------------------
> > Servidor Newsgroup da lista: news.gmane.org
> > Grupo: gmane.org.user-groups.programming.shell.brazil
> >
> > Links do Yahoo! Grupos
> >
> >
> >
>
> [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]