一、開源項目簡介
GoAccess 是什么?
GoAccess 是一款開源的且具有交互視圖界面的實時 Web 日志分析工具,通過你的 Web 瀏覽器或者 *nix 系統下的終端程序(terminal)即可訪問。
能為系統管理員提供快速且有價值的 HTTP 統計,并以在線可視化服務器的方式呈現。
二、開源協議
使用MIT開源協議
三、界面展示
四、功能概述
為什么要用 GoAccess?
GoAccess 被設計成快速的并基于終端的日志分析工具。其核心理念是不需要通過 Web 瀏覽器就能快速分析并實時查看 Web 服務器的統計數據(這對于需要使用 SSH 來對訪問日志進行快速分析或者就是喜歡在終端環境下工作的人來說是超贊的)。
終端輸出僅僅是默認的輸出方式,GoAccess 還支持生成完整的實時 html 報告(這對分析、監控以及數據可視化都是極好的),以及 JSON 和 CSV 格式的報告。
關鍵功能 —完整功能列表
- 快速, 實時, 毫秒/秒級更新, C 語言編寫
- 僅依賴 ncurses 模塊
- 幾乎支持所有 Web 日志 格式 (Apache, Nginx, Amazon S3, Elastic Load Balancing, CloudFront, 等等)
- 簡單設置即可支持自定義格式日志
- 漂亮的終端以及 bootstrap 風格控制面板 (易于將 GoAccess 調整為您自己的顏色搭配和風格)
- 當然,我們還支持 Valgrind 測試。
特色功能速覽...
完全實時
所有面板以及指標均按照指定時間間隔更新,在終端(Terminal)下是200ms,HTML則是每秒。
支持幾乎所有 Web 日志格式
GoAccess 允許任意自定義日志格式。 可預定義的格式包括: Apache, Nginx, Amazon S3, Elastic Load Balancing, CloudFront, 等等
跟蹤應用響應時間
跟蹤處理請求的時間消耗。對于解決站點頁面訪問速度下降非常有用。
增長日志處理
需要持續保持數據?GoAccess 有能力處理在磁盤上以 B+Tree 數據庫存儲并且不斷增長的日志。
僅依賴一個模塊
GoAccess 是用 C 語言編寫的。 僅僅需要 ncurses 這一個模塊即可運行。同時 GoAccess 甚至還擁有自己的兼容 RFC6455 協議的 Web Socket 服務器。
易于使用
您可以直接運行 GoAccess 去處理您的訪問日志文件,僅需選取日志格式然后讓 GoAccess 解析日志內容并將統計結果展示出來。
訪客畫像
可以按照小時或者指定日期確定最慢請求的訪問次數,訪客數量,帶寬以及其他相關度量值。
支持虛擬主機
擁有多個虛擬主機?在控制面板中能夠顯示出哪一個虛擬主機消耗 Web 服務器上最多的資源。
配色風格可定制化
GoAccess 的配色風格十分易于定制化。無論是通過終端,還是僅僅通過簡單修改 HTML 頁面的層疊樣式表。
五、技術選型
多種風格的實時日志分析控制面板
漂亮的終端控制面板
GoAccess 默認實時輸出到終端。GoAccess 在一個可以滾動顯示的面板中通過展示不同的報告摘要來向您呈現服務器的各種指標。
更喜歡HTML風格的報告?
除了通過終端輸出,GoAccess 允許您生成 HTML,JSON 或者 CSV 格式的報告。您甚至可以通過電子郵件發送 HTML 報告,因為它是由沒有外部文件依賴的單個文件組成,是不是很酷!
發現問題主機/機器人
使用主機面板可以非常容易的發現不懷好意的爬蟲/機器人以及標記出誰吃掉了你的帶寬資源。同時還能夠顯示每一臺主機上的 User Agents 列表。
易于操作的面板
控制面板由不同的報告組成 — 報告面板可以擴展以顯示更多信息,這樣您就可以快速的在不同報告之間找出他們的相互關系。
六、源碼地址
訪問一飛開源:https://code.exmay.com/