Como coletar logs para estatísticas no site?

2

Eu quero coletar logs do nginx (vários servidores, 1.000.000 de linhas em logs por minuto para todos os servidores) para o servidor de estatísticas central para processamento de estatísticas. Vejo duas variantes:

    1. grava logs em arquivos de log locais para cada servidor
    2. renomear registros para o modelo "DD.MM.YYYY HH" em cada servidor    e enviar logs para o servidor stat sobre o ssh, por exemplo
    3. envia sinal para recarregar logs para nginx em cada servidor
    1. usa o transporte syslog (ou outro - que o transcport pode arquivo autorename para o modelo "DD.MM.YYYY HH"? ) para enviar logs para o servidor de estatísticas
    2. use o hadoop ou o diretório temporário na memória no servidor de estatísticas para registros de gravações  de todos os servidores (qual a variante mais produtiva neste caso?)
  1. Você pode sugerir outra coisa?

por Bdfy 11.12.2014 / 09:25

2 respostas

2

Dê uma olhada no elasticsearch + logstash + kibana

O Logstash pode analisar seus arquivos de log e extrair informações deles usando filtros. Ele pode armazená-los no Elasticsearch, que você pode consultar via Kibana. Veja os vídeos em seu site para ter uma ideia do que ele pode fazer.

    
por 11.12.2014 / 10:11
0

Sua primeira opção pode ser feita via loghost (basicamente sua opção 2) Você pode enviar sua mensagem syslog via udp para $ logserver. Em seguida, você dividiria os logs com base no servidor e teria os registros de data e hora "exatos" dos registros enviados.

A renomeação de logs não seria necessária nos servidores nginx, além do logrotate comum que você provavelmente precisa com tanto registro de qualquer maneira.

É melhor não escrever muito se as ferramentas já estiverem disponíveis, não é necessário reinventar a roda aqui.

A opção 2 deve estar bem próxima do que você deseja alcançar.

Dependendo da segurança da (s) rede (s) em que os servidores estão: transporte diretamente via procedimento de syslog "normal" ou faça f.e. alguma conexão vpn ao loghost.

    
por 11.12.2014 / 09:50