SensorFlow 快速开始
从获取开源服务、安装许可证到接入神策 SDK,并在 ClickHouse 与 Superset 中验证完整数据链路。
完整数据链路
SensorFlow 将采集、接收、存储和分析部署在你自己的服务器中。
- 神策官方各端 SDK 负责采集 Android、iOS、Web、小程序和服务端事件。
- SensorFlow 接收服务校验并处理事件。
- ClickHouse 保存事件与用户明细,Apache Superset 提供 SQL、图表和运营看板。
神策官方 SDK -> SensorFlow 接收服务 -> ClickHouse -> Apache Superset系统要求
验证环境可从单机开始,生产环境按事件量和查询压力扩展。
- 最低建议:4 核 CPU、8 GB 内存、100 GB SSD。
- 生产起步:8 核 CPU、16 GB 内存、500 GB SSD。
- 安装 Docker Engine 或 Docker Desktop、Docker Compose,以及 Go 1.19 或更高版本。
1. 获取开源服务
克隆 SensorFlow 开源仓库并进入项目根目录。
git clone https://github.com/data-analyze-bi/sensors.git
cd sensors2. 启动数据基础设施
Docker Compose 会启动 MySQL、Redis、ClickHouse 与 Apache Superset。
- 接收服务默认端口:8081。
- ClickHouse 默认端口:8123 / 9000。
- Superset 默认地址:http://127.0.0.1:8088。
- 首次启动后请修改 Superset 默认密码,并在生产环境设置独立的 SUPERSET_SECRET_KEY。
cd deploy/docker
docker compose up -d --build
docker compose ps
cd ../..3. 下载并安装许可证
在运营控制台生成许可证,下载许可证文件和配置,然后放入开源仓库的固定目录。
- 许可证文件固定保存为 binaries/sensors-payload-decoder。
- 许可证配置固定保存到 binaries/ 目录。
- 下载文件不应提交到 Git;续费或更新后覆盖旧文件并重新授权执行权限。
mkdir -p binaries
mv ~/Downloads/sensors-payload-decoder-* binaries/sensors-payload-decoder
mv ~/Downloads/*.verify.json binaries/
chmod +x binaries/sensors-payload-decoder4. 配置并启动接收服务
确认 conf/app.conf 中的许可证路径,再下载依赖并启动。
- Redis 与 ClickHouse 地址按部署环境修改。
- 生产环境建议通过 HTTPS 暴露事件接收地址。
# conf/app.conf
decoder_binary_path = ./binaries/sensors-payload-decoder
go mod download
go run main.go5. 接入神策官方 SDK
本项目不发布自研客户端 SDK,请选择业务端对应的神策官方 SDK,并将上报地址指向 SensorFlow。
- ⚠️ 关于第三方 SDK 兼容性的重要说明:兼容标准上报流程不代表神策官方认证;SDK 版本、加密插件、可视化埋点和全埋点功能需先在测试环境验证。
- 客户端支持 Android、iOS、Web、微信小程序与 React Native;服务端按业务语言选择 Java、Go、Python、Node.js 或 PHP 官方 SDK。
- 保留现有事件名、登录 ID 和属性类型,验证接收、用户关联、ClickHouse 入库与 Superset 指标后再切换生产。
https://your-domain.example/sensors/send/?token=YOUR_TOKEN6. 验证 ClickHouse 数据
发送测试事件后,在 ClickHouse 查询事件是否已经入库。
SELECT event, count() AS event_count
FROM sensors.event
GROUP BY event
ORDER BY event_count DESC
LIMIT 20;7. 使用 Superset 分析
打开 Superset,选择已配置的 ClickHouse 数据库,即可通过 SQL Lab、数据集、图表和看板分析数据。
- 查看日活、注册、登录、事件趋势等常用运营指标。
- 组合漏斗、留存、路径与分群看板。
- 按团队、项目或数据集配置访问权限。
更新与运维
停止接收服务后再替换许可证,重新赋予执行权限并启动服务。
- 定期备份 MySQL、ClickHouse 和 Superset 元数据。
- 监控接收失败、ClickHouse 磁盘水位、写入延迟与查询耗时。
- 许可证到期前在控制台续费,累计有效期会在现有截止时间后顺延。