这个项目能做什么
BitCurrents Log Analyzer 是一款实时 Nginx 日志分析工具,采用单页 Web 应用架构,后端基于 Python/Flask,前端使用动态 JavaScript。它将原始 Nginx 访问日志和错误日志转化为交互式仪表盘,聚焦安全智能、性能监控与数据可视化。
该应用提供三种独立分析模式:
**通用模式** —— 提供一目了然的流量概览,包含关键指标卡片(总访问量、独立 IP 数、伪装者与可疑请求计数),图表展示流量构成(人类 vs 机器人 vs 爬虫)、设备类型、操作系统与浏览器分布、HTTP 状态码、热门国家及最常访问页面。支持过滤噪音 IP,并切换“独立 IP”与“全部访问”视图。
**安全模式** —— 支持主动威胁狩猎,通过可配置的 `security_patterns.json` 文件实现动态威胁分类(如配置暴露、Webshell、WordPress 探测)。提供针对主要攻击类别与攻击 IP 的可视化图表,并自动检测机器人伪装者——标记那些声称是合法爬虫但源自未验证 IP 范围的流量。
**错误模式** —— 通过智能解析常见 Nginx `error.log` 消息(如“后端不可达”、“索引禁止”)诊断服务器问题。可视化错误类型与严重等级,并内置常见错误的排查指南。
项目利用 IP2Location.io API 实现高精度地理定位(国家、城市、ISP 数据)及超越简单 User-Agent 匹配的高级机器人检测。同时维护 IP 缓存文件以节省 API 配额。
### 安装与使用
前提条件包括 pyenv 和 Python 3.13.0。克隆仓库,建立虚拟环境,从 `requirements.txt` 安装依赖。需在 `.env` 文件中配置免费的 IP2Location API 密钥。后端运行 `python app.py`,前端直接在浏览器中打开本地文件。用户指定日志目录,列出可用文件,可选指定追踪路径,点击“分析”即可。
### Nginx 配置
为获得最佳效果,Nginx 访问日志格式应包含 `$http_referer` 和 `$http_user_agent` 变量。README 中提供了示例配置。
概念设计者:Ray Kooyenga (@deadflowers @rkooyenga)。专为 IP2Location 2025 黑客松编程竞赛创建。
评论
0 评分人数达到10人后显示
登录后参与讨论。