我有一个nginx服务器集,它代理基于Host字段的请求。 我有一个共同的日志,因为每个主机日志logging是在服务器上完成的,我做了proxy_pass。
那么,是否有解决scheme来分析和查看组合统计数据?
迄今试过:
所有列出的解决scheme都要求我为每个站点生成单独的报告(可能来自一个日志)。 我想看看我所有的虚拟主机access.log的完整报告,为每个虚拟主机生成一个单独的报告是一团糟 – 有很多主机,他们正在迅速改变。
有一个半解决scheme:欺骗webalizer,并使他对待主机作为访问者。 不是非常有用的。
我过去使用的技巧是合并主机和请求URL的简单预处理器,然后它将在任何日志分析器中工作。
即修改大多数分析器似乎支持包含主机的股票联合访问日志格式。 然后在运行你的数据前运行预处理器; 所以通常看起来像:
199.58.86.209 - - [25/Jul/2014:16:12:41 +0200] "GET /robots.txt HTTP/1.0" 200 291 199.58.86.209 - - [25/Jul/2014:16:12:44 +0200] "GET /robots.txt HTTP/1.0" 200 291
这将被聚合为/robots.txt文件中的两个匹配,被转换为如此转换以便您可以看到两个唯一的URL:
199.58.86.209 - - [25/Jul/2014:16:12:41 +0200] "GET www.example.com/robots.txt HTTP/1.0" 200 291 199.58.86.209 - - [25/Jul/2014:16:12:44 +0200] "GET web.example.org/robots.txt HTTP/1.0" 200 291