Mohamedsalem-fn/streamsense

GitHub: Mohamedsalem-fn/streamsense

一条基于无监督学习的实时日志异常检测管道,通过智能告警降低运维风险。

Stars: 0 | Forks: 0

# StreamSense [![Python](https://img.shields.io/badge/Python-3.9+-blue.svg)](https://www.python.org/downloads/) [![License](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE) [![Status](https://img.shields.io/badge/Status-Production--Ready-brightgreen.svg)]() 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, 请求拦截, 资源验证, 逆向工具, 零配置