GoAccess:一個實時的 Web 日誌分析器及互動式檢視器
分析日誌檔案對於 Linux 管理員來說是一件非常令人頭疼的事情,因為它記錄了很多東西。大多數新手和初級管理員都不知道如何分析。如果你在分析日誌方面擁有很多知識,那麼你就成了 *NIX 系統高手。
Linux 中有許多工具可以輕鬆分析日誌。GoAccess 是允許使用者輕鬆分析 Web 伺服器日誌的工具之一。我們將在本文中詳細討論 GoAccess 工具。
GoAccess
GoAccess 是一個實時 Web 日誌分析器和互動式檢視器,可以在 *nix 系統中的終端執行或透過瀏覽器訪問。
GoAccess 需要的依賴極少,它是用 C 語言編寫的,只需要 ncurses。
它支援 Apache、Nginx 和 Lighttpd 日誌。它為需要動態視覺化伺服器報告的系統管理員即時提供了快速且有價值的 HTTP 統計資訊。
GoAccess 可以解析指定的 Web 日誌檔案並將資料輸出到 X 終端和瀏覽器。
GoAccess 被設計成一個基於終端的快速日誌分析器。其核心思想是實時快速分析和檢視 Web 伺服器統計資訊,而無需使用瀏覽器。
預設輸出是在終端輸出,它也能夠生成完整的、自包含的實時 HTML 報告,以及 JSON 和 CSV 報告。
GoAccess 支援任何自定義日誌格式,幷包含以下預定義日誌格式選項:Apache/Nginx 中的組合日誌格式 XLF/ELF,Apache 中的通用日誌格式 CLF,但不限於此。
GoAccess 功能
- 完全實時:所有指標在終端上每 200 毫秒更新一次,在 HTML 輸出上每秒更新一次。
- 跟蹤應用程式響應時間:跟蹤服務請求所需的時間。如果你想跟蹤減慢了網站速度的網頁,則非常有用。
- 訪問者:按小時或日期確定最慢執行的請求的點選量、訪問者數、頻寬數和指標。
- 按虛擬主機的度量標準:如果有多個虛擬主機(
Server
),它提供了一個皮膚,可顯示哪些虛擬主機正在消耗大部分 Web 伺服器資源。
如何安裝 GoAccess?
我建議使用者在包管理器的幫助下從發行版官方的儲存庫安裝 GoAccess。它在大多數發行版官方儲存庫中都可用。
我們知道,我們在標準發行方式的發行版中得到的是過時的軟體包,而滾動發行方式的發行版總是包含最新的軟體包。
如果你使用標準發行方式的發行版執行作業系統,我建議你檢查替代選項,如 PPA 或 GoAccess 官方維護者儲存庫等,以獲取最新的軟體包。
對於 Debian / Ubuntu 系統,使用 APT-GET 命令或 APT 命令在你的系統上安裝 GoAccess。
# apt install goaccess
要獲取最新的 GoAccess 包,請使用以下 GoAccess 官方儲存庫。
$ echo "deb https://deb.goaccess.io/ $(lsb_release -cs) main" | sudo tee -a /etc/apt/sources.list.d/goaccess.list
$ wget -O - https://deb.goaccess.io/gnugpg.key | sudo apt-key add -
$ sudo apt-get update
$ sudo apt-get install goaccess
對於 RHEL / CentOS 系統,使用 YUM 包管理器在你的系統上安裝 GoAccess。
# yum install goaccess
對於 Fedora 系統,使用 DNF 包管理器在你的系統上安裝 GoAccess。
# dnf install goaccess
對於基於 ArchLinux / Manjaro 的系統,使用 Pacman 包管理器在你的系統上安裝 GoAccess。
# pacman -S goaccess
對於 openSUSE Leap 系統,使用Zypper 包管理器在你的系統上安裝 GoAccess。
# zypper install goaccess
# zypper ar -f obs://server:http
# zypper ref && zypper in goaccess
如何使用 GoAccess?
成功安裝 GoAccess 後。只需輸入 goaccess
命令,然後輸入 Web 伺服器日誌位置即可檢視。
# goaccess [options] /path/to/Web Server/access.log
# goaccess /var/log/apache/2daygeek_access.log
執行上述命令時,它會要求您選擇日誌格式配置。
我用 Apache 訪問日誌對此進行了測試。Apache 日誌被分為十五個部分。詳情如下。主要部分顯示了這十五個部分的摘要。
以下螢幕截圖包括四個部分,例如唯一身份訪問者、請求的檔案、靜態請求、未找到的網址。
以下螢幕截圖包括四個部分,例如訪客主機名和 IP、作業系統、瀏覽器、時間分佈。
以下螢幕截圖包括四個部分,例如來源網址、來源網站,Google 的搜尋引擎結果、HTTP狀態程式碼。
如果要生成 html 報告,請使用以下命令。最初我在嘗試生成 html 報告時遇到錯誤。
# goaccess 2daygeek_access.log -a > report.html
GoAccess - version 1.3 - Nov 23 2018 11:28:19
Config file: No config file used
Fatal error has occurred
Error occurred at: src/parser.c - parse_log - 2764
No time format was found on your conf file.Parsing... [0] [0/s]
它說“你的 conf 檔案沒有找到時間格式”。要解決此問題,請為其新增 “COMBINED” 日誌格式選項。
# goaccess -f 2daygeek_access.log --log-format=COMBINED -o 2daygeek.html
Parsing...[0,165] [50,165/s]
GoAccess 也允許你訪問和分析實時日誌並進行過濾和解析。
# tail -f /var/log/apache/2daygeek_access.log | goaccess -
更多細節請參考其 man 手冊頁或幫助。
# man goaccess
或
# goaccess --help
via: https://www.2daygeek.com/goaccess-a-real-time-web-server-log-analyzer-and-interactive-viewer/
作者:Vinoth Kumar 選題:lujun9972 譯者:wxy 校對:wxy
本文由 LCTT 原創編譯,Linux中國 榮譽推出
相關文章
- 解鎖Nginx日誌的寶藏:GoAccess——你的實時、互動式Web日誌分析神器!NginxGoWeb
- Monaco Editor 實現一個日誌檢視器
- Web實時日誌輸出檢視管理系統Web
- Django websocket之web端實時檢視日誌實踐案例DjangoWeb
- 檢視pod下面某一個容器的日誌
- Linux 中實時檢視日誌的3種方法Linux
- nginx日誌分析工具goaccessNginxGo
- mysqld啟動失敗時日誌檢視命令MySql
- 使用goaccess統計nginx日誌GoNginx
- LogFX:JavaFX編寫一個漂亮、輕量級的日誌檢視器
- alertmanager: 檢視日誌
- Linux 檢視日誌Linux
- 檢視系統的日誌
- Logminer如何檢視日誌
- Hyperf日誌檢視元件元件
- 檢視日誌的幾種形式
- iOS 檢視及匯出專案執行日誌iOS
- GoAccess 開源日誌輕工具部署與分析Go
- docker檢視容器日誌命令Docker
- windows_weblogic日誌檢視WindowsWeb
- Linux 檢視日誌的命令彙總Linux
- Linux下使用GoAccess監控Nginx訪問日誌LinuxGoNginx
- 一個 JSer 的 Dart 學習日誌(一):函式JSDart函式
- 基於Python實現互動式資料視覺化的工具(用於Web)Python視覺化Web
- 自定義 Command 檢視 Laravel 日誌Laravel
- mysql檢視binlog日誌詳解MySql
- git檢視日誌的常用命令Git
- eclipse設定檢視GC日誌和如何理解GC日誌EclipseGC
- 檢視mysql 的binlog日誌存放的位置(轉)MySql
- 如何在Web應用中新增一個JavaScript Excel檢視器WebJavaScriptExcel
- Linux如何檢視系統/伺服器的執行時間及啟動時間?Linux伺服器
- 在Linux中,日誌檔案作用是什麼及如何檢視?Linux
- Dry:一個命令列互動式 Docker 容器管理器命令列Docker
- linux 檢視日誌的命令引數有哪些?Linux
- 檢視Oracle的redo日誌切換頻率Oracle
- toad使用(檢視alert日誌、Database Report)Database
- NAS中如何檢視日誌記錄?
- [擴充套件包]-Laravel檢視日誌套件Laravel