搬瓦工部署 PostHog 产品分析平台教程
PostHog 是一款开源的产品分析平台,被视为 Google Analytics、Mixpanel 和 Amplitude 的自托管替代品。它将产品分析、会话回放、功能开关(Feature Flags)、A/B 测试和用户调查整合在一个平台中,帮助产品团队深入理解用户行为并做出数据驱动的决策。PostHog 使用 ClickHouse 作为分析引擎,能够处理海量事件数据。本文将介绍如何在搬瓦工 VPS 上部署 PostHog。部署前请确保已安装 Docker 和 Docker Compose。
一、PostHog 核心功能
- 产品分析:趋势图、漏斗分析、留存分析、用户路径分析。
- 会话回放:录制并回放用户的真实操作过程。
- 功能开关:按用户群体灰度发布新功能。
- A/B 测试:实验平台,测试不同方案的效果。
- 用户调查:在产品中嵌入调查问卷收集用户反馈。
- 热力图:可视化用户在页面上的点击和滚动行为。
- SQL 查询:直接编写 SQL 对原始事件数据进行分析。
二、系统要求
- 操作系统:Ubuntu 20.04+ 或 Debian 11+。
- 内存:至少 4GB,推荐 8GB(ClickHouse + Kafka 需要较多资源)。
- CPU:至少 2 核。
- 磁盘:至少 30GB 可用空间。
- Docker:Docker 和 Docker Compose。
建议选择搬瓦工高配方案。购买时使用优惠码 NODESEEK2026 可享 6.77% 折扣,购买入口:bwh81.net。
三、使用官方安装脚本
cd /opt
git clone https://github.com/PostHog/posthog.git
cd posthog
四、配置环境变量
cat > /opt/posthog/.env <<'EOF'
SECRET_KEY=your_secret_key_here
SITE_URL=https://your_domain.com
IS_BEHIND_PROXY=true
DISABLE_SECURE_SSL_REDIRECT=true
EOF
生成密钥:
openssl rand -hex 32
五、启动服务
cd /opt/posthog
docker compose -f docker-compose.hobby.yml up -d
PostHog 自带了所有需要的组件(ClickHouse、Kafka、PostgreSQL、Redis 等),首次启动可能需要较长时间下载镜像。
访问 http://your_server_ip:8000,创建管理员账户并完成初始设置。
六、接入前端 SDK
// npm install posthog-js
import posthog from 'posthog-js';
posthog.init('your_project_api_key', {
api_host: 'https://your_domain.com',
autocapture: true,
capture_pageview: true,
capture_pageleave: true,
session_recording: {
recordCrossOriginIframes: true,
},
});
// 标识用户
posthog.identify('user_id_123', {
email: 'user@example.com',
name: '张三',
plan: 'premium',
});
// 追踪自定义事件
posthog.capture('purchase_completed', {
product_name: 'VPS Plan',
price: 49.99,
currency: 'USD',
});
七、后端事件追踪
# pip install posthog
from posthog import Posthog
posthog = Posthog(
project_api_key='your_project_api_key',
host='https://your_domain.com'
)
posthog.capture(
distinct_id='user_id_123',
event='order_created',
properties={
'order_id': 'ORD-001',
'total_amount': 99.99,
}
)
八、配置反向代理
cat > /etc/nginx/sites-available/posthog <<'EOF'
server {
listen 80;
server_name your_domain.com;
location / {
proxy_pass http://127.0.0.1:8000;
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;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
EOF
ln -s /etc/nginx/sites-available/posthog /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx
certbot --nginx -d your_domain.com
九、使用分析功能
- 趋势:查看事件随时间的变化趋势,支持按属性分组。
- 漏斗:分析用户在多步骤流程中的转化率。
- 留存:追踪用户在首次操作后的回访情况。
- 路径:可视化用户在产品中的行为路径。
- 仪表板:将多个分析组合到一个仪表板中。
十、常见问题
事件数据未出现
确认 SDK 的 api_host 和 project_api_key 配置正确。在浏览器开发者工具的 Network 面板中检查 PostHog 的 API 请求是否成功。
ClickHouse 磁盘空间不足
在 PostHog 管理界面中配置事件数据的保留策略,或定期清理旧数据。
总结
PostHog 是目前功能最全面的开源产品分析平台,集成了分析、回放、实验等多种能力。虽然资源需求较高,但它一个平台就能替代多个商业工具。如果你只需要移动端分析,可以参考 Countly;如果只需要错误追踪,参考 Sentry。选购搬瓦工 VPS 使用优惠码 NODESEEK2026 可享 6.77% 折扣。