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