一鍵部署 Umami 統計個人網站訪問數據

談到網站統計,大家第一時間想到的肯定是 Google Analytics。然而,我們都知道 Google Analytics 會收集所有用戶的信息,對數據沒有任何控制和隱私保護。

Google Analytics 收集的指標實在是太多了,有很多都是不必要的,沒有博士學位可能都不太容易理解這些指標。

相比較而言,開源的網站統計工具可能更適合我們,他們可以私有化部署,同時尊重用戶的隱私,可以完全控制自己的數據。這其中的佼佼者便是 Umami 與 Plausible。其中 Umami 架構更簡潔,也更容易部署。具體優勢如下:

  • 簡單易用,只跟蹤關鍵指標,數據清晰易讀。
  • 可無限追蹤網站和子域名,不受數量限制。
  • 自托管部署可以繞過廣告攔截器,有效避免 Google Analytics 等廣告攔截器。
  • 代碼輕量,追蹤腳本只有 2KB,支持 IE 等舊版瀏覽器。
  • 支持多用戶賬號,提供共享鏈接,可以公開分享統計數據。
  • 頁面針對移動設備優化,可隨時隨地查看統計數據。
  • 數據自主可控,不需要交給第三方,注重隱私。
  • 代碼采用 MIT 開源協議,開發者友好。
  • 支持多語言,內置黑暗模式。
  • API 開發友好,可以定制跟蹤配置。

Umami 的數據都存放在數據庫中,支持 MySQL、PostgreSQL 和 Clickhouse,對于小白來說部署起來還是有點小復雜。不過有了 Sealos 一鍵部署模板,這個問題就比較簡單了,動動鼠標就行了,3 分鐘即可解決戰斗

一鍵部署 Umami

首先通過以下鏈接打開 Umami 的應用模板:

https://cloud.sealos.io/?openapp=system-fastdeploy%3FtemplateName%3Dumami

只需要填一個參數 APP SECRET 即可,這個參數的值隨便填一個字符串就行。然后直接點擊「部署應用」。

部署完成后,點擊確認跳轉到應用詳情頁面,你會發現應用無法啟動,因為這個模板同時創建了 PostgreSQL 數據庫和應用,而數據庫目前還不具備自定義初始化數據庫的能力,等數據庫后端升級到下個版本就可以自定義數據庫啦,目前暫時需要我們稍微手動操作一下。

首先打開「數據庫」:

進入 umami 數據庫的詳情頁面:

直接點擊「一鍵鏈接」:

便會進入數據庫的終端:

通過以下命令新建一個數據庫 umami

create database umami;

最后退出終端,打開「應用管理」,進入 umami 應用的詳情頁面,可以看到應用已經啟動成功了。查看日志:

接入 Umami

點擊外網地址即可直接打開 Umami 的 Web 界面:

默認的用戶名是 admin,密碼是 umami

進入管理界面后,要先創建一個網站:

點擊「編輯」進入網站設置,復制跟蹤代碼,到自己網站的 <head> 內粘貼即可。

最終效果如下:

重寫路徑

Umami 是一個極其尊重隱私的網站統計服務,它與廣告技術和監視資本主義無關,也不會收集任何個人數據。即便如此,它還是有可能會被某些廣告過濾規則所屏蔽

為了避免被廣告過濾器誤殺,我們可以重寫 js 腳本的路徑,按照官方文檔,我們只需要添加一個環境變量即可。

Sealos 添加環境變量非常簡單,在應用詳情頁面中點擊「變更」:

展開高級配置,點擊「編輯環境變量」:

添加環境變量 TRACKER_SCRIPT_NAME=xxx,這個值可以隨便寫,也不需要以 .js 作為后綴,這樣更容易繞過廣告過濾器的檢測。

確認之后,點擊「變更」,等待實例重新啟動成功。再次打開 Web 界面,你會看到跟蹤代碼里的 js 鏈接已經變了:

Sealos 也提供了 Plausible 的一鍵部署模板,對 Plausible 感興趣的小伙伴可以去試試:

  • https://cloud.sealos.io/?openapp=system-fastdeploy%3FtemplateName%3Dplausible

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/35760.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/35760.shtml
英文地址,請注明出處:http://en.pswp.cn/news/35760.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Javascript 深入了解map

