我对awstats非常陌生,并在我的apache上配置了Awstats来分析nginx访问日志(nginx用于我的django应用程序),我可以从LogFile=/var/log/nginx/access.log
获取统计数据,但是如何分析多个gzip格式的日志。例如as .log.1.gz.as.log.40.gz我有很多日志要分析。
发布于 2011-08-05 00:04:30
这里您可能要做的是分析所有这些日志文件一次,然后继续只分析当前的日志文件。
最简单的方法是将所有这些文件解压缩到一个文件中,然后让awstats运行一次,然后从那时起将awstats指向您的access.log文件。
awstats通常有一个名为logresolvemerge.pl的脚本,它可以读取压缩文件,并将它们适当地合并,以便awstats执行analsyis操作。
若要合并所有现有的,请运行
perl /usr/share/awstats/tools/logresolvemerge.pl /var/log/nginx/access.log* > /tmp/nginx.tmplog
这可能需要一段时间。
然后,您可以让awstats在这个文件上运行一次(适当设置LogFile )。
从那时起,您应该在最近的日志文件上运行awstats --这就是当前配置所做的。
根据运行awstats与旋转nginx日志文件的频率不同,您可能希望同时读取当前日志文件和前一个日志文件。(例如,如果您每天在12岁时旋转nginx日志文件,但让awstats每天以1运行,那么每当awstats运行时,日志文件将只包含自上次旋转以来所写的内容)。您可以在logresolvemerge.pl命令中使用LogFile,如下所示:
LogFile="/usr/share/awstats/tools/logresolvemerge.pl /var/log/nginx/access.log /var/log/nginx/access.log.1.gz |"
这将告诉awstats以两个日志文件作为参数运行logresolvemerge.pl命令,而awstats将读取该脚本的输出(这就是pipe \x)
发布于 2011-08-06 03:46:57
或者,您可以使用实时日志分析器(如GoAccess )。它非常快,您不需要解压缩任何日志。apache & nginx
zcat -f access.log* | goaccess -a -s -b
或
zcat access.log.*.gz | goaccess -a -s -b
https://serverfault.com/questions/297061
复制相似问题