Sarfaraz097/log-analytics-monitoring-system
GitHub: Sarfaraz097/log-analytics-monitoring-system
一个基于 Python 的企业级日志分析工具,通过 JSON 配置动态解析任意格式的时间戳日志,自动计算 KPI、检测异常并生成系统健康报告。
Stars: 0 | Forks: 0
# log-analytics 监控系统
## 这是什么?
一个格式无关的 log-analytics-monitoring-system,能够解析任何带有时间戳的日志文件,
并通过命令行生成系统健康智能报告。
## 目录结构
log-engine/
├── exec/
│ ├── main.py # 入口点 - 运行此文件
│ ├── parser.py # 读取并解析日志文件
│ ├── analyzer.py # 计算 KPI 并检测异常
│ └── reporter.py # 将报告输出至 CLI 并保存为 markdown
├── config/
│ ├── log_mapping.json # 日志格式配置
│ └── requirements.txt # Python 依赖
├── hackathon_logs.txt # 示例日志文件
└── README.md
## 环境要求
- Python 3.8+
- rich 库
## 安装说明
### 步骤 1 - 创建虚拟环境
```
python -m venv venv
```
### 步骤 2 - 激活虚拟环境
Windows:
```
venv\Scripts\activate
```
### 步骤 3 - 安装依赖
```
pip install rich
```
## 运行说明
```
python exec/main.py --log hackathon_logs.txt --config config/log_mapping.json --output both
```
## 输出选项
| 选项 | 描述 |
|--------|-------------|
| cli | 仅在终端显示报告 |
| markdown | 仅保存 report.md 文件 |
| both | CLI + markdown 两者皆有 |
## 示例输出
事件总数 (Total Events) → 200,000
错误率 (Error Rate) → 25.13%
正常运行时间得分 (Uptime Score) → 74.87%
错误密度 (Error Density) → 5.03 错误/分钟
可疑用户 (Suspicious Users) → 899
未授权 IP (Unauthorized IPs) → 6,631
## 配置工作原理
编辑 `config/log_mapping.json` 以支持任何日志格式。
示例日志行:
2026-04-01 00:00:00 ERROR [DBService] Payment failed orderId=O462
配置映射各部分内容:
- timestamp → `2026-04-01 00:00:00`
- level → `ERROR`
- component → `DBService`
- message → `Payment failed orderId=O462`
## 核心功能
- 通过 JSON 配置进行动态日志解析 — 无硬编码逻辑
- KPI 提取 — 错误密度、正常运行时间得分、错误率
- 检测排名前 5 的故障组件
- 故障性质分类 — 15+ 种事件类别
- 异常洞察 — 级联故障、安全威胁
- Markdown 报告导出
标签:Homebrew安装, Python, 代码示例, 异常检测, 数据分析, 文档结构分析, 无后门, 运维监控, 逆向工具, 防御加固