Nginx日志分析器


13

我有一个使用nginx运行的Web应用程序,我想分析日志以获取有关每个文件获得多少匹配以及我们正在生成的404错误和其他错误(Google Analytics(分析)无法提供)的信息。

通常,我只是将awstats放在服务器中,但是使用nginx时,由于缺少cgi-bin,这并不容易。是否有另一个简单的解决方案来获取此信息?我不介意支付第三方为我做此分析。

Answers:


20

您可以使用goaccess来分析您的Web日志,并获得命中摘要,唯一IP,最重要的静态文件,最重要的404,不同的状态代码等等。它显示了第一个顶级信息摘要,然后让您以交互方式向下钻取每个主要章节。您向它提供日志文件或管道,速度非常快。

我在SF上发现了它,此后改变了我查看Web服务器日志的方式:我倾向于进行机会主义的,问题驱动的日志分析,并对模拟,awstats和webalizer感到不满意。


哇,感谢您提到GoAccess,这真是太神奇了!
Richie086 '18

6

如果您愿意弄脏我的手,我建议您使用Logstash + ElasticSearch + Kibana

它可以做的比您要问的要多得多,但是可以做得很好,您将拥有一个真正的接口来实际浏览日志以了解正在或正在发生的事情。

这是Kibana演示网站

这是一篇博客文章,显示了如何使用此平台设置它来分析Apache Tomcat,您可以简单地将其适应您的需求:http : //spredzy.wordpress.com/2013/03/02/monitor-your-cluster带有logstash和Kibana的tomcat应用程序/


1
+1为正确答案。
Tom O'Connor

1

这周我不得不在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 (根据您的操作系统,路径可能略有不同,但是您可以找到脚本)

为了防止在日志轮换期间丢失数据,可以将此行添加到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上添加一个loglogrotate预钩子:http : //www.bytetouch.com/blog/system-administration/how-to-awstats-installation-and-configuration-on-debian/


0

取决于您所需的功能级别,但是AFAIK可以使AWStats生成静态文件-因此不需要cgi。

另一种方法-应该有可能使AWStats作为FastCGI脚本运行。我要说的是,黑客攻击不会太多。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.