MaryammMalik/Log-Radar
GitHub: MaryammMalik/Log-Radar
一款云端部署的轻量级日志分析器,通过自研 Python MapReduce 引擎解析 Apache/Nginx 日志,让开发者无需大数据基础设施即可获得流量与错误洞察。
Stars: 0 | Forks: 0
# 🛡️ LogRadar
一款云端部署的安全日志分析器,使用**自定义 MapReduce 引擎**解析 Apache 和 Nginx 服务器日志——让开发者能够即时洞察流量模式、错误和可疑活动。
## 为什么开发这个项目
服务器日志是洞察力的金矿——但原始的 `.log` 文件通常是无意义的噪声。大多数工具要么过于复杂,要么需要昂贵的基础设施。**LogRadar** 的开发初衷是让日志分析变得触手可及:只需上传文件,即可立即获得清晰的分析结果,这一切都由纯 Python 从头编写的 MapReduce 引擎提供支持。
## 截图
## | 登录 | 上传 | 分析中 | 历史 |
|-------|--------|----------|---------|
|  |  |  |  |
## ✨ 功能
- 🔐 **安全认证** — 使用哈希密码进行注册/登录
- 📂 **日志文件上传** — 支持 Apache 和 Nginx `.log` 格式
- ⚙️ **自定义 MapReduce 引擎** — 纯 Python 实现,无 Hadoop 依赖
- 📊 **分析仪表板** — 热门 IP、请求计数、状态码、错误率
- 🎨 **颜色编码的状态洞察:**
- 🟢 绿色 = 2xx 成功
- 🟡 黄色 = 3xx 重定向
- 🔴 红色 = 4xx/5xx 错误
- 🗄️ **云数据库** — 通过 Neon DB 使用 PostgreSQL
- ☁️ **在线部署** — 托管于 Railway
## 🛠️ 技术栈
| 技术 | 用途 |
|---|---|
| Python + Flask | 后端框架 |
| PostgreSQL (Neon DB) | 云数据库 |
| Railway | 部署平台 |
| 自定义 MapReduce | 日志处理引擎 |
| HTML, CSS, Jinja2 | 前端模板 |
## 🚀 如何运行
**前置条件:** Python 3.10+
```
# 安装依赖
pip install -r requirements.txt
# 设置环境变量
cp .env.example .env
# 在 .env 中添加你的 DATABASE_URL 和 SECRET_KEY
# 启动应用
python app.py
```
应用运行于 `http://localhost:5000`
## ⚙️ MapReduce 引擎亮点
- 在 **Map 阶段**独立处理每一行日志——提取 IP、方法、状态码、时间戳
- 在 **Reduce 阶段**汇总计数并对结果进行分组——无需外部库,无需 Hadoop
- 优雅处理格式错误的行,不会导致 pipeline 崩溃
- 在轻量、可移植的 Python 模块中模拟分布式计算逻辑
## 🌐 在线演示
## 🔗 [Railway 上的 LogRadar] (https://cloud-log-analyzer-production-a61e.up.railway.app/)
## 👩💻 作者
由 **Maryam Malik** 开发
计算机科学学士 — 费萨拉巴德农业大学
GitHub: [MaryammMalik](https://github.com/MaryammMalik)
LinkedIn: [连接] https://www.linkedin.com/in/maryam-malik-612b80418/
标签:Flask, MapReduce, Python, 后端开发, 多模态安全, 无后门, 测试用例, 逆向工具