网站分析工具 Umami 的详细分析
参考资料
网站分析工具 Umami 的详细分析
以下是关于开源网站分析工具 Umami 的详细分析,涵盖核心参数功能、开源项目必备组件、部署方式及注意事项:
一、Umami 核心参数功能解析
Umami 专注于简洁、隐私友好的网站分析,其参数设计围绕核心指标,避免过度追踪:
参数类别 | 关键指标 | 功能说明 |
---|---|---|
流量分析 | 浏览量 (Pageviews) | 页面被加载的次数,支持实时更新。 |
独立访客 (Unique Visitors) | 基于 Cookie 或 IP+User Agent 去重(默认使用匿名哈希,隐私优先)。 | |
会话 (Sessions) | 用户连续活动的周期(默认 30 分钟无操作结束)。 | |
来源追踪 | 来源 (Referrers) | 流量来源域名(如 Google、直接访问)。 |
设备 & 浏览器 | 设备类型(桌面/移动)、浏览器、操作系统。 | |
内容分析 | 热门页面 (Top Pages) | 按浏览量排序的页面排名。 |
入口页/退出页 | 用户首次访问和最后离开的页面。 | |
用户行为 | 平均停留时长 | 用户平均在网站停留的时间。 |
跳出率 (Bounce Rate) | 单页面访问会话占比(Umami 无事件触发即视为跳出)。 | |
自定义事件 | 事件追踪 (Events) | 通过 umami.track() 自定义事件(如按钮点击、表单提交)。 |
二、开源项目必备组件
部署 Umami 需以下技术栈支持:
数据库:
PostgreSQL(≥ v12):主推选择,性能稳定。
MySQL(≥ 8.0)或 SQLite(仅适合轻量测试)。
Node.js 环境:
需 Node.js v16 或更高版本。
Web 服务器:
前端:React (Next.js) 构建的 SPA。
后端:Node.js (Express) API 服务。
环境变量:
必须配置
DATABASE_URL
(数据库连接串)、HASH_SALT
(加密盐值)。可选:
APP_PORT
、CLOUD_MODE
(禁用注册)等。
✅ 隐私特性:无 Cookie 横幅(符合 GDPR)、IP 匿名化、禁用用户指纹追踪。
三、部署方式详解
1. 一键托管方案(最快入门)
免费计划可用,自动关联 GitHub 仓库。
需配置 PostgreSQL 数据库(如 Supabase/Aiven)。
提供 PostgreSQL + Umami 一站式部署。
2. 自托管方案(推荐生产环境)
Docker 部署(首选)
# 创建 docker-compose.yml version: '3' services: umami: image: ghcr.io/umami-software/umami:postgresql-latest ports: - "3000:3000" environment: DATABASE_URL: postgresql://umami:password@db:5432/umami HASH_SALT: your-random-salt depends_on: - db db: image: postgres:15-alpine environment: POSTGRES_DB: umami POSTGRES_USER: umami POSTGRES_PASSWORD: password volumes: - umami-db-data:/var/lib/postgresql/data volumes: umami-db-data:
运行:docker-compose up -d
手动部署(Node.js 环境)
# 克隆仓库 git clone https://github.com/umami-software/umami.git cd umami # 安装依赖 npm install # 创建 .env 文件(配置数据库等参数) echo "DATABASE_URL=postgresql://user:pass@localhost:5432/umami" >> .env echo "HASH_SALT=your-salt" >> .env # 构建并启动 npm run build npm start
3. Kubernetes 部署(企业级)
# umami-deployment.yaml apiVersion: apps/v1 kind: Deployment metadata: name: umami spec: replicas: 2 template: spec: containers: - name: umami image: ghcr.io/umami-software/umami:postgresql-latest env: - name: DATABASE_URL value: "postgresql://user:pass@postgres-service:5432/umami" - name: HASH_SALT valueFrom: secretKeyRef: name: umami-secrets key: hash-salt --- # 需独立部署 PostgreSQL StatefulSet 及 Secret
四、高级配置与集成
反向代理(Nginx):
server { listen 80; server_name analytics.yourdomain.com; location / { proxy_pass http://localhost:3000; proxy_set_header Host $host; } }
数据收集脚本:
<script async src="https://analytics.yourdomain.com/script.js" data-website-id="YOUR_WEBSITE_UUID" ></script>
多站点管理:
在 Umami 控制台添加多个
website_id
,为不同站点生成独立脚本。
五、常见问题与优化
数据持久化:Docker 部署务必挂载 PostgreSQL 卷,避免重启丢失数据。
性能瓶颈:超过 10 万条记录建议启用数据库索引优化。
安全加固:
通过
CLOUD_MODE=1
禁用用户注册(仅管理员可添加账号)。定期更新镜像版本(GitHub Releases)。
备份策略:定时导出 PostgreSQL 数据(
pg_dump
)或启用云数据库自动备份。
六、替代方案对比
工具 | 隐私合规 | 部署复杂度 | 实时性 | 成本 |
---|---|---|---|---|
Umami | ✅ | 中 | ✅ | 免费+自托管 |
Google Analytics | ❌ | SaaS | ✅ | 免费(受限) |
Plausible | ✅ | 低(SaaS) | ✅ | 付费 |
Matomo | ✅ | 高 | ✅ | 自托管/付费 |
💡 结论:Umami 是注重隐私、追求轻量化且具备完全控制权的理想选择,适合技术团队自建分析平台。
部署后可通过 http://your-server:3000
访问控制台(默认账号:admin
/ umami
)。