Mohamedsalem-fn/streamsense
GitHub: Mohamedsalem-fn/streamsense
一条基于无监督学习的实时日志异常检测管道,通过智能告警降低运维风险。
Stars: 0 | Forks: 0
# StreamSense
[](https://www.python.org/downloads/)
[](LICENSE)
[]()
StreamSense 是一个精英级的生产级监控解决方案,旨在跟踪应用程序日志,应用无监督机器学习来检测异常和错误,并通过 Telegram 触发带有根因分析的智能告警。
## 🚀 功能
- **实时处理**:利用 `watchdog` 实现高效的文件系统监控和日志跟踪。
- **无监督学习**:使用 `Scikit-learn`(孤立森林)和 TF-IDF 向量化,无需标注训练数据即可检测异常。
- **智能告警**:通过 Telegram 机器人 API 即时通知,包含异常日志行和上下文信息。
- **生产就绪**:全面的错误处理、日志记录和容器化部署支持。
- **零配置**:开箱即用,兼容标准日志格式。
## 🛠 技术栈
- **核心**:Python 3.9+
- **数据科学**:Pandas、NumPy、Scikit-learn
- **监控**:Watchdog
- **通信**:Telegram 机器人 API
- **容器化**:Docker
## 📋 先决条件
- Docker(推荐)或 Python 3.9+
- 一个 Telegram 机器人令牌(从 [@BotFather](https://t.me/botfather) 获取)
- 您的聊天 ID
## 🏗 安装
### 选项 1:Docker(推荐)
```
git clone https://github.com/yourusername/streamsense.git
cd streamsense
docker build -t streamsense .
docker run -d \
-e LOG_FILE_PATH=/app/logs/application.log \
-e TELEGRAM_BOT_TOKEN="your_token" \
-e TELEGRAM_CHAT_ID="your_chat_id" \
-v $(pwd)/logs:/app/logs \
streamsense
```
### 选项 2:本地 Python
```
git clone https://github.com/yourusername/streamsense.git
cd streamsense
pip install -r requirements.txt
export LOG_FILE_PATH="./logs/application.log"
export TELEGRAM_BOT_TOKEN="your_token"
export TELEGRAM_CHAT_ID="your_chat_id"
python main.py
```
## ⚙️ 配置
StreamSense 依赖环境变量进行配置:
| 变量 | 描述 | 默认值 |
|----------|-------------|---------|
| `LOG_FILE_PATH` | 要监控的日志文件的绝对路径 | `./logs/app.log` |
| `TELEGRAM_BOT_TOKEN` | Telegram 机器人的 API 令牌 | *必需* |
| `TELEGRAM_CHAT_ID` | 发送告警的目标聊天 ID | *必需* |
| `CONTAMINATION` | 数据集中预期的异常比例 | `0.05` |
| `MODEL_UPDATE_INTERVAL` | 模型重新训练之间的秒数 | `3600` |
## 📖 使用方法
1. **启动应用**:StreamSense 将立即开始跟踪指定的日志文件。
2. **学习阶段**:系统最初缓冲日志以构建基准模型。
3. **检测**:随着新日志到达,将其向量化并评分。异常会触发告警。
4. **告警**:检查 Telegram 以获取详细的异常报告。
## 🧪 测试
运行测试套件:
```
pytest tests/
```
## 📄 许可证
本项目根据 MIT 许可证授权 - 详情见 LICENSE 文件。
标签:Apex, Bot 令牌, Docker, NIDS, NumPy, Python, Python 3.9, Scikit-learn, SEO: Docker 日志监控, SEO: Telegram 告警, SEO: 实时日志异常检测, SEO: 无监督日志异常检测, SEO: 生产级日志监控, Telegram Bot, TF-IDF, Watchdog, WhatsApp, 元数据收集, 告警系统, 孤立森林, 安全防御评估, 实时日志, 容器化, 异常检测, 数据科学, 文件监控, 无后门, 无监督学习, 日志尾随, 日志异常告警, 日志文件路径, 日志格式, 日志监控方案, 日志错误检测, 智能告警, 机器学习, 根因分析, 流处理, 生产就绪, 聊天ID, 请求拦截, 资源验证, 逆向工具, 零配置