Arquivos de Log Centralizados - Enviando via TCP versus replicação SAN?

2

Temos vários servidores de aplicativos (20+) espalhados em vários data-centers. Precisamos centralizar os arquivos de log e monitorá-los a partir de uma única caixa.

Requisitos:

  1. Arquivos de log grandes, da ordem de 5 a 10 Gb por dia, por aplicativo - para que possa haver vários milhares de linhas por segundo.
  2. A latência é importante - precisamos ser capazes de reagir a eventos de registro em segundos, se possível.
  3. A pegada de desempenho deve ser a mais baixa possível e deve ser dimensionada de maneira previsível com o tamanho do arquivo de log.

Gostaria de obter opiniões sobre a melhor abordagem para centralizar esses arquivos de log?

Uma abordagem que nós pensamos era usar o Logstash ( link ) e o Graylog2 ( link ), e envie os eventos de log pela rede para a caixa de monitoramento, seja TCP direto, ou via um barramento como o RabbitMQ.

Uma segunda abordagem é ter um volume SAN "compartilhado" no qual todos os servidores de aplicativo gravarão seus arquivos de log.

Quais são os prós / contras das abordagens acima? Quaisquer advertências que devemos ter cuidado? Melhores práticas?

    
por victorhooi 14.01.2012 / 03:20

4 respostas

3

Com a ferramenta nxlog de código aberto, você pode centralizar seus arquivos de log dos hosts Linux e Windows. Ele pode encaminhar através de UDP, TCP, SSL, possui poderosos recursos de filtragem, buffer baseado em disco e uma variedade de outros recursos.

    
por 15.01.2012 / 22:03
2

Basta configurar um servidor de log centralizado executando syslog-ng (ou rsyslogd como a tendência mais recente parece ser) e configurar seus servidores / syslog para registrar em seu servidor syslog. Essa abordagem é limpa e testada em campo em todo o mundo.

De 5 a 10 GB por aplicativo por dia é respeitável, mas não é algo que sobrecarregue seu syslog-ng. Não senhor, isso requer mais esforço. Vários milhares de linhas por segundo é algo que eu estou procurando no trabalho todos os dias e os servidores syslog estão principalmente ociosos.

Eu pessoalmente gosto do syslog-ng porque é tão plug and play. Se você adicionar novos servidores apontando para seu servidor syslog, o syslog-ng criará automaticamente a hierarquia de diretórios necessária para seus arquivos de log, sem necessidade de sysadmin.

    
por 17.01.2012 / 15:39
0

Eu avaliei o LogRhythm há um ano e esse serviço foi realmente incrível. Dê a eles uma aparência, eles podem fazer muito mais do que simplesmente centralizar seus registros também. Alertas, normalazation, relatórios, etc.

    
por 14.01.2012 / 16:56
0

Veja este documento no rsyslog:

link

Com essa configuração, você pode encaminhar mensagens para o syslog remoto (ou para o graylog2-server, já que ele pode escutar mensagens do syslog) e, se o servidor remoto estiver inoperante, ele será enfileirado localmente no disco. Eu tive problemas com o encaminhamento para graylog2 sob alta carga, se graylog2 ou elasticsearch (graylog2 usa para armazenamento) não consegue acompanhar a taxa de mensagens, ele irá enfileirá-los na memória, uma vez que você preencha toda a memória disponível mate-o (perdendo todas as mensagens).

    
por 17.01.2012 / 14:27