歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 在 Linux 中以交互方式實時查看Apache web訪問統計

在 Linux 中以交互方式實時查看Apache web訪問統計

日期:2017/2/27 15:52:57   编辑:Linux教程

無論你是在網站托管業務,還是在自己的VPS上運行幾個網站,你總會有需要顯示訪客統計信息,例如前幾的訪客、訪問請求的文件(無論動態或者靜態)、所用的帶寬、客戶端的浏覽器,和訪問的來源網站,等等。

GoAccess 是一款用於Apache或者Nginx的命令行日志分析器和交互式查看器。使用這款工具,你不僅可以浏覽到之前提及的相關數據,還可以通過分析網站服務器日志來進一步挖掘數據 - 而且這一切都是在一個終端窗口實時輸出的。由於今天的大多數web服務器都使用Debian的衍生版或者基於RedHat的發行版來作為底層操作系統,所以本文中我告訴你如何在Debian和CentOS中安裝和使用GoAccess。

Linux系統安裝GoAccess

在Debian,Ubuntu及其衍生版本,運行以下命令來安裝GoAccess:

# aptitude install goaccess 

在CentOS中,你將需要使你的EPEL 倉庫可用然後執行以下命令:

# yum install goaccess

在Fedora,同樣使用yum命令:

# yum install goaccess

如果你想從源碼安裝GoAccess來使用更多功能(例如 GeoIP 定位功能),需要在你的操作系統安裝必需的依賴包,然後按以下步驟進行:

# wget http://tar.goaccess.io/goaccess-0.8.5.tar.gz
# tar -xzvf goaccess-0.8.5.tar.gz
# cd goaccess-0.8.5/
# ./configure --enable-geoip
# make
# make install 

以上安裝的版本是 0.8.5,但是你也可以在該軟件的網站下載頁確認是否是最新版本。

由於GoAccess不需要後續的配置,一旦安裝你就可以馬上使用。

運行 GoAccess

開始使用GoAccess,只需要對它指定你的Apache訪問日志。

對於Debian及其衍生版本:

# goaccess -f /var/log/apache2/access.log

基於紅帽的發行版:

# goaccess -f /var/log/httpd/access_log 

當你第一次啟動GoAccess,你將會看到如下的屏幕中選擇日期和日志格式。正如前面所述,你可以按空格鍵進行選擇,並按F10確認。至於日期和日志格式,你可能需要參考Apache 文檔來刷新你的記憶。

在這個例子中,選擇常見日志格式(Common Log Format(CLF)):

然後按F10 確認。你將會從屏幕上看到統計數據。為了簡潔起見,這裡只顯示了首部,也就是日志文件的摘要,如下圖所示:

通過 GoAccess來浏覽網站服務器統計數據

你可以按向下的箭頭滾動頁面,你會發現以下區域,它們是按請求排序的。這裡提及的目錄順序可能會根據你的發行版或者你所選的安裝方式(從源和庫)不同而不同:

  1. 每天唯一訪客(來自同樣IP、同一日期和同一浏覽器的請求被認為是是唯一訪問)

  2. 請求的文件(網頁URL)

  3. 請求的靜態文件(例如,.png文件,.js文件等等)

  4. 來源的URLs(每一個URL請求的出處)

  5. HTTP 404 未找到的響應代碼

  6. 操作系統

  7. 浏覽器

  8. 主機地址(客戶端IP地址)

  9. HTTP 狀態代碼

  10. 前幾位的來源站點

  11. 來自谷歌搜索引擎的前幾位的關鍵字

如果你想要檢查已經存檔的日志,你可以通過管道將它們發送給GoAccess,如下:

在Debian及其衍生版本:

# zcat -f /var/log/apache2/access.log* | goaccess 

在基於紅帽的發行版:

# cat /var/log/httpd/access* | goaccess 

如果你需要上述部分的詳細報告(1至11項),直接按下其序號再按O(大寫o),就可以顯示出你需要的詳細視圖。下面的圖像顯示5-O的輸出(先按5,再按O)

如果要顯示GeoIP位置信息,打開主機部分的詳細視圖,如前面所述,你將會看到正在請求你的服務器的客戶端IP地址所在的位置。

如果你的系統還不是很忙碌,以上提及的章節將不會顯示大量的信息,但是這種情形可以通過在你網站服務器越來越多的請求發生改變。

保存用於離線分析的報告

有時候你不想每次都實時去檢查你的系統狀態,可以保存一份在線的分析文件或打印出來。要生成一個HTML報告,只需要通過之前提到GoAccess命令,將輸出來重定向到一個HTML文件即可。然後,用web浏覽器來將這份報告打開即可。

# zcat -f /var/log/apache2/access.log* | goaccess > /var/www/webserverstats.html

一旦報告生成,你將需要點擊展開的鏈接來顯示每個類別詳細的視圖信息:

可以查看youtube視頻:https://youtu.be/UVbLuaOpYdg 。

正如我們通過這篇文章討論,GoAccess是一個非常有價值的工具,它能給系統管理員實時提供可視的HTTP 統計分析。雖然GoAccess的默認輸出是標准輸出,但是你也可以將他們保存到JSON,HTML或者CSV文件。這種轉換可以讓 GoAccess在監控和顯示網站服務器的統計數據時更有用。
譯文:http://linux.cn/article-5352-1.html

Copyright © Linux教程網 All Rights Reserved