Monitorando arquivos de log importantes em vários hosts Linux?

Monitorando arquivos de log importantes em vários hosts Linux?

Tenho alguns servidores rodando na AWS e tenho o Nagios/Icinga fazendo o monitoramento de todos os serviços críticos.

Estamos tentando descobrir a melhor maneira de monitorar todos os logs - system, DB, PHP, Apache, etc- no sistema para que possamos saber sobre problemas (por exemplo, que o Apache atingiu o max_clientslimite ontem) imediatamente por e-mail. Atualmente, só olhamos os logs depois que um serviço fica inativo, não antes, o que é ruim.

Sou novo na administração do Linux e identifiquei as seguintes opções após uma pesquisa online:

  1. Scripts do Nagiospara monitorar registros- O problema é que a maioria deles verifica um arquivo de log para um regex específico por vez. Não é escalável instalar um serviço para cada arquivo de log (nem conheço todos os arquivos de log que precisamos monitorar!)
  2. Um serviço como logrobot.com- Não tenho certeza de quão eficaz isso é.

Agradeço seus conselhos sobre qual é a melhor maneira de monitorar todos esses logs em vários servidores com configuração mínima.

Responder1

Não sei quantos servidores/logs você precisa monitorar, mas existem muitas soluções por aí

ambiente pequeno

Use rsyslog e um frontend de sua preferência (ex. LogAnalyzerhttp://loganalyzer.adiscon.com/)

ambiente maior

Monitoramos nossos serverlogs do sistema (+300) com beaver como logshipper, logstash como indexador e elasticsearch como backend. Esta solução pode ser ampliada para hosts [insira um número aleatório aqui];)

Responder2

Basicamente, você não deve (pelo menos não apenas) ler os logs no mesmo host, mas sim usar algum tipo de servidor de log que centralizaria todos os logs dos servidores.

usei essa configuração para ter certeza de que os logs não serão alterados após serem inseridos.

Além disso, basta usar o logcheck e deixá-lo verificar os logs para você.

Basicamente, é uma verificação de linhas que você considera aceitáveis ​​​​e que podem ser ignoradas, e apenas envia aquelas que você não disse ao logcheck para ignorar de antemão.

você pode instalá-lo facilmente em todos os servidores.

para uma versão gráfica, contando quantas entradas de log graves, etc.

logzilla é uma boa opção, embora não seja mais gratuito.

Responder3

Passei alguns dias pesquisando ("soluções de gerenciamento de log") e descobri exatamente as ferramentas que procurava. As três ferramentas a seguir são ferramentas de registro baseadas em nuvem e são fáceis de instalar e configurar. Eles enviam logs do sistema e logs personalizados para seus servidores, armazenam-nos e permitem pesquisar e configurar alertas de e-mail/webhook para padrões regex.

  1. Trilha de papel- de longe a interface mais simples/rápida (como tail -f em um terminal). Preços extremamente acessíveis também. Você terá que gastar algum tempo configurando-o para log personalizado (apache, mysql, seu aplicativo). Seu log-shipper baseado em Go (em Beta a partir de hoje) é muito eficiente em termos de memória e posso implantar os arquivos de log que ele precisa monitorar por meio de um repositório GIT.
  2. Entradas de registro- também bastante simples. Mais fácil para configurar o log personalizado por meio do daemon 'le'. Ele tem alguns recursos e isso faz com que pareça inchado em comparação com o papertrail. Seu plano gratuito é bastante extenso para startups.
  3. Logicamente- Oferece tudo o que os outros dois fazem, mas foi bastante complexo passar por isso. E o plano gratuito não oferece alertas.

Responder4

Com relação ao logrobot.com, agora existe uma versão gratuita que faz exatamente o que você precisa e pode ser baixada aqui:

http://www.logxray.com/logxray.zip

Para usá-lo para resolver suas preocupações, você pode executar o logxray desta forma:

./logxray localhost:emailing /apps/logxray autonda /var/log/messages 60m 'kernel|error|panic|fail' 'timed out' 1 2 -show error_check [e-mail protegido]

Para monitorar vários logs ou logs específicos em um diretório específico:

./logxray localhost /apps/logxray autoblz /var/log 60m 'pânico|erro' '.' 1 1 diretório_error_watch -ndfoundn

http://www.logXray.com(para mais informações ou documentação sobre como usar a ferramenta)

informação relacionada