带有 vhosts 的 Apache 日志通用分析器

带有 vhosts 的 Apache 日志通用分析器

我在 Ubuntu 中使用 Apache,并创建了多个 vhost,所有 vhost 都指向同一个访问日志。我已经登录虚拟主机域。

我正在寻找一种方法来获取统计报告,该报告在同一报告中显示所有虚拟主机的信息,例如:

vhosts ------ 访问

域名1.net --- 3

域名2.net --- 8

我已经检查过类似的工具统计信息网络管理者访问和其他,但我只能从它们那里获得每个虚拟主机的单独报告,或者只能获得一份包括所有虚拟主机的报告,就好像它们只有一个一样。

我检查了另一个答案分析 apache 日志的工具需要一个分析Apache日志的软件https://serverfault.com/questions/296316/web-log-analyzer-that-c​​an-generate-a-single-report-for-multiple-domains但也不能解决我的需求。

考虑到我不想收到像统计信息(经过一些配置)对于我的所有 vhosts 资源,我想检查 vhost 之间的差异。

我的日志格式是(如果需要可以更改):

LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\""

日志如下:

test.leticia.net:80 127.0.0.1 - - [28/May/2013:12:23:25 -0300] "GET /test.php HTTP/1.1" 200 301 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML,如 Gecko) Chrome/27.0.1453.93 Safari/537.36"

test.leticia.net:80 127.0.0.1 - - [28/May/2013:12:26:30 -0300] "GET /test.php HTTP/1.1" 200 301 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML,如 Gecko) Chrome/27.0.1453.93 Safari/537.36"

如果需要其他信息,请告诉我。提前致谢。

答案1

您可以使用一个简单的 shell 脚本来计算每个虚拟主机出现的次数:

$ awk '{print $1}' access.log | sort | uniq -c | sort -gr

答案2

为了存档目的:

我发现 webalizer 有一个部分,我可以在里面检查我的 Apache 中 vhost 列表的点击数、文件数、千字节数和访问次数。该部分是“[Sites]”

只要确保使用包含 vhost 的 LogFormat,例如:

LogFormat "%v:%p %h %l %u %t "%r" %>s %O "%{Referer}i" "%{User-Agent}i"" vhost_combined

日志显示如下:

在此处输入图片描述

相关内容