这个项目能做什么
这是一个 CDK 无服务器网站分析构造,在 AWS 上部署全栈解决方案。它会创建前端仪表盘、后端 API 和摄取管道,以追踪网站流量和用户交互。专为低到中等流量的网站设计(最高可达 1000 万页面浏览量),强调低成本、隐私(不存储 PII)和易于部署。
功能包括带页面停留时间的页面浏览追踪、事件追踪、带警报的异常检测、自定义域名支持以及三种身份验证选项(无、基本认证、AWS Cognito)。追踪来源、按国家/城市的地理位置、设备类型、UTM 参数和查询参数。内置机器人检测。可通过独立的 JavaScript 代码片段或适用于任何前端框架的 SDK 进行集成。
架构由托管在 S3/CloudFront 的 Vue 3 前端、使用 Lambda Function URLs 和 tRPC 的 TypeScript 后端,以及通过 Kinesis Firehose 将事件缓冲到 S3 中分区的 Parquet 文件的摄取 API 组成。数据通过 Athena 查询。位置数据来源于 MaxMind GeoLite2,且不存储 IP 地址。
部署需要 `aws-cdk` 和 `aws-cdk-lib` > 2.79.1。安装 npm 包后,用户在 CDK 堆栈中定义该构造,配置站点、来源、身份验证、域名、可观测性和异常检测。客户端设置涉及添加脚本标签或在应用中初始化 SDK。
成本估算提供了各种流量级别的数据,由于每日数据真空流程,最坏情况预测显著高于实际成本。从 v0 升级到 v1 涉及与分区和 DNS 记录 ID 相关的破坏性更改。
文档包括设计决策、贡献指南和详细的成本分解。提供在线演示。
评论
0 评分人数达到10人后显示
登录后参与讨论。