Analizador de registros para nginx [cerrado]

13

Tengo una aplicación web que se ejecuta con nginx y me gustaría analizar los registros para obtener información sobre cuántas visitas recibe cada archivo y qué errores 404 y otros errores estamos generando (algo que Google Analytics no puede proporcionar).

Normalmente, simplemente soltaría awstats en un servidor, pero con nginx, debido a la falta de cgi-bin, no es trivial. ¿Hay otra solución trivial para obtener esta información? No me importa pagarle a un tercero para que haga este análisis por mí.

pupeno
fuente

Respuestas:

20

Puede usar goaccess para analizar sus registros web y obtener un resumen de visitas, direcciones IP únicas, archivos estáticos principales, 404 principales, diferentes códigos de estado y más. Muestra un primer resumen de nivel superior de información y luego le permite desglosar cada capítulo principal de forma interactiva. Lo alimentas con un archivo de registro o una tubería y es muy rápido.

Lo descubrí aquí en SF y desde entonces ha cambiado mi forma de ver los registros del servidor web: tiendo a hacer análisis de registros oportunistas y basados ​​en problemas, y no estoy satisfecho con análogos, awstats y webalizer.

blau
fuente
Wow, gracias por mencionar GoAccess, ¡es increíble!
Richie086
6

Si está dispuesto a ensuciarse las manos, le aconsejaría que use Logstash + ElasticSearch + Kibana .

Puede hacer mucho más de lo que pides, pero puede hacer lo que pides bien, y tendrás un verdadero infierno para explorar realmente tus registros para comprender qué está sucediendo, o ha estado sucediendo.

Este es el sitio web de demostración de Kibana

Esta es una publicación de blog que muestra cómo se configuró para analizar Apache Tomcat con esta plataforma, simplemente puede adaptarla a sus necesidades: http://spredzy.wordpress.com/2013/03/02/monitor-your-cluster -of-tomcat-aplicaciones-con-logstash-and-kibana /

Spredzy
fuente
1
+1 por la respuesta correcta.
Tom O'Connor
1

Tuve que usar awstats con Nginx esta semana y no tienes que usar cgi-bin necesariamente. Awstats viene con el script awstats_buildstaticpages.pl que generará archivos html estáticos que luego podrá servir con Nginx. Con un trabajo cron actualizo los archivos 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 (Dependiendo de su sistema operativo, las rutas pueden diferir un poco, pero podrá encontrar los scripts)

Para evitar la pérdida de datos durante la rotación del registro, puede agregar esta línea a su archivo 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 |"

El script fusionará los últimos 2 registros cada vez que obtenga el registro para actualizar sus datos. O bien, puede agregar un gancho previo a la rotación en Nginx como lo hacen aquí: http://www.bytetouch.com/blog/system-administration/how-to-awstats-installation-and-configuration-on-debian/

usuario178412
fuente
0

Depende del nivel de funcionalidad que requiera, pero AFAIK es posible hacer que AWStats genere archivos estáticos, por lo que no necesita cgi.

Al revés: debería ser posible hacer que AWStats se ejecute como un script FastCGI. Diría que ni siquiera será demasiado pirateo.

zorro
fuente