我有一个运行nginx的networking应用程序,我想分析日志,以获得有关每个文件有多less点击,以及我们正在产生哪些404和其他错误(谷歌分析不能提供的东西)的信息。
通常情况下,我只是将awstats放在服务器中,但是对于nginx,由于缺lesscgi-bin,这并不是微不足道的。 有没有另外的解决scheme来获取这些信息? 我不介意付第三方为我做这个分析。
您可以使用goaccess来分析您的networking日志,并获得命中,唯一IP,顶级静态文件,顶级404,不同的状态代码和更多的摘要。 它显示信息的第一个顶级摘要,然后让您以交互方式深入了解每个主要章节。 你给它一个日志文件或pipe道,它非常快。
我在SF上发现了它,从那以后,我改变了查看Web服务器日志的方式:我倾向于做机会主义的,问题驱动的日志分析,并且对模拟,awstats和webalizer不满意。
如果你愿意弄脏你的手,我build议你使用Logstash + ElasticSearch + Kibana 。
它可以做比你所问的更多的东西,但它可以做你所要求的东西,而且你将有一个真正的推论来实际浏览你的日志,以了解正在或已经发生的事情。
这是Kibana演示网站
这是一篇博客文章,展示了如何使用此平台分析Apache Tomcat,您可以简单地将其调整为您的需求: http : //spredzy.wordpress.com/2013/03/02/monitor-your-cluster -of-tomcat的应用与- logstash-和kibana /
取决于你需要的function级别,但是AFAIK可以使AWStats生成静态文件 – 因此不需要cgi。
反过来说 – 应该可以让AWStats作为FastCGI脚本运行。 我会说这不会是太多的黑客行为。
我不得不在本周使用Nginx的awstats,你不必一定要使用cgi-bin。 Awstats附带了awstats_buildstaticpages.pl脚本,它将生成静态html文件,然后您可以使用Nginx。 通过cron工作,我定期更新html文件。
/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 (根据你的操作系统的path可能会有所不同,但你将能够find脚本)
为了防止日志旋转过程中的数据丢失,您可以将此行添加到您的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 |"
每当您获取更新数据的日志时,该脚本将合并最后2个日志。 或者你可以像在这里一样在Nginx上添加一个pre-logrotate钩子: http : //www.bytetouch.com/blog/system-administration/how-to-awstats-installation-and-configuration-on-debian/