venkatesh-nagirikanti/DataSentinel-AI
GitHub: venkatesh-nagirikanti/DataSentinel-AI
基于 Streamlit 与 Gemini AI 构建的企业级数据事件响应助手,通过自动化根因分析和代码修复生成来减少 ETL 流水线中的数据停机时间。
Stars: 0 | Forks: 0
# DataSentinel AI – 企业级数据事件指挥官
DataSentinel AI 是一个自主的企业级数据事件管理系统,旨在最大限度地减少复杂 ETL 和数据分析流水线中的“数据停机时间”。该项目作为单个 Python Streamlit 项目开发,能够自动分析数据负载,对基础设施执行日志进行分类排查,执行 AI 驱动的根因分析 (RCA),生成代码修复补丁(SQL、PySpark、AWS Glue),并汇总事后事件报告(PDF 和 Markdown)。
## 🚀 核心价值主张与黑客松亮点
- **大幅缩短 MTTR:** 将原本需要数小时手动检查数据库和索引日志的响应周期,缩短至几分钟的自动化 AI 综合 分析。
- **开箱即用的演示:** 该应用程序具有强大的演示回退系统。如果未配置 Gemini API 密钥,应用程序将提供详细的、预编译的 schema 验证偏差模拟数据,以便评委能够立即评估执行路径。
- **整洁的 PDF 布局生成器:** 利用自定义布局计算,将原始事件详情转换为整洁的、适合业务需求的 PDF 文档。
- **人机交互沙盒:** 提供可编辑的代码生成块,允许工程师在部署前审查、调整并导出脚本。
## 🛠️ 技术栈
* **前端 UI 框架:** Streamlit(通过高级样式定制)
* **计算与指标引擎:** Pandas, NumPy
* **可视化:** Plotly Express & Plotly Graph Objects
* **生成式 AI 编排:** Google Gemini 1.5 Flash(通过 `google-generativeai`)
* **文档生成:** FPDF2(生成 PDF)
* **配置:** Python-dotenv
## 📂 项目架构
```
DataSentinel-AI/
├── app.py # Main Streamlit App Router & View Controller
├── requirements.txt # Project Dependencies
├── .env.example # Template configuration parameters
├── README.md # This project guide
├── samples/ # Sample target files
│ ├── sample_logs.log # Sample AWS Glue error log (Schema drift + OOM)
│ └── sample_data.csv # Sample CSV file (anomalies, nulls, invalid dates)
└── utils/ # Helper libraries
├── data_analyzer.py # Custom data profiler & quality parser
├── gemini_client.py # Gemini client prompt wrappers & Mock templates
└── report_generator.py # Custom markdown-to-PDF parser utilizing FPDF2
```
## ⚙️ 快速开始安装
按照以下步骤在您的本地机器上运行该应用程序:
### 1. 前置条件
确保您已安装 Python 3.9 或更高版本。
### 2. 克隆仓库并导航至文件夹
```
cd c:\Users\venka\OneDrive\Documents\DataSentinel-AI
```
### 3. 初始化并激活虚拟环境
```
# 创建 Virtual Environment
python -m venv venv
# 在 Windows (PowerShell) 上激活
.\venv\Scripts\Activate.ps1
```
### 4. 安装依赖项
```
pip install -r requirements.txt
```
### 5. 设置环境配置
复制示例环境文件:
```
cp .env.example .env
```
在文本编辑器中打开 `.env` 并更新您的 `GEMINI_API_KEY`:
```
GEMINI_API_KEY=AIzaSy...
```
*(注意:如果您将此字段留空,应用程序将以**演示模式**运行,并使用高质量的模拟数据配置)。*
### 6. 运行 Streamlit 应用程序
```
streamlit run app.py
```
应用程序将自动在您的默认网络浏览器中启动于 `http://localhost:8501`。
## 📋 评委推荐操作指南
1. **仪表板概览:** 从 **Executive Dashboard** 开始,查看历史 MTTD/MTTR 分析并查看活跃事件队列。
2. **CSV 质量上传:** 导航至 **CSV Quality Upload**,点击 **"Load Sample CSV Dataset"** 按钮,然后选择 **"Run Data Profiling"**。
3. **ETL 日志提取:** 进入 **ETL Log Ingest** 并点击 **"Load Sample AWS Glue Error Log"** 以加载堆栈跟踪。
4. **AI 根因分析 (RCA):** 导航至 **AI Root Cause Analysis** 并点击 **"Run Root Cause Analysis"**,查看 Gemini 如何隔离 JVM 内存限制问题和表 schema 不匹配的情况。
5. **数据质量概况:** 浏览 **Data Quality Profile** 以查看缺失值、分布和已记录的异常。
6. **SQL Schema 修复器:** 点击 **"Generate SQL Fix Script"** 以获取修复查询语句。
7. **PySpark 流水线修复:** 点击 **"Generate PySpark Repair Code"** 以构建 Spark 转换函数。
8. **AWS Glue 脚手架:** 点击 **"Scaffold AWS Glue Job"** 将 PySpark 修复程序封装在完整的 Glue job 上下文中。
9. **事后报告:** 进入 **Post-Mortem Report** 并点击 **"Generate Comprehensive Report"** 以汇编结构化的 Markdown 审查。
10. **导出与下载:** 选择 **Export Incident Center** 以下载整洁的 **PDF 报告**、原始的 **Markdown 摘要**以及修复脚本文件。
标签:AIOps, Kubernetes, Streamlit, 数据管道, 数据运维, 根因分析, 生成式AI, 索引, 访问控制, 软件工程, 逆向工具