下一代 AI 驱动的智能运维解决方案
🎯 核心特性 • 🏗️ 架构设计 • ⚡ 快速开始 • 📚 文档 • 🤝 贡献
AI-CloudOps 是业界领先的智能云原生运维平台,融合了 人工智能、机器学习 和 自动化运维 技术,为现代化基础设施提供全方位的智能运维解决方案。
|
|
RAG + MCP 混合架构,专为运维场景优化
- 🧠 RAG 模式: 基于向量检索的知识问答,涵盖数万条运维最佳实践
- 🔧 MCP 模式: 直接调用 Kubernetes API,实时操作集群资源
- 💬 智能对话: 支持上下文理解,多轮对话解决复杂问题
- 🎯 意图识别: 自动路由到最适合的处理模式
机器学习驱动的容量规划
- 📈 多维预测: QPS、CPU、内存、磁盘使用趋势预测
- ⏰ 时间窗口: 支持 1-168 小时的预测时间跨度
- 🎯 精准建议: 智能实例数量和资源配置推荐
- 📊 置信度评估: 提供预测可信度和风险评估
零人工干预的故障自愈
- 🔍 智能诊断: 深度分析 Pod、Deployment、Service 状态
- 🚀 自动修复: 智能重启、扩缩容、配置调整
- 🛡️ 风险控制: 修复前预检、安全限制、回滚机制
- 📋 操作记录: 完整的修复日志和影响评估
多数据源融合的故障诊断引擎
- 🔍 数据融合: 整合 Prometheus 指标、K8s 事件、Pod 日志
- 🧮 异常检测: 基于统计学和机器学习的异常识别
- 🔗 关联分析: 多维度相关性分析和因果推理
- ⚡ 快速定位: 平均 30 秒内完成根因分析
端到端的系统状态感知
- 🌐 多组件监控: LLM 服务、向量存储、K8s 集群、缓存系统
- 💓 健康检查: 启动探针、存活探针、就绪探针
- 📊 性能指标: 响应时间、可用性、错误率实时监控
- 🚨 智能告警: 基于阈值和趋势的多级告警策略
graph TB
subgraph "🌐 接口层"
A1[REST API<br/>FastAPI]
A2[WebSocket<br/>流式交互]
A3[MCP Protocol<br/>工具调用]
end
subgraph "🧠 智能代理层"
B1[AI助手<br/>RAG+MCP]
B2[预测引擎<br/>ML Models]
B3[修复代理<br/>K8s Fixer]
B4[分析引擎<br/>RCA Engine]
end
subgraph "💾 数据层"
C1[Redis向量库<br/>知识检索]
C2[Prometheus<br/>时序指标]
C3[Redis缓存<br/>性能优化]
end
subgraph "☁️ 基础设施"
D1[Kubernetes<br/>容器编排]
D2[Docker<br/>容器化]
D3[监控告警<br/>Grafana]
end
A1 --> B1
A1 --> B2
A1 --> B3
A1 --> B4
A2 --> B1
A3 --> B1
B1 --> C1
B2 --> C2
B3 --> D1
B4 --> C2
B1 --> C3
B2 --> C3
B3 --> C3
B4 --> C3
C2 --> D3
D1 --> D2
🚀 后端框架 FastAPI + AsyncIO |
🧠 AI 引擎 LangGraph + OpenAI |
💾 数据存储 Redis + Prometheus |
☁️ 容器化 Docker + K8s |
# 1️⃣ 克隆项目
git clone https://github.com/GoSimplicity/AI-CloudOps.git
cd AI-CloudOps
# 2️⃣ 配置环境
cp env.example .env
nano .env # 配置 LLM_API_KEY 等必要参数
# 3️⃣ 一键启动
chmod +x scripts/deploy.sh
./scripts/deploy.sh
# 🔑 必需配置
LLM_API_KEY=sk-your-api-key # LLM API 密钥
LLM_BASE_URL=https://api.openai.com/v1 # LLM API 地址
LLM_MODEL=gpt-4o-mini # 使用的模型
# 🔧 可选配置
K8S_CONFIG_PATH=~/.kube/config # Kubernetes 配置
REDIS_PASSWORD=your-secure-password # Redis 密码
PROMETHEUS_URL=http://localhost:9090 # Prometheus 地址
部署完成后,访问以下地址验证服务状态:
🌐 服务 | 📍 地址 | 📝 说明 |
---|---|---|
🚀 主应用 | http://localhost:8080 | API 服务和文档 |
🔧 MCP 服务 | http://localhost:9000 | 工具调用服务 |
📊 监控面板 | http://localhost:9090 | Prometheus 监控 |
# ✅ 健康检查
curl http://localhost:8080/api/v1/health
# 📚 API 文档
open http://localhost:8080/docs
🤖 点击查看 AI 助手交互演示
// 💡 RAG 模式 - 知识问答
POST /api/v1/assistant/query
{
"question": "Kubernetes Pod 一直处于 Pending 状态怎么办?",
"mode": "rag",
"session_id": "user123"
}
// 📖 响应示例
{
"code": 0,
"message": "查询成功",
"data": {
"answer": "Pod 处于 Pending 状态通常有以下几个原因和解决方案:\n\n🔍 **常见原因分析**:\n1. **资源不足** - 集群没有足够的 CPU/内存资源\n2. **调度约束** - nodeSelector、affinity 规则限制\n3. **存储问题** - PVC 无法绑定到 PV\n4. **镜像拉取** - 镜像不存在或权限问题\n\n🛠️ **排查步骤**:\n```bash\n# 查看 Pod 详细信息\nkubectl describe pod <pod-name>\n\n# 查看集群资源状态\nkubectl top nodes\nkubectl get pv,pvc\n```",
"sources": [
{
"title": "Kubernetes Pod 故障排查指南",
"relevance_score": 0.95
}
],
"processing_time": 1.2
}
}
// 🔧 MCP 模式 - 工具调用
POST /api/v1/assistant/query
{
"question": "帮我查看 default 命名空间下的 Pod 状态",
"mode": "mcp",
"session_id": "user123"
}
// 🚀 响应示例
{
"data": {
"answer": "✅ **已成功获取 Pod 状态**\n\n📊 **运行状态统计**:\n- 🟢 Running: 5 个\n- 🟡 Pending: 1 个 \n- 🔴 Failed: 0 个\n\n📝 **详细信息**:\n1. **nginx-deployment-xxx** (Running) - CPU: 0.1/0.5, Memory: 128Mi/512Mi\n2. **redis-master-yyy** (Running) - CPU: 0.2/1.0, Memory: 256Mi/1Gi\n3. **worker-job-zzz** (Pending) - 等待调度...",
"tool_calls": [
{
"tool_name": "k8s_pod_tool",
"execution_time": 0.3,
"status": "success"
}
]
}
}
🔮 点击查看智能预测功能演示
// 📈 负载预测请求
POST /api/v1/predict/qps
{
"service_name": "web-service",
"current_qps": 500.0,
"hours": 24,
"instance_cpu": 2.0,
"instance_memory": 4.0
}
// 📊 预测结果
{
"data": {
"predictions": [
{
"hour": 1,
"predicted_qps": 520.5,
"confidence_score": 0.95,
"peak_probability": 0.12
},
{
"hour": 8,
"predicted_qps": 890.2,
"confidence_score": 0.88,
"peak_probability": 0.85
}
],
"recommendations": {
"suggested_instances": 6,
"scale_up_time": "2024-01-01T07:30:00Z",
"cpu_recommendation": 2.5,
"memory_recommendation": 5.0
},
"analysis": {
"max_predicted_qps": 1250.8,
"growth_rate": 1.51,
"volatility": "中等"
}
}
}
🕵️ 点击查看故障根因分析演示
// 🔍 根因分析请求
POST /api/v1/rca/analyze
{
"namespace": "production",
"time_window_hours": 1.0,
"severity_threshold": 0.7
}
// 📋 分析报告
{
"data": {
"root_causes": [
{
"cause_type": "resource_exhaustion",
"title": "🔥 CPU 使用率异常飙升",
"confidence_score": 0.92,
"severity": "high",
"affected_resources": [
{"type": "pod", "name": "web-app-xxx", "namespace": "production"}
],
"recommendations": [
{
"action": "scale_up",
"description": "建议将副本数从 3 增加到 6",
"priority": "high",
"estimated_impact": "可解决当前性能瓶颈"
}
],
"supporting_evidence": [
{
"type": "metric",
"description": "CPU 使用率峰值达到 98%",
"timestamp": "2024-01-01T10:15:00Z"
}
]
}
],
"summary": {
"total_issues": 2,
"high_priority": 1,
"analysis_duration": 2.3
}
}
}
🎯 模块 | 📍 端点 | 📝 功能 |
---|---|---|
🤖 智能助手 | POST /api/v1/assistant/query |
RAG/MCP 双模式问答 |
🔮 预测分析 | POST /api/v1/predict/qps |
QPS 负载预测 |
🔍 根因分析 | POST /api/v1/rca/analyze |
综合故障诊断 |
🛠️ 自动修复 | POST /api/v1/autofix/fix |
K8s 资源自动修复 |
💡 健康检查 | GET /api/v1/health |
系统健康状态 |
- 📱 交互式 API 文档: http://localhost:8080/docs
- 📋 OpenAPI 规范: http://localhost:8080/openapi.json
- 🔧 MCP 工具文档: app/mcp/README.md
- OS: Linux/macOS/Windows
- RAM: 8GB+ (推荐 16GB+)
- CPU: 4 核心+
- 存储: 20GB+ 可用空间
- Python: 3.11+
- Docker: 20.10+
- Docker Compose: 2.0+
- Redis: 7.0+
- Kubernetes: 1.20+ (可选)
# docker-compose.production.yml 资源限制
services:
aiops-platform:
deploy:
resources:
limits:
memory: 8G
cpus: '4.0'
reservations:
memory: 4G
cpus: '2.0'
environment:
- ENV=production
- LOG_LEVEL=INFO
- REDIS_MAX_CONNECTIONS=50
# Prometheus 配置
scrape_configs:
- job_name: 'aiops-platform'
static_configs:
- targets: ['aiops-platform:8080']
scrape_interval: 15s
metrics_path: '/metrics'
# 生产环境安全设置
REDIS_PASSWORD=your-secure-password
API_RATE_LIMIT=1000
CORS_ORIGINS=https://your-domain.com
JWT_SECRET_KEY=your-jwt-secret
- 🎨 Web UI 管理面板
- 📊 Grafana 仪表板集成
- 🔔 多渠道告警通知
- 🌐 多云平台支持
- 🤝 团队协作功能
- 📈 成本分析与优化
- 🛡️ 安全扫描集成
- 🔄 GitOps 工作流
我们欢迎任何形式的贡献!🎉
# 1️⃣ Fork 项目
git clone https://github.com/your-username/AI-CloudOps.git
# 2️⃣ 创建特性分支
git checkout -b feature/amazing-feature
# 3️⃣ 提交更改
git commit -m 'Add amazing feature'
# 4️⃣ 推送分支
git push origin feature/amazing-feature
# 5️⃣ 创建 Pull Request
- 🐛 Bug 修复
- ✨ 新功能开发
- 📝 文档改进
- 🔧 性能优化
- 🧪 测试用例
- 🏠 项目主页: https://github.com/GoSimplicity/AI-CloudOps
- 📧 邮件支持: [email protected]
- 🐛 问题报告: https://github.com/GoSimplicity/AI-CloudOps/issues
- 💡 功能建议: https://github.com/GoSimplicity/AI-CloudOps/discussions
本项目基于 MIT 许可证 开源。