尧图精选

Go + ClickHouse 搭建自托管埋点分析平台:从事件接收到 Superset 看板

🕒 发布时间:2026/9/15 6:39:02 📁 来源:尧图网络
文章目录一、整体架构二、启动前准备三、启动数据基础设施四、发送并验证第一条事件五、上线前检查清单六、适用范围与取舍当 Web、App、小程序和服务端已经有埋点后团队常遇到三个问题事件数据保存在哪里指标口径能否直接检查更换后端时是否必须重写所有客户端SensorFlow 提供了一条开源自托管链路Go 接收事件ClickHouse 存储和查询Redis 支撑接收流程Apache Superset 制作 SQL 图表与看板。一、整体架构数据流为神策官方 SDK → SensorFlow 接收接口 → ClickHouse → SupersetSensorFlow 不发布自研客户端 SDK。已有神策官方 SDK 项目可在测试环境修改serverUrl将标准事件发送到 SensorFlow。这样可以先迁移服务端数据链路再评估客户端调整。二、启动前准备本地验证需要 Docker、Docker Compose 和 Go 1.17 或更高版本。基础设施包含 ClickHouse、Redis 和 SupersetGo 接收服务独立运行默认监听8081。生产环境不要直接使用示例配置。至少需要设置 ClickHouse、Redis、Superset 管理员密码及独立的SUPERSET_SECRET_KEY并在接收地址前配置 HTTPS 与访问控制。三、启动数据基础设施进入项目的 Docker 部署目录按文档设置必需环境变量后执行dockercompose up-d默认情况下ClickHouse 提供8123/9000端口Redis 使用6379Superset 使用8088。随后检查conf/app.conf中的 Redis 与 ClickHouse 连接配置再启动 Go 服务go run main.go四、发送并验证第一条事件不要一上来切换生产流量。建议先发送一条integration_test附带platform、environment等容易识别的属性然后完成三层验证接收接口返回是否符合预期ClickHouse 的sensors.event是否出现事件属性类型和用户标识是否正确Superset SQL Lab 是否可以查询并生成事件量趋势图。在 Superset 中可以先执行最小查询SELECTevent,count()ASevent_countFROMsensors.eventGROUPBYeventORDERBYevent_countDESC;确认数据正确后再逐步构建日事件量、独立设备、注册转化等看板。五、上线前检查清单核对匿名 ID、登录 ID 和跨端身份关联核对数值、字符串、布尔值及时间属性类型验证客户端时间、服务端时间、时区和迟到事件小流量灰度并保留旧接收地址和回滚能力配置监控、日志、备份恢复和容量告警对加密插件、可视化埋点、全埋点及不同 SDK 版本单独测试。六、适用范围与取舍这套方案适合重视数据驻留、希望直接使用 ClickHouse SQL、且具备基础运维能力的团队。它不会自动替代成熟产品分析平台的会话回放、实验、Feature Flag 或全部无代码分析能力如果目标只是轻量网站访问统计也有更简单的工具。SensorFlow 是独立开源项目与神策数据不存在关联、背书或官方认证关系。所谓兼容指标准事件上报流程具体 SDK 版本和扩展功能仍须测试。项目文档https://sensorflow.site/docs
上一篇/下一篇内容由系统自动关联 返回资讯列表 →