12個優(yōu)秀開源Web性能與用戶行為分析工具
Web分析工具一般用于跟蹤、分析網(wǎng)站的流量和用戶行為。例如:響應(yīng)時間、訪問數(shù)量、地理位置、訪問頁面、停留時間等。
市面上有許多商業(yè)化的Web分析平臺,比如:Google Analytics、Baidu等,但這些商業(yè)平臺一般以SaaS的模式提供服務(wù),因此在使用的時候就有可能有隱私方面的擔(dān)心;另一方面問題是,在一些非互聯(lián)網(wǎng)網(wǎng)絡(luò)環(huán)境里面的Web應(yīng)用也無法使用。
下面是Google Analytics 的架構(gòu)圖:
參考Google Analytics 架構(gòu),Web分析系統(tǒng)一般由 客戶端信息收集器、日志分析處理器、配置管理以及報表幾個部分組成。許多開源的Web分析器實際上與Google Analytics 有所類似,因此了解Google架構(gòu)有助于理解其他類似的產(chǎn)品。
本文列舉了一些最佳開源Web性能分析工具,這些工具相比商業(yè)的Web分析平臺更具透明度和數(shù)據(jù)可控性,能夠在不影響隱私的情況下自主跟蹤、分析網(wǎng)站的各項指標(biāo)。
1.Matomo
GitHub:https://github.com/matomo-org/matomo
Star:18.3K
Matomo是一個開源的Web分析平臺(以前稱為Piwik),提供了網(wǎng)站的流量分析、用戶行為跟蹤和轉(zhuǎn)換優(yōu)化工具等。Matomo基于PHP、MySQL開發(fā),您可以下載并安裝在自己的Web服務(wù)器上。 在五分鐘的安裝過程結(jié)束時,您將獲得一個JavaScript代碼。 只需將此標(biāo)簽復(fù)制并粘貼到您希望跟蹤和實時訪問分析報告的網(wǎng)站上。
開發(fā)語言:PHP
安裝要求:
- PHP 7.2.5+
- DBMySQL 5.5+,或MariaDB
- PHP擴展pdo和pdo_mysql,或MySQLi擴展
2.GoAccess
GitHub:https://github.com/allinurl/goaccess
Star:16.8K
GoAccess是一個實時的網(wǎng)絡(luò)日志分析器和交互式查看器,可以在 *nix系統(tǒng)的終端中運行,也可以通過瀏覽器運行。它提供了Web服務(wù)器日志的實時監(jiān)控和分析功能。還提供了可定制的儀表盤、訪問者行為的詳細報告、數(shù)據(jù)過濾和搜索等功能。
功能特征:
- 完全實時:所有面板和指標(biāo)在終端上每200 ms更新一次 輸出和HTML輸出上的每一秒。
- 所需的最小配置:您可以只運行它對您的訪問日志文件,選擇日志格式,讓 GoAccess解析訪問日志并顯示統(tǒng)計數(shù)據(jù)。
- 跟蹤應(yīng)用程序響應(yīng)時間:跟蹤處理請求所用的時間。非常有用,如果你想 跟蹤減慢您網(wǎng)站速度的頁面。
- 監(jiān)控幾乎所有的網(wǎng)絡(luò)日志:GoAccess允許任何自定義日志格式字符串。預(yù)定義選項包括, Apache,Nginx,Amazon S3,Elastic Load Balancing,CloudFront等
- 增量日志處理:需要數(shù)據(jù)持久性?GoAccess能夠以增量方式處理日志 通過磁盤上的持久性選項。
- 只有一個依賴:GoAccess是用C寫的。要運行它,您只需要ncurses作為依賴項。就是這樣,它甚至有自己的Web Socket服務(wù)器-http://gwsocket.io/。
- 游客訪問:確定最慢的訪問量、訪問者、帶寬和指標(biāo) 按小時或日期運行請求。
- 虛擬主機:是否有多個虛擬服務(wù)器(服務(wù)器塊)?它用一個面板顯示哪一個虛擬主機占用了大部分Web服務(wù)器資源。
- 自治系統(tǒng)號映射:非常適合檢測惡意流量模式并相應(yīng)地阻止它們。
- 顏色方案可定制:定制GoAccess以適合您自己的色彩方案。無論是通過 終端,或者簡單地在HTML輸出上應(yīng)用樣式表。
- 支持大型數(shù)據(jù)集:GoAccess具有解析大型日志的能力,因為它的優(yōu)化 內(nèi)存哈希表。它有很好的內(nèi)存使用和相當(dāng)不錯的 性能這種存儲也支持磁盤上的持久性。
- Docker支持:能夠構(gòu)建GoAccess的Docker鏡像。
開發(fā)語言:C
3.umami
GitHub:https://github.com/umami-software/umami
Star: 17.4K
Umami是一個開源的網(wǎng)頁分析工具,Umami提供可定制化以及報表生成功能,十分靈活,支持用戶根據(jù)其特定需求定制分析。
開發(fā)語言:JavaScript、TypeScript
安裝要求:
- Node.js版本16.13+
- MySQL 或者PostgreSQL
4.Plausible Analytics
GitHub:https://github.com/plausible/analytics
Star:16.7
Plausible Analytics是一個易于使用,輕量級(1 KB),提供了基本的網(wǎng)頁分析功能,包括:瀏覽量、跳出率、推薦來源以及實時分析等。完全符合GDPR,CCPA和PECR。
開發(fā)語言:Elixir、JavaScript
5.PostHog
GitHub:https://github.com/PostHog/posthog
Star:14.3K
PostHog是一個開源的網(wǎng)絡(luò)分析工具,允許企業(yè)和網(wǎng)站所有者跟蹤和分析他們網(wǎng)站上的用戶行為。它提供了事件跟蹤、用戶細分和隊列分析等功能。
開發(fā)語言:Python、TypeScript
6.Fathom Analytics
GitHub:https://github.com/usefathom/fathom
Star:7.4K
Fathom Analytics是一個開源的網(wǎng)絡(luò)分析工具,F(xiàn)athom不使用Cookie跟蹤個人用戶,而是匯總數(shù)據(jù)以提供匿名分析。另外,F(xiàn)athom的用戶界面非常簡單易用。
開發(fā)語言:Go、TypeScript
7.Countly
GitHub:https://github.com/Countly/countly-server
Star:5.3K
Countly是一個開源的Web或移動應(yīng)用分析平臺,提供了用戶行為與參與度的全面視圖,包括:用戶統(tǒng)計信息、設(shè)備信息、會話長度信息等。其實Countly更專注于移動的應(yīng)用程序分析。
開發(fā)語言:JavaScript
8.Ackee
GitHub:https://github.com/electerious/Ackee
Star:4K
Ackee是一個輕量級開源Web分析工具,提供了獨立訪問者和訪問者頁面視圖。
功能特征:
- 自托管:Ackee可以在自己的服務(wù)器上安裝、運行,并且100%開源。
- 先進的技術(shù):使用輕量級Node.js和MongoDB架構(gòu)開發(fā)。
- UI美觀:最小和集中的界面。
- 無需cookie:無唯一用戶跟蹤,因此無需cookie。
- 事件跟蹤:跟蹤按鈕點擊、新聞稿訂閱等。
- 支持GraphQL API:完全文檔化的GraphQL API,允許您在Ackee上構(gòu)建新工具。
開發(fā)語言:JavaScript
9.GoatCounter
GitHub:https://github.com/arp242/goatcounter
Star:3.7K
GoatCounter是一個輕量級、注重數(shù)據(jù)隱私、易于使用的Web分析工具。
功能特征:
- 注重隱私:不跟蹤具有唯一標(biāo)識符的用戶, 需要GDPR通知。對收集的數(shù)據(jù)進行細粒度控制。
- 既輕量級又快速:僅向您的網(wǎng)站添加約3.5K的額外數(shù)據(jù)。也 有JavaScript免費的“跟蹤像素”選項,或者您可以使用它從您的 應(yīng)用程序的中間件或從日志文件導(dǎo)入。
- 使用不可識別的散列來識別沒有Cookie的唯一訪問 。
- 保存有用的統(tǒng)計信息,如瀏覽器信息、位置和 屏幕尺寸。跟蹤推薦網(wǎng)站和廣告活動。
- 簡單:如果你被無數(shù)的選擇和靈活性所迷惑,那么GoatCounter將是一個較為簡單的選擇。
- 可訪問性:界面運行良好 使用屏幕閱讀器等輔助技術(shù)。
- 100%開源:您可以確切地看到代碼的功能, 進行改進,或出于任何目的自行托管它。
- 自己掌握自己數(shù)據(jù):您可以隨時導(dǎo)出所有數(shù)據(jù)并隨時取消。
- 只需一個腳本標(biāo)簽即可在您的網(wǎng)站上集成:
<script data-goatcounter="https://yoursite.goatcounter.com/count"
async src="http://gc.zgo.at/count.js"></script>
- JavaScript集成對于大多數(shù)人來說都是一個不錯的選擇,但是您也可以使用 無JavaScript基于圖像的跟蹤器,將其集成到您的后端 中間件或解析日志文件。
開發(fā)語言:Go、JavaScript
10.Open Web Analytics
GitHub:https://github.com/Open-Web-Analytics/Open-Web-Analytics
Star:2.2K
Open Web Analytics(OWA)是一個免費開源Web分析工具,提供與Google Analytics類似的功能,例如跟蹤網(wǎng)站流量和用戶行為。
功能特征:
- 跟蹤訪問者、頁面瀏覽量、電子商務(wù)交易和可配置操作
- 使用單個OWA服務(wù)器實例跟蹤無限數(shù)量的網(wǎng)站
- 客戶端JavaScript跟蹤器
- 提供報表、儀表盤門戶
- 查看和自定義所有報表
- Heatmaps地圖
- 生成“Domstream”會話記錄
- 記錄訪客的地理位置
- 提供用于管理和訪問數(shù)據(jù)的REST API
- 多用戶界面
- 支持自定義模塊擴展框架
開發(fā)語言:PHP、JavaScript
11.Offen
GitHub:https://github.com/offen/offen
Star:765
Offen Fair Web Analytics使用一種分散的方法,允許網(wǎng)站所有者在自己的服務(wù)器上收集和存儲數(shù)據(jù),讓他們完全控制自己的數(shù)據(jù)。Offen還提供審計日志功能,允許網(wǎng)站所有者查看其數(shù)據(jù)的使用情況。
開發(fā)語言:Go、JavaScript
12.Pirsch
GitHub:https://github.com/pirsch-analytics/pirsch
Star:773
Pirsch提供了實時跟蹤、自定義事件以及高級過濾和分段等功能。
Pirsch為每個訪問者生成唯一的指紋。指紋是訪問者IP地址、用戶代理、日期和鹽的散列。跟蹤內(nèi)容不會侵犯訪用戶的隱私。它不使用cookie,也不存儲任何個人信息,使其符合GDPR、CCPA和PECR。如果在服務(wù)器端使用,Pirsch還可以使用廣告攔截器跟蹤訪問者。
開發(fā)語言:Go