托管服务提供商的 Web 访问日志分析器

托管服务提供商的 Web 访问日志分析器

我设置了 nginx 服务器,它根据Host字段代理请求。我有一个通用日志,因为每个主机的日志记录都是在服务器上完成的,我向该服务器执行 proxy_pass。

那么,有没有什么解决方案可以分析并查看综合统计数据?

迄今已尝试:

  • 统计信息
  • 网络管理者
  • 访问
  • 访客

所有列出的解决方案都要求我为每个站点生成单独的报告(可能来自一个日志)。我想查看所有虚拟主机的 access.log 完整报告,为每个虚拟主机生成单独的报告很麻烦 - 有很多主机,它们变化很快。

有一个半解决方案:欺骗 webalizer,让他将主机视为访问者。不是很实用。

答案1

我过去使用过的技巧是使用一个简单的预处理器来合并主机和请求 URL,然后它可以在任何日志分析器中工作。

即修改大多数分析器似乎支持的常用 combined-access_log 格式以包含主机。然后在运行统计数据之前运行预处理器;这样通常看起来会像这样:

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

相关内容