Show HN: Minimalytics - 基于 SQLite 构建的极简独立分析应用
Minimalytics 是一个基于 SQLite 的极简独立分析工具,专为资源受限环境设计。它提供事件跟踪、Web UI 和可扩展性,支持每月处理超过 10 亿个事件,存储占用极小。用户可以通过 API 记录事件,并在 Web 仪表盘上查看数据。Minimalytics 通过聚合事件和 SQLite 存储实现轻量高效。未来计划包括支持更多指标和改进 UI/UX。该项目采用 MIT License,欢迎贡献。
nafey/minimalytics
- Notifications You must be signed in to change notification settings
- Fork 0
- Star 78
License
MIT license 78 stars 0 forks master BranchesTags
Minimalytics
Minimalytics 是一个基于 SQLite 构建的独立极简分析工具。专为资源受限环境设计,它提供了一个轻量级的解决方案,用于以最小的资源占用跟踪和可视化事件数据。无论您是跟踪内部服务还是需要一个简单的分析工具,Minimalytics 都能提供高性能而不会造成臃肿。
功能特性
- 事件跟踪 (Track Events): 记录和监控各种事件的分析数据。
- Web UI: 通过交互式图表管理仪表盘和可视化事件数据。
- 可扩展性 (Scalable): 支持每月超过 10 亿个事件,且存储占用极小(约 20 MB)。
- 轻量级 (Lightweight): 以效率为核心构建,确保低内存和存储使用率。
安装
Linux 和 macOS
- 克隆代码仓库:
git clone https://github.com/nafey/minimalytics.git
cd minimalytics
- 构建项目:
go build -o build/minim .
- 将二进制文件安装到系统全局:
sudo mv build/minim /usr/local/bin/
使用方法
启动服务器
- 检查服务器是否正在运行:
minim status
- 启动服务器:
minim server start
记录事件
要记录事件,请向事件 API 发送一个 POST
请求:
curl -X POST http://localhost:3333/api/event/ -H "Content-Type: application/json" -d '{"event": "<EVENT_NAME>"}'
将 <EVENT_NAME>
替换为您要跟踪的事件的名称。
访问 Web 仪表盘
- 打开您的浏览器并访问:
http://localhost:3333/
- 转到 "First Dashboard" 并单击 "Add Graph"。
- 选择相应的属性,然后单击 "Done"。
- 您的仪表盘现在已准备好显示事件数据。
禁用 Web 访问
要禁用对 Web 仪表盘的访问,请运行:
minim web disable
为什么选择 Minimalytics?
该项目源于对轻量级分析工具的需求,以便在资源受限的 VPS 上跟踪内部服务。大多数 SaaS 分析产品要么缺乏可扩展性,要么在每月跟踪数百万个事件时超出其免费套餐的限制。Minimalytics 通过为资源受限环境提供极简、高性能的解决方案来解决这一问题。
工作原理
- 事件聚合 (Event Aggregation): Minimalytics 通过聚合事件来节省空间,仅存储聚合特征(例如,每天的总调用次数),而不是单个事件。
- SQLite 存储: 事件数据存储在 SQLite 文件中,该文件在
minim
首次运行时初始化。 - 服务器托管 (Server Hosting):
minim
CLI 启动一个服务器,该服务器:- 托管用于事件提交的 API 端点。
- 提供 Web UI(使用 minimui 构建并放置在
static
文件夹中)。
- Web UI: Web UI 的源代码可在 minimui 获取。
未来功能
- 支持事件值的 sum, avg, min, 和 max。
- 改进 UI/UX。
- 在同一张图表中显示多个指标。
- 其他可视化效果:Bar Chart, Pie Chart 等。
- 基于用户 ID 的分析: 漏斗分析、用户群组等。
不支持的功能
- 单个事件的详细信息。
- 超过 48 小时的每小时事件分辨率。
- 超过 60 分钟的分钟分辨率。
贡献
欢迎贡献!如果您想贡献,请:
- Fork 代码仓库。
- 为您的功能或错误修复创建一个新分支。
- 提交一个 pull request。
许可协议
Minimalytics 采用 MIT License 许可协议。
祝您使用 Minimalytics 愉快!如有问题或反馈,请随时在 GitHub 上提出 issue。
About
No description, website, or topics provided.
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
Languages
Footer
Footer navigation
You can’t perform that action at this time.