OmDongaonkar03/Micrologs
GitHub: OmDongaonkar03/Micrologs
Stars: 0 | Forks: 0
# Micrologs
一个可自托管的分析与错误追踪引擎。只需添加一个 script 标签,数据即存入你自己的数据库。无 SaaS 费用,无第三方仪表盘,无黑盒。
它甚至可以在你能找到的最便宜的共享主机上运行 —— 无需 Redis、无需队列、也无需 VPS,标准共享主机即可处理高达 **~10,000 次/天** 的页面访问。专为成长而设计 —— v2 增加了缓存和队列,v3 增加了 websockets 和 webhooks。每个阶段均为可选,因此共享主机用户绝不会因为 VPS 用户解锁的功能而无法使用。
**[→ 完整设置指南](IMPLEMENTATION.md)**
## 为什么选择 Micrologs
大多数分析工具迫使你在简单与扩展之间,或在免费与自托管之间做出选择。Micrologs 是:
- **永久免费** - MIT 许可,无使用限制,无席位限制
- **随处运行** - PHP + MySQL,可在每月 $2 的共享主机上运行
- **数据归你** - 数据不离开你的服务器,运行时无第三方调用
- **分析与错误追踪合二为一** - 无需分别使用 Plausible 和 Sentry
- **设计即 Headless** - API 即产品。以 JSON 格式查询数据,按适合你技术栈的方式进行可视化
## 追踪内容
**分析 (Analytics)**
- 独立访客、会话、页面浏览量、跳出率
- 新访客 vs 回访者
- 平均会话时长、平均每次会话浏览页数
- 国家、地区、城市细分
- 设备类型、操作系统、浏览器
- 来源分类(自然搜索、社交、邮件、引荐)
- UTM 活动追踪
- 热门页面
**错误监控**
- 自动捕获的 JS 错误(`window.onerror` + `unhandledrejection`)
- 来自任何后端的手动错误 - PHP、Node、Python,任何支持 HTTP 的语言
- 按 fingerprint 分组错误 - 同一错误触发 1000 次 = 1 个分组,1000 次出现
- 错误随时间变化的趋势 - 发现部署后的峰值
- 严重级别:`info`、`warning`、`error`、`critical`
**其他**
- 审计日志 - 追踪来自任何技术栈的任何操作
- 带点击分析的追踪型短链接
- 机器人过滤
- 单次安装支持多项目
## 快速开始
**1. 添加代码片段**
```
```
页面浏览量、会话、设备、地理位置和 JS 错误现已自动追踪。
**2. 查询数据**
```
curl https://yourdomain.com/api/analytics/visitors.php?range=30d \
-H "X-API-Key: your_secret_key"
```
```
{
"success": true,
"data": {
"unique_visitors": 1842,
"total_pageviews": 5631,
"total_sessions": 2109,
"bounce_rate": 43.2,
"over_time": [...]
}
}
```
**[→ 完整 API 参考与设置](IMPLEMENTATION.md)**
## 技术栈
- **后端** - PHP 8.1+
- **数据库** - MySQL 8.0+ / MariaDB 10.4+
- **地理位置** - MaxMind GeoLite2(本地化,运行时无 API 调用)
- **代码片段** - Vanilla JS,零依赖,约 3KB
## SDK
用于后端错误追踪和审计日志的官方 SDK。JS 代码片段会自动处理前端追踪 —— SDK 用于你的服务端代码。
| SDK | Package | Version | 安装 |
|---|---|---|---|
| Node.js | [@micrologs/node](https://www.npmjs.com/package/@micrologs/node) | v1.0.0 | `npm install @micrologs/node` |
| Python | [micrologs](https://pypi.org/project/micrologs) | v1.0.0 | `pip install micrologs` |
| Laravel | [micrologs/laravel](https://packagist.org/packages/micrologs/laravel) | v1.0.0 | `composer require micrologs/laravel` |
### 兼容性
| 引擎 | Node SDK | Python SDK | Laravel SDK |
|---|---|---|---|
| v1.3.0 *(当前)* | v1.0.0 | v1.0.0 | v1.0.0 |
## 路线图
| 阶段 | 状态 | 包含内容 |
|---|---|---|
| v1.0 - REST API | 已发布 | 完整分析、错误追踪、审计日志、链接追踪 |
| v1.1 - 安全与性能 | 已发布 | IP 伪造修复、负载限制、查询减少、日志轮转、日志中包含请求 ID |
| v1.2 - 分析深度 | 已发布 | 会话分析、新访客 vs 回访者、错误随时间变化的趋势 |
| v1.3 - 完善 API | 已发布 | 项目管理(列表、开关、删除、轮换密钥)、链接编辑/详情、错误状态更新 |
| v2 - 基础设施 | 计划中 | Valkey/Redis 缓存、通过 Symfony Messenger 的异步队列、Webhook 告警 |
| v3 - 实时功能 | 计划中 | WebSockets、实时访客计数、实时错误流 |
## 贡献
请参阅 [CONTRIBUTING.md](CONTRIBUTING.md) - 欢迎提交 issue 和 PR。
特别期待以下方向的贡献:
- 针对支持 APCu 的主机的 APCu 速率限制器
由 [Om Dongaonkar](https://github.com/OmDongaonkar03) 构建
标签:DevOps工具, ffuf, ffuf, ffuf, GDPR友好, LangChain, OpenVAS, PHP, Rust语言, SaaS替代, Webhooks, 二进制文件分析, 共享主机, 前端埋点, 后端日志, 审计日志, 开源, 异常追踪, 数据可视化, 无Cookie分析, 用户行为分析, 短链接服务, 网站分析, 自托管, 轻量级, 错误监控, 隐私优先