Umami 作为一款开源、轻量且注重隐私保护的网站分析工具,正逐渐成为 Google Analytics 等商业解决方案的理想替代者。本文将全面剖析 Umami 的技术特性、部署流程与实战技巧,帮助开发者构建自主可控的数据分析体系。
- 官方文档:umami.zhcndoc.com 提供中文指南
- GitHub 仓库:github.com/umami-softw…
Umami 核心优势与技术特性
- 核心优势
- 隐私保护:不使用跟踪 Cookie,不收集个人身份信息 (PII),数据均匿名化处理,符合 GDPR、CCPA 等隐私法规,且跟踪脚本仅 2KB 并部署在自有域名下,不易被广告拦截器拦截。
- 资源效率:前端采用 React 框架,后端用 Node.js,单服务器可支撑日均百万级访问量的网站分析。
- 数据主权:采用 Node.js 后端与 React 前端技术栈,将数据存储在用户自主管理的 MySQL 或 PostgreSQL 数据库中,避免第三方数据泄露风险。
- 功能点
- 基础功能:涵盖流量趋势、访客地理位置、设备分布等核心指标。
- 高级特性:支持自定义事件跟踪(如按钮点击、表单提交)、实时数据监控和多维度过滤功能。
- 特色功能:2025 年 5 月推出的 Attribution 报告,能追踪用户来源渠道与转化价值,助力优化营销支出。
基于 Docker 部署
本文给出的是基于预编译 docker 镜像进行部署,使用的是 Mysql 版。
拉取镜像
sudo docker pull ghcr.nju.edu.cn/umami-software/umami:mysql-latest
启动容器
sudo docker run -d \
--name umami \
-p 3000:3000 \
-e DATABASE_URL=mysql://root:123456@localhost:3306/umami \
-e DATABASE_TYPE=mysql \
ghcr.nju.edu.cn/umami-software/umami:mysql-latest
初始化配置
- 立即修改密码:进入Settings → Profile → Change Password
- 切换语言:点击页面顶部地球图标选择 "中文"
后续按照官方文档指南,完成网站的创建、数据收集脚本的植入等操作即可。
配置反向代理(可选)
HTTPS 配置:通过 Nginx 反向代理实现支持 https 访问。
server {
listen 443 ssl;
server_name localhost;
# 指定证书和私钥路径
ssl_certificate /etc/nginx/ssl/example.com_bundle.crt;
ssl_certificate_key /etc/nginx/ssl/example.com.key;
ssl_protocols TLSv1.2 TLSv1.3;
# Umami 分析平台转发配置
location /umami/ {
proxy_pass http://localhost:3000/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
效果演示
展望
Umami 作为活跃的开源项目,其发展路线图反映了隐私优先的分析工具的演进方向。根据 2025 年 roadmap,即将推出的功能包括不限于:
- 增强型漏斗分析:可视化用户转化路径中的流失点
- 机器学习异常检测:自动识别流量异常与潜在攻击
- 更精细的权限管理:支持按网站分配团队成员权限
Umami 的成功证明了开源模式在隐私敏感领域的独特价值。通过将数据控制权交还给用户,同时保持功能完整性与易用性,它重新定义了网站分析工具的设计范式。无论是个人博客还是企业级应用,Umami 都提供了一个兼顾合规性、性能与成本效益的理想选择。