ZinaLog
轻量级自托管日志管理服务器——无需 ELK 或 Grafana 的复杂部署,即可拥有实时日志流、仪表板可视化和多通道告警。
安装次数
点赞
应用评论
催更次数
桌面端



应用描述
## 功能特性 - 📡 **HTTP 日志接收**:通过 `POST /api/logs` 接口推送日志,支持 API Key 认证和 IP 白名单 - 📊 **实时仪表板**:日志级别分布、服务统计、24 小时活动趋势图表 - 🔍 **高级搜索与过滤**:按日志级别、服务名、时间范围和关键词搜索 - 🔔 **多通道告警**:支持邮件、Telegram、Slack、Discord 和自定义 Webhook - 👥 **角色访问控制**:admin / operator / viewer 三级权限 + 服务级别权限限制 - 🔑 **API Key 管理**:创建、吊销、过期设置、速率限制、IP 白名单 - 📈 **实时日志流**:SSE 实时推送新日志到浏览器 - 🔒 **安全特性**:MFA 双因素认证、CSRF 保护、敏感设置 AES-256-GCM 加密 - 📤 **CSV 导出**:导出日志数据为 CSV 格式 - 🗃️ **SQLite 存储**:无外部数据库依赖,数据持久化 ### 注册账号密码 首次访问时,应用会自动跳转到 Setup 页面,要求创建管理员账号: | 密码 | ≥12 个字符,必须包含大小写字母 + 数字 + 特殊字符 | > 💡 **推荐密码**: `Lazycat@12345!`(满足所有强度要求) ### 创建 API Key(核心功能) API Key 用于外部应用通过 HTTP API 推送日志。 | 1 | 点击侧栏 **API Keys** | — | 进入 API Key 管理页面 | | 2 | 点击 **Create Key** 按钮 | 名称:`test-key` | 弹出创建表单 | | 3 | 填写名称并提交 | — | 显示新创建的 API Key(仅显示一次!) | | 4 | **复制 API Key** | — | 保存 Key 值,如 `zl_xxxxxxxx` | > ⚠️ API Key 仅在创建时显示一次,务必立即复制保存 ### 推送测试日志 使用 curl 通过 API 推送日志到 ZinaLog(在本地终端执行)。另外也可以直接在 API Keys 页面底部的 **Integration Examples** 处查看并复制 Node.js (fetch) 和 Python (requests) 的接入示例。 ```bash # 将 <boxname> 替换为你的设备名 curl -X POST https://zinalog.<boxname>.heiyu.space/api/logs \ -H "Authorization: Bearer APIKEy" \ -H "Content-Type: application/json" \ -d '{ "level": "info", "message": "测试日志 - 应用启动成功", "service": "test-service", "metadata": {"version": "1.0.0", "env": "production"} }' ``` | 1 | 执行上述 curl 或复制内置示例代码运行 | info 级别日志 | 返回 `{"id": 1}` | | 2 | 再执行一条 error 级别 | `"level": "error", "message": "数据库连接失败"` | 返回 `{"id": 2}` | | 3 | 回到仪表板查看 | — | 统计数据更新,显示 2 条日志 | ### 查看日志与搜索 | 1 | 点击侧栏 **Logs** | — | 显示所有日志列表 | | 2 | 在搜索框输入关键词 | 输入 `启动` | 过滤出包含「启动」的日志 | | 3 | 选择级别过滤 | 选择 `error` | 仅显示 error 级别日志 | | 4 | 清空过滤条件 | — | 恢复显示全部日志 | | 5 | 点击某条日志 | — | 展开显示详细信息(metadata、stack 等) | ### 日志导出 | 1 | 进入 **Logs** 页面 | — | 显示日志列表 | | 2 | 点击右上角 **CSV** 或 **JSON** 按钮 | — | 下载对应格式的日志文件 | | 3 | 打开下载的文件 | — | 包含当前条件筛选下的所有日志记录 |
懒猫评分/评论
0.0
0 条评论
新功能
版本历史记录""
此 App 尚未收到足够的评分或评论,无法显示评论列表。