ayeeshailyas/Log-Analyzer
GitHub: ayeeshailyas/Log-Analyzer
一款零依赖的 Python 日志工具,用于生成带异常的模拟服务器日志并在终端仪表盘中实时解析性能指标与错误分布。
Stars: 0 | Forks: 0
# 服务器日志生成与分析 Pipeline
一款轻量级、零依赖的 Python 实用工具,旨在生成带有真实世界基础设施异常的测试日志流,并通过强大的终端仪表盘分析器对其进行解析。
本项目展示了如何实现优雅降级、token 隔离和异常报告,同时确保不降低 pipeline 的处理速度,也不会因畸形输入数据而崩溃。
## 🚀 核心功能
* **日志生成器 (`generate_logs.py`):** 动态生成模拟服务器日志,包含可控的约 7% 畸形数据率(包括损坏的时间戳、遗留结构、缺失参数、堆栈跟踪块以及内联原始 JSON 对象)。
* **日志分析仪表盘 (`analyzer.py`):** 使用低开销的 token 校验逐行流式传输日志数据,确保即使在结构性 schema 中途完全失效时也能保持稳健的执行。
* **精细化可见性:** 跟踪标准响应元数据($2xx$、$4xx$、$5xx$ 状态分布,平均处理延迟),同时针对损坏的日志提供逐项列出的错误原因计数器。
## 🛠️ 快速入门与安装
该 pipeline 完全基于标准的 Python 工具运行。无需任何外部依赖或 `pip install` 配置。
### 前置条件
* 本地环境中已安装 Python 3.6 或更高版本。
### 1. 生成测试日志数据
生成与真实世界故障场景相符的模拟日志文件,运行以下脚本将输出一个名为 sample_server.log 的文件,其中包含 1,000 条完整性混合的日志记录。
```
python generate_logs.py
```
2. 运行摘要仪表盘
分析日志文件并生成终端指标可视化:
```
python analyzer.py sample_server.log
```
📊 仪表盘可视化输出示例
成功执行后,终端仪表盘将打印出结构化、易于阅读的洞察分析,如下所示:
```
==================================================
📊 SERVER LOG ANALYZER DASHBOARD
==================================================
Target Log File: sample_server.log
Total Lines Scanned: 1,000
Valid Lines Parsed: 932
Malformed Lines: 68 (6.80%)
--------------------------------------------------
📈 TRAFFIC & PERFORMANCE METRICS
• Successful (2xx): 412
• Client Errors (4xx): 245
• Server Errors (5xx): 275
• Avg Latency: 241.14 ms
--------------------------------------------------
⚠️ MALFORMED DATA & ANOMALY BREAKDOWN
• [12 occurrences] -> Blank line
• [18 occurrences] -> Missing or invalid status code ('-')
• [21 occurrences] -> Stack trace / Runtime exception snippet
• [17 occurrences] -> Unparseable response time unit ('0.142s')
==================================================
```
📂 项目架构
```
├── generate_logs.py # Mock log simulator engine
├── analyzer.py # Stream token parser and metric calculator
├── ANSWERS.md # Detailed fellowship architectural questionnaire responses
└── README.md # Project initialization documentation
```
标签:Python, 无后门, 测试数据生成, 终端工具, 运维监控, 逆向工具