Apache-2.2

帶有虛擬主機的 Apache 日誌通用分析器

  • June 4, 2013

我在 Ubuntu 中使用 Apache,創建了幾個虛擬主機,都指向同一個訪問日誌。我已經登錄了虛擬主機域。

我正在尋找一種方法來獲得統計報告,該報告在同一報告中顯示所有虛擬主機的資訊,例如:

虛擬主機 —— 訪問

domain1.net — 3

domain2.net — 8

我已經檢查過awstatswebalizergoaccess等工具,但我只能從它們那裡獲得每個虛擬主機的單獨報告,或者只有一份報告,包括所有虛擬主機,就好像它們只是一個一樣。

我檢查了另一個答案,例如分析 apache 日誌的工具需要一個分析 Apache 日誌的軟體https://serverfault.com/questions/296316/web-log-analyzer-that-c ​​an-generate-a-single-report- for-multiple-domains但也不能解決我的需求。

考慮到我不希望像我從awstats(經過一些配置)獲得的報告那樣針對我的所有虛擬主機資源,我想檢查虛擬主機之間的差異。

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

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, like 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, like Gecko) Chrome/27.0.1453.93 Safari/537.36”

如果需要其他資訊,請告訴我。提前致謝。

出於存檔目的:

我發現 webalizer 有一個部分,我可以在其中檢查 Apache 中虛擬主機列表的 Hits、Files、KBytes 和 Visits。該部分是“

$$ Sites $$" 只要確保使用包含虛擬主機的 LogFormat,例如:

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

日誌顯示為:

在此處輸入圖像描述

您可以使用一個簡單的 shell 腳本來計算每個虛擬主機的出現次數:

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

引用自:https://serverfault.com/questions/512372