你有没有过这样的经历?辛辛苦苦做了个博客或小工具,上线后却不知道谁在用、从哪来、停留多久。别急着接入那些动不动就弹窗授权的商业统计服务,其实有不少开源的在线用户统计项目,既能保护隐私,又能掌握数据主动权。
为什么选择开源用户统计?
很多主流分析平台虽然功能强大,但数据掌握在别人手里,还可能涉及隐私合规问题。特别是国内对个人信息保护越来越严格,自建一套轻量级统计系统,反而更安心。比如你朋友老张做了一个本地生活小页面,只想知道每天有多少人点开、来自哪个城市,没必要上全套 Google Analytics 那套复杂体系。
Fathom Analytics:简洁直观的首选
Fathom 是近年来很受欢迎的一个开源项目,界面清爽,不收集个人身份信息,符合 GDPR 要求。它用 JavaScript 埋点,部署简单,支持 Docker 一键启动。
在页面底部加入如下代码即可:
<script src="https://your-fathom-instance.com/tracker.js" data-site-id="ABC123" defer></script>
<script>
window.fathom = window.fathom || function() {
(window.fathom.q = window.fathom.q || []).push(arguments);
};
</script>
它的仪表盘能清晰展示访问来源、设备类型和热门页面,适合中小型项目日常监控。
Umami:现代设计,支持多平台
如果你喜欢现代化 UI,Umami 值得一试。它基于 React 和 Next.js 构建,支持 PostgreSQL 和 MySQL,也提供 Docker 镜像。注册账号后可以管理多个网站,权限控制也比较灵活。
安装命令示例:
docker run -d --name umami -p 3000:3000 -e DATABASE_URL=postgresql://user:pass@localhost:5432/umami -e SECRET_KEY=your-secret-key umami/umami:latest
它不会追踪 IP 地址,也不会记录键盘行为,主打一个“够用就好”。适合个人开发者或小团队使用。
GoatCounter:极简主义者的最爱
GoatCounter 更进一步,几乎只保留最核心的统计功能。它由一位独立开发者维护,强调低资源消耗和长期可维护性。即使你的服务器只有 512MB 内存,也能跑得动。
它的 API 设计干净,可以通过 curl 手动上报数据:
curl "https://your-code.goatcounter.com/count?&p=%2Fhome&ref=https%3A%2F%2Fgoogle.com"
虽然图表不如其他工具炫酷,但胜在稳定、省心。就像家里那台用了五年的电饭煲,不花哨,但从不出错。
怎么选?看你的实际需求
如果你想要开箱即用、界面好看,选 Umami;追求极致简洁和合规,GoatCounter 更合适;想要平衡功能与易用性,Fathom 是稳妥选择。这些项目都在 GitHub 上活跃更新,文档齐全,遇到问题也能在社区找到答案。
自建统计不只是技术尝试,更是一种态度——数据该由自己掌控。下次再想加个“访问量”功能时,不妨试试这些开源方案,说不定就打开了新世界的大门。