map() 是 JavaScript 數組提供的一個高階函數&#xff0c;它用于對數組中的每個元素執行指定的函數&#xff0c;并返回一個新的數組&#xff0c;新數組中的元素是原數組中的每個元素經過函數處理后的結果。 map() 函數的語法如下&#xff1a; javascript array.map(callback(…

Multi-object navigation in real environments using hybrid policies 論文閱讀

論文信息 題目&#xff1a;Multi-object navigation in real environments using hybrid policies 作者&#xff1a;Assem Sadek, Guillaume Bono 來源&#xff1a;CVPR 時間&#xff1a;2023 Abstract 機器人技術中的導航問題通常是通過 SLAM 和規劃的結合來解決的。 最近…

優化堆排序(Java 實例代碼)

目錄 優化堆排序 Java 實例代碼 src/runoob/heap/HeapSort.java 文件代碼&#xff1a; 優化堆排序 上一節的堆排序&#xff0c;我們開辟了額外的空間進行構造堆和對堆進行排序。這一小節&#xff0c;我們進行優化&#xff0c;使用原地堆排序。 對于一個最大堆&#xff0c;首…

【設計模式】-策略模式:優雅處理條件邏輯

Java 策略模式之優雅處理條件邏輯 前言 在軟件開發中&#xff0c;我們經常會遇到根據不同的條件執行不同邏輯的情況。這時&#xff0c;策略模式是一種常用的設計模式&#xff0c;能夠使代碼結構清晰、易于擴展和維護。 本文將詳細介紹策略模式的概念及其在Java中的應用&#x…

flume系列之:監控Systemctl托管的flume agent組

flume系列之:監控Systemctl托管的flume agent組 一、需求背景二、相關技術博客三、遠程登陸flume機器四、發送飛書告警五、監控flume agent組狀態一、需求背景 flume接kafka集群,一個kafka集群對應一個flume agent組,會把一組flume agent用systemctl托管每接一個kafka集群會…

pytest 編寫規范

一、pytest 編寫規范 1、介紹 pytest是一個非常成熟的全功能的Python測試框架&#xff0c;主要特點有以下幾點&#xff1a; 1、簡單靈活&#xff0c;容易上手&#xff0c;文檔豐富&#xff1b;2、支持參數化&#xff0c;可以細粒度地控制要測試的測試用例&#xff1b;3、能夠…

差分升級在物聯網水表上的實現與應用(學習)

摘要 當越來越多的物聯網水表加入抄表系統后&#xff0c;實現了水表數據的信息化&#xff0c;并且當水表終端需要技術更新時&#xff0c;通過網絡方式來升級產品可以高效修復設備面臨的問題&#xff0c;減少用戶損失&#xff0c;降低維護成本&#xff0c;但同時也對有限的網絡…

遍歷集合List的五種方法以及如何在遍歷集合過程中安全移除元素

一、遍歷集合List的五種方法 測試數據 List<String> list new ArrayList<>(); list.add("A");list.add("B");list.add("C");1. 普通for循環 普通for循環&#xff0c;通過索引遍歷 for (int i 0; i < list.size(); i) {Syst…

form中表單切換,導致 relus 中的事件無法觸發,原因:頁面切換不要一直切換DOM,會導致問題,需要都顯示出來

修改前&#xff0c;因為重復渲染DOM導致綁定rules失效 修改前代碼使用 computed 計算出渲染的DOM&#xff0c;影響rules事件<el-formref"form"inline:model"billDetailCopy":rules"rules"size"small"label-position"right&quo…

selenium官網文檔閱讀總結(day 4)

1.selenium的工作原理 selenium的工作原理涉及以下主要組件和步驟&#xff1a; &#xff08;1&#xff09;WebDriver:這是selenium的核心組件&#xff0c;它是一個用于控制瀏覽器的API。WebDriver提供了許多方法&#xff0c;用于在瀏覽器中模擬用戶操作。不同的瀏覽器需要相應…

掌握Python的X篇_39_繼承

