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: Ivã Meneses
Subject: Re: [shell-script] Monitorando scripts
Date: Wed, 21 Sep 2011 06:50:20 -0700 (PDT)

desculpa a ignorância mas não seria mais fácil o script enviar um email quando 
estivesse em warn ou erro?



________________________________
De: Marcelo Salhab Brogliato <address@hidden>
Para: address@hidden
Enviadas: Terça-feira, 20 de Setembro de 2011 14:55
Assunto: Re: [shell-script] Monitorando scripts


  
Grande mestre Julio,
não sabia do tail -n +X .. muito bom!

Para calcular o UltReg, também posso usar um wc -l /arq/log, né?

Já estou trabalhando no script.. alias, nos scripts!
Vou fazer 3 scripts mesmo. Comecei a desenhar com mais detalhes o
funcionamento agora.

Obrigado,
Abraços,
Marcelo

2011/9/20 Julio C. Neves <address@hidden>

> **
>
>
> 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]
>
> 
>

[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]