nginx 日志分析器

nginx 日志分析器

我有一个使用 nginx 运行的 Web 应用程序,我想分析日志以获取有关每个文件获得的点击次数以及我们生成了哪些 404 和其他错误(Google Analytics 无法提供)的信息。

通常情况下,我只会将 awstats 放在服务器中,但对于 nginx,由于缺少 cgi-bin,这并不容易。还有其他简单的解决方案来获取此信息吗?我不介意付钱给第三方来为我做这个分析。

答案1

您可以使用访问分析您的网络日志并获取点击次数、唯一 IP、顶级静态文件、顶级 404、不同状态代码等的摘要。它显示第一个顶级信息摘要,然后让您以交互方式深入研究每个主要章节。您可以向其输入日志文件或管道,速度非常快。

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

答案2

如果你愿意亲自动手,我建议你使用Logstash+ElasticSearch+基巴纳

它可以做的远超您的要求,但它可以很好地完成您的要求,并且您将有一个真正的界面来实际浏览您的日志以了解正在发生或已经发生的情况。

这是 Kibana 演示网站

这是一篇博客文章,展示了如何使用这个平台分析 Apache Tomcat,您可以简单地根据您的需要进行调整:http://spredzy.wordpress.com/2013/03/02/monitor-your-cluster-of-tomcat-applications-with-logstash-and-kibana/

答案3

本周我不得不将 awstats 与 Nginx 结合使用,但您不一定非要使用 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 上添加预日志旋转钩子,就像他们在这里所做的那样:http://www.bytetouch.com/blog/system-administration/how-to-awstats-installation-and-configuration-on-debian/

答案4

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

反过来说 - 应该可以将 AWStats 作为 FastCGI 脚本运行。我想说这甚至不需要太多的黑客攻击。

相关内容