我对awstats很陌生,在我的apachenetworking服务器上configuration了Awstats来分析nginx访问日志(nginx webserver是为我的django应用程序),我可以从LogFile=/var/log/nginx/access.log
获取统计信息,但是我如何分析多个gzip格式的日志。 如access.log.1.gz … access.log.40.gz。 我有很多日志需要分析。
你可能想在这里做的是分析所有这些日志文件,然后继续分析当前的日志文件。
最简单的方法是将所有这些文件解压缩到一个文件中,然后将awstats运行一遍,然后将awstats指向您的access.log文件。
awstats通常有一个名为logresolvemerge.pl的脚本,它可以读取压缩的文件,并将它们适当地合并为awals来做analsyis。
要合并所有现有的,运行
perl /usr/share/awstats/tools/logresolvemerge.pl /var/log/nginx/access.log* > /tmp/nginx.tmplog
这可能需要一段时间。
然后你可以在这个文件上运行awstats(适当地设置LogFile)。
从那以后,你应该有awstats运行在最新的日志文件 – 这是你目前的configuration正在做什么。
根据你运行awstats和旋转nginx日志文件的频率,你可能希望读取当前的日志文件和前一个日志文件。 (例如,如果每天轮换nginx日志文件为12,但每天运行awstats为1,那么无论何时运行awstats,日志文件将只包含自上次旋转以来写入的内容。 您可以在LogFile命令中使用logresolvemerge.pl,如下所示:
LogFile="/usr/share/awstats/tools/logresolvemerge.pl /var/log/nginx/access.log /var/log/nginx/access.log.1.gz |"
这告诉awstats以两个日志文件作为参数运行logresolvemerge.pl命令,awstats将读取该脚本的输出(这就是pipe道的作用)
或者,您可以使用实时日志分析器,如GoAccess。 这真的很快,你不需要解压缩任何日志。 apache & nginx
http://goaccess.prosoftcorp.com/
zcat -f access.log* | goaccess -a -s -b
要么
zcat access.log.*.gz | goaccess -a -s -b