SophiaHeh/incident_response_agent
GitHub: SophiaHeh/incident_response_agent
这是一个AI驱动的事件响应代理,用于加速微服务系统中的故障排查和根因分析。
Stars: 0 | Forks: 0
# 分布式系统智能事件响应代理
一个由人工智能驱动的根因分析系统,旨在加速微服务架构中的事件解决。通过利用大型语言模型、AWS CloudWatch 和本地 ChromaDB RAG 管道,该系统可自动化日志分析,将调试时间缩短高达 50%。
## 🚀 功能特点
- **生成式AI驱动的根因分析**:通过 LangChain 使用 Anthropic 的 Claude API 分析错误日志,并生成结构化的根因分析报告,包括即时补救措施和长期预防计划。
- **日志降噪(AWS CloudWatch)**:自定义日志解析器,过滤非关键的 INFO/DEBUG 噪音,并对异常签名进行去重,可将日志量减少 90%,降低 LLM API 成本。
- **用于历史上下文的 RAG 管道**:集成 ChromaDB 以索引历史事件事后复盘报告和操作手册。使用滑动窗口分块(分块大小 500,重叠 100)和余弦相似度,将高度相关的过往解决方案注入 AI 的上下文窗口。
- **实时 Slack 告警**:通过 Webhook 自动将 RCA 报告和关键上下文分派到 Slack,以便团队即时查看。
## 🛠️ 技术栈
- **语言**:Python 3.10+
- **AI 与编排**:LangChain, Anthropic Claude API (`claude-3-opus-20240229`)
- **向量数据库**:ChromaDB, HuggingFace Embeddings (`all-MiniLM-L6-v2`)
- **云基础设施**:AWS CloudWatch (通过 `boto3`)
- **告警**:Slack Webhooks
## 📁 项目结构
```
incident_response_agent/
├── agent.py # LangChain Claude API integration & RCA prompt engineering
├── log_parser.py # AWS CloudWatch fetching, filtering, and noise reduction
├── rag_pipeline.py # ChromaDB ingestion, chunking, and similarity search
├── slack_notifier.py # Slack webhook payload formatting and dispatch
├── main.py # Main entry point orchestrating the automated workflow
├── requirements.txt # Python package dependencies
└── README.md
```
## ⚙️ 设置与安装
1. **克隆仓库**:
```
git clone https://github.com/yourusername/incident-response-agent.git
cd incident-response-agent
```
2. **安装依赖**:
```
pip install -r requirements.txt
```
3. **配置环境变量**:
在根目录创建一个 `.env` 文件,并添加以下密钥:
```
ANTHROPIC_API_KEY=your_anthropic_api_key_here
SLACK_WEBHOOK_URL=your_slack_webhook_url_here
AWS_ACCESS_KEY_ID=your_aws_access_key
AWS_SECRET_ACCESS_KEY=your_aws_secret_key
AWS_DEFAULT_REGION=us-east-1
```
4. **填充知识库(可选但推荐)**:
将您的历史操作手册和事后复盘报告的 `.txt` 文件放入 `runbooks/` 目录,然后在首次运行时取消 `main.py` 中相关代码行的注释(`knowledge_base.populate_knowledge_base("./runbooks")`)。
## 💻 使用方式
运行主编排脚本以触发自动化事件响应工作流:
```
python main.py
```
**工作流执行:**
1. 从 AWS CloudWatch 获取最近的日志。
2. 过滤噪音并提取关键异常跟踪信息。
3. 查询 ChromaDB 以查找相似的历史事件。
4. 使用 Claude 生成 RCA 报告。
5. 将告警和 RCA 发送到您配置的 Slack 频道。
## 📈 影响
此架构设计用于处理高吞吐量的微服务日志,成功将调试时间减少了 **50%**。自定义的 CloudWatch 过滤机制成功丢弃了 **90%** 的日志噪音,确保仅向 LLM 提供高信号数据,从而将 API 成本保持在最低水平。
## 📝 许可证
根据 MIT 许可证分发。详情请参阅 `LICENSE` 文件。
标签:AI 驱动, Anthropic Claude, AWS CloudWatch, ChromaDB, HuggingFace 嵌入, LangChain, Python, RAG 管道, Slack 集成, 云监控, 人工智能, 分布式系统, 历史上下文, 向量数据库, 响应大小分析, 噪音过滤, 大型语言模型, 实时警报, 技术栈, 故障排除, 无后门, 日志解析, 智能代理, 根因分析, 检索增强生成, 用户模式Hook绕过, 自动化运维, 自动报告, 证书伪造, 轻量级, 运维优化, 逆向工具, 预防计划