Use o Nagios para monitorar um arquivo de log e enviar detalhes do log

6

Eu sei que o Nagios pode monitorar e alertar sobre o conteúdo dentro de um arquivo de log, mas alguém sabe de um plug-in, ou outra ferramenta, que monitora um arquivo de log para uma string específica e envia a linha inteira em um arquivo. mensagem de e-mail em que essa correspondência ocorreu?

    
por af-at-work 02.02.2012 / 19:57

6 respostas

4

Os plugins stock check_log são meio que ... miseráveis; ele usa 'diff' e processa todo o log, toda vez que você o executa, então ele não escala bem. Em tudo.

O ConSol Labs mantém um excelente plug-in de verificação de log que faz exatamente o que você deseja: link

Ele está listado no Nagios Exchange, mas aqui está o link direto para a versão em inglês: link

Você tem que executar isso através do NRPE, ou check_via_ssh (teclas + ssh), obviamente.

    
por 13.02.2012 / 21:37
4

@ af-at-work: Existe uma ferramenta para isso:

"Tenshi é um programa de monitoramento de log, projetado para assistir a um ou mais arquivos de log para linhas que combinam expressões regulares definidas pelo usuário e relatar as correspondências. As expressões regulares são atribuídas a filas com um intervalo de alerta e uma lista de destinatários de email "

Pacote do Ubuntu ( Link ), Pacote Debian ( Link ).

    
por 02.02.2012 / 23:47
2

Monitor de registro do Nagios

o link acima pode ser a resposta que você está procurando. ele pode monitorar qualquer arquivo de log em hosts locais e remotos.

no link acima, o usuário está usando uma ferramenta de monitoramento do Nagios Log chamada logrobot. Você pode visitar a página inicial para ver mais exemplos de como ela funciona.

Se você deseja monitorar um log e ver os detalhes das linhas que contêm a string especificada, a ferramenta logrobot pode ser executada desta forma:

localmente:

logrobot autofig /opt/jboss/jboss-as/server/production/log/server.log 60m 'INFO' '.' 1 2 -show

remotamente:

NagiosLogMonitor remotehost logrobot autofig /opt/jboss/jboss-as/server/production/log/server.log 60m 'INFO' '.' 1 2 -show

Quando você executar o comando acima, como foi mostrado no primeiro link, você verá todas as multas encontradas no arquivo de log que contém a string 'INFO' que você especificou.

    
por 24.02.2013 / 21:37
1

Se você puder ler o arquivo de log com um script bash (ou perl ou python ou etc.) e procurar pela string (grep), com certeza. O script precisa definir um código de retorno diferente de zero e retornar a string. O script pode residir no servidor em questão e o nagios pode usar o comando check_by_ssh para executar o script no servidor.

    
por 02.02.2012 / 20:27
0

Por que envolver o Nagios em tal situação? Isso parece mais de complicação.

Por que não basta ir ao servidor, escrever um pequeno script de shell para fazer o que você quer, executá-lo através de um cron job. O script deve conter em ambos os casos a lógica para enviar e-mails.

    
por 02.02.2012 / 21:52
0

O Nagios agora tem uma solução que se integra perfeitamente ao Nagios Core, XI, etc.

Nagios Log Server que pode alertar sobre qualquer consulta em qualquer log arquivo em qualquer sistema em sua infra-estrutura.

    
por 23.10.2014 / 21:51