本篇將會是本專欄關于python基本語法的最后一個知識點&#xff0c;后期將會談python&#xff0c;就會介紹使用python專題&#xff0c;例如&#xff1a;做爬蟲、有架構的網站。 文章目錄 1. 為什么需要繼承2. 繼承的基本概念3. python中繼承的基礎語法4. 總結 1. 為什么需要繼承…

NLP語言模型概覽

語言模型結構分類 Encoder-Decoder&#xff08;Transformer&#xff09;: Encoder 部分是 Masked Multi-Head Self-Attention&#xff0c;Decoder 部分是 Casual Multi-Head Cross-Attention 和 Casual Multi-Head Self-Attention 兼具。比如T5&#xff0c;BART&#xff0c;MA…

騰訊云輕量服務器和云服務器的CPU處理器有差別嗎?

騰訊云輕量應用服務器和CVM云服務器的CPU處理器性能有差別嗎&#xff1f;創建輕量應用服務器時不支持指定底層物理服務器的CPU型號&#xff0c;騰訊云將隨機分配滿足套餐規格的物理CPU型號&#xff0c;通常優先選擇較新代次的CPU型號。而云服務器CVM的CPU處理器型號、主頻都是有…

JAVA設計模式----原型設計模式

文章目錄 一、簡介二、實現方式三、原型模式的注意事項淺拷貝與深拷貝淺拷貝深拷貝一、簡介 定義:用原型實例指定創建對象的種類,并通過拷貝這些原型創建新的對象。 類型:創建類模式 類圖: 原型模式主要用于對象的復制,它的核心是就是類圖中的原型類Prototype。Protot…

下載程序到西門子PLC

更多關于西門子S7-200PLC內容請查看&#xff1a;西門子200系列PLC學習課程大綱 下載西門子200PLC程序分以下兩步&#xff1a; 一.編譯程序 1. 如下圖1-1所示&#xff0c;使用PPI電纜將PLC和電腦連接上&#xff0c;注意筆記本使用USB轉PPI電纜&#xff0c;連接保證給PLC單獨供…

Linux(進程間通信詳解)

進程間通信&#xff0c;顧名思義&#xff0c;就是進程與進程之間互通信交流&#xff0c;OS保證了各進程之間相互獨立&#xff0c;但這不意味著進程與進程之間就互相隔離開&#xff0c;在不少的情況下&#xff0c;進程之間需要相互配合共同完成某項6任務&#xff0c;這就要求各進…

怎樣學會單片機

0、學單片機首先要明白&#xff0c;一個單片機啥也干不了&#xff0c;學單片機的目的是學習怎么用單片機驅動外部設備&#xff0c;比如數碼管&#xff0c;電機&#xff0c;液晶屏等&#xff0c;這個需要外圍電路的配合&#xff0c;所以學習單片機在這個層面上可以等同為學習單片…

JVM:運行時數據區域(白話文)

最近有時間在看一本<深入了解Java虛擬機>的書籍&#xff0c;這本書是一個中國人&#xff0c;名叫周志明的人寫的。相比于其他翻譯過來的技術書籍&#xff0c;這本書還是挺通俗易懂的。先前有和彬哥在聊&#xff0c;他說如果是自己一個人看的話會很枯燥&#xff0c;很難堅…

雙端列表 —— Deque 接口概述,使用ArrayDeque實現隊列和雙端隊列數據結構

Deque接口簡介 Deque譯為雙端隊列&#xff0c;在雙向都能作為隊列來使用&#xff0c;同時可用作棧。Deque接口的方法是對稱成比例的。 Deque接口繼承Queue接口&#xff0c;因此具有Queue&#xff0c;Collection&#xff0c;Iterable的方法屬性。 雙端隊列的工作原理 在常規隊…

前端架構師的能力要求:打造可靠、靈活和可擴展的Web應用

隨著互聯網技術迅猛發展&#xff0c;現代Web應用程序變得越來越復雜且功能強大。作為一名前端架構師&#xff0c;在這個快節奏且競爭激烈的環境中&#xff0c;你需要具備廣泛而深入地技術知識&#xff0c;并且有能力設計、開發和維護高度可靠、靈活和可擴展性強的Web應用。 深入…