在 Linux 中以互動方式實時檢視Apache Web訪問統計
無論你是在網站託管業務,還是在自己的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來瀏覽網站伺服器統計資料
你可以按向下的箭頭滾動頁面,你會發現以下區域,它們是按請求排序的。這裡提及的目錄順序可能會根據你的發行版或者你所選的安裝方式(從源和庫)不同而不同:
-
每天唯一訪客(來自同樣IP、同一日期和同一瀏覽器的請求被認為是是唯一訪問)
-
請求的檔案(網頁URL)
-
請求的靜態檔案(例如,.png檔案,.js檔案等等)
-
來源的URLs(每一個URL請求的出處)
-
HTTP 404 未找到的響應程式碼
-
作業系統
-
瀏覽器
-
主機地址(客戶端IP地址)
-
HTTP 狀態程式碼
-
前幾位的來源站點
-
來自谷歌搜尋引擎的前幾位的關鍵字
如果你想要檢查已經存檔的日誌,你可以透過管道將它們傳送給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在監控和顯示網站伺服器的統計資料時更有用。
via: http://xmodulo.com/interactive-apache-web-server-log-analyzer-linux.html
作者:Gabriel Cánepa 譯者:disylee 校對:wxy
相關文章
- 在Linux中,如何檢視和審計系統日誌檔案以檢測異常活動?Linux
- web互動方式---ajaxWeb
- web方式訪問sshWeb
- GoAccess:一個實時的 Web 日誌分析器及互動式檢視器GoWeb
- Websphere Web訪問埠號檢視和修改Web
- apache日誌統計 按小時,分鐘統計url訪問次數Apache
- Web實時日誌輸出檢視管理系統Web
- 在Linux中,如何檢視系統日誌?Linux
- 如何檢視Linux 當前訪問ipLinux
- 以互動的方式學習PythonPython
- Apache Flink 在移動雲實時計算的實踐Apache
- 在Linux中,如何檢視當前日期和時間?Linux
- 在Linux系統中如何檢視有哪些組?Linux
- nginx配置web訪問以及檢視目錄檔案NginxWeb
- 在 Linux 上以樹狀檢視檔案和程式Linux
- Linux 中實時檢視日誌的3種方法Linux
- nginx檢視實時日誌並設簡單的訪問驗證Nginx
- 檢視oracle啟動方式Oracle
- Linux實時檢視TCP數量LinuxTCP
- 在Linux中,如何檢視當前系統的版本資訊?Linux
- 在Linux中,如何檢視系統的磁碟使用情況?Linux
- 在Linux中,如何檢視系統資源使用情況?Linux
- Linux下如何檢視系統啟動時間和執行時間Linux
- 大資料視覺化安全保障之私密訪問:讓訪問和互動更安全大資料視覺化
- 檢視apache、linux、kernel、nginx等版本ApacheLinuxNginx
- Linux檢視系統開機時間Linux
- Linux 下檢視系統資源的更好方式Linux
- 在Linux中,如何檢視網路效能?Linux
- Linux實時檢視Java介面資料LinuxJava
- 在Linux中,如何統計ip訪問情況?分析 nginx 訪問日誌?如何找出訪問頁面數量在前十位的ip?LinuxNginx
- Linux 檢視程式啟動時間、執行時間Linux
- 以autotrace檢視執行計劃時換行的解決
- Linux伺服器系統詳細檢視程式啟動時間Linux伺服器
- 在Linux中,如何檢視開放的埠?Linux
- 一起來試玩!線上可程式設計互動的實時音視訊 Web SDK 入門教程程式設計Web
- Django websocket之web端實時檢視日誌實踐案例DjangoWeb
- 以動畫的方式,快速直觀地檢視 Git 檔案變動歷史動畫Git
- 在AIX,LINUX系統中訪問含特殊符號的檔案AILinux符號