Analisador de log para nginx [fechado]


13

Eu tenho um aplicativo da web em execução com o nginx e gostaria de analisar os logs para obter informações sobre quantas ocorrências cada arquivo está recebendo e quais 404s e outros erros estamos gerando (algo que o Google Analytics não pode fornecer).

Normalmente eu apenas soltaria awstats em um servidor, mas com o nginx, devido à falta de cgi-bin, não é trivial. Existe outra solução trivial para obter essas informações? Não me importo de pagar terceiros para fazer essa análise por mim.

Respostas:


20

Você pode usar o goaccess para analisar seus logs da web e obter um resumo de ocorrências , IPs exclusivos, principais arquivos estáticos, principais 404s, diferentes códigos de status e muito mais. Ele exibe um primeiro resumo de informações de nível superior e, em seguida, permite detalhar cada capítulo principal interativamente. Você alimenta um arquivo de log ou um pipe e é muito rápido.

Eu o descobri aqui no SF e, desde então, mudou minha maneira de ver os logs do servidor da web: eu costumo fazer análises oportunistas e orientadas a problemas e fiquei insatisfeito com o analógico, o awstats e o webalizer.


Uau, obrigado por mencionar o GoAccess, é incrível!
Richie086

6

Se você estiver disposto a sujar a mão, aconselho você a usar o Logstash + ElasticSearch + Kibana .

Pode fazer muito mais do que você pede, mas pode fazer bem o que você pede, e você terá um verdadeiro argumento para realmente navegar nos seus logs para entender o que está acontecendo - ou está acontecendo.

Este é o site de demonstração do Kibana

Este é um post de blog que mostra como foi configurado para analisar o Apache Tomcat com esta plataforma; você pode simplesmente adaptá-lo às suas necessidades: http://spredzy.wordpress.com/2013/03/02/monitor-your-cluster -de-tomcat-applications-with-logstash-and-kibana /


1
+1 para a resposta certa.
Tom O'Connor

1

Eu tive que usar o awstats com o Nginx esta semana e você não precisa usar o cgi-bin necessariamente. O Awstats vem com o script awstats_buildstaticpages.pl que irá gerar arquivos html estáticos que você poderá servir com o Nginx. Com um trabalho cron, atualizo os arquivos html regularmente.

/usr/share/doc/awstats/examples/awstats_updateall.pl now -awstatsprog=/usr/lib/cgi-bin/awstats.pl

/usr/share/awstats/tools/awstats_buildstaticpages.pl -update -config=domain.com -dir=/path/to/save/html/files awstatsprog=/usr/lib/cgi-bin/awstats.pl (Dependendo do sistema operacional, os caminhos podem variar um pouco, mas você poderá encontrar os scripts)

Para evitar a perda de dados durante a rotação do log, você pode adicionar esta linha ao seu arquivo awstats.domain.com.conf:

LogFile="/usr/share/awstats/tools/logresolvemerge.pl /path/to/log/access.domain.tld.log /path/to/log/access.domain.tld.log.1 |"

O script mesclará os 2 últimos logs sempre que você buscar o log para atualizar seus dados. Ou você pode adicionar um gancho de pré-gravação no Nginx, como eles fazem aqui: http://www.bytetouch.com/blog/system-administration/how-to-awstats-installation-and-configuration-on-debian/


0

Depende do nível de funcionalidade que você precisa, mas no AFAIK é possível fazer com que o AWStats gere arquivos estáticos - portanto, não é necessário cgi.

O contrário - deve ser possível fazer com que o AWStats seja executado como um script FastCGI. Eu diria que não serão hackers demais.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.