LoganthP/CloudSight-Analyzer
GitHub: LoganthP/CloudSight-Analyzer
一个 AI 驱动的多云基础设施监控与分析平台,为 AWS、Azure、GCP 及混合云提供统一的性能监控、成本优化、异常检测和安全合规扫描能力。
Stars: 1 | Forks: 0
☁️ CloudSight-Analyzer – 智能云基础设施监控与分析
CloudSight-Analyzer 是一个基于 AI 的多云环境云基础设施监控、优化和安全分析平台。
实时洞察 AWS、Azure、GCP 和混合云部署,提供预测性分析和智能自动化。
## 🔎 概述
管理多云基础设施非常复杂。组织通常面临以下挑战:
- 跨多个云提供商的**碎片化可见性**
- 由于资源未优化导致的**成本效益低下**
- 服务配置错误造成的**安全盲点**
- 缺乏实时监控导致的**性能下降**
- 混合环境中的**合规性差距**
**CloudSight-Analyzer** 通过提供一个**统一、智能的平台**来解决这些挑战,该平台能够:
- 实时聚合来自 AWS、Azure 和 GCP 的指标
- 使用机器学习检测异常和优化机会
- 提供自动化的成本建议和合规性检查
- 为容量规划提供预测性洞察
- 实现主动告警和事件响应
## ✨ 核心功能
### 🌐 多云集成
- **原生支持:** AWS、Azure、Google Cloud Platform 以及混合部署
- **统一仪表盘:** 所有云资源的单一全局视图
- **跨云分析:** 关联跨提供商的指标
- **API 抽象:** 针对异构云 API 的统一 API 层
### 🧠 AI 驱动的分析
- **异常检测:** ML 模型识别资源使用中的异常模式
- **预测性分析:** 预测未来的资源需求和成本
- **智能告警:** 上下文感知告警减少噪音
- **根因分析:** AI 驱动的性能问题洞察
### 💰 成本优化
- **实时成本追踪:** 追踪所有云服务的支出
- **合理规模建议:** 识别过度/不足配置的资源
- **预留实例优化:** 建议最佳的 RI/节省计划
- **成本异常检测:** 当支出偏离基准线时发出告警
- **计费回扣与分配:** 将成本归属到业务单元/项目
### 🔐 安全与合规
- **配置错误检测:** 识别安全组、IAM 和网络问题
- **合规性扫描:** 对照 CIS、NIST、ISO 27001、PCI-DSS 进行检查
- **漏洞评估:** 检测暴露的资源和不严的策略
- **审计追踪:** 完整记录所有配置和变更
- **自动修复:** 针对常见安全问题提供自动修复
### 📊 性能监控
- **实时指标:** 来自所有云实例的 CPU、内存、磁盘、网络数据
- **自定义仪表盘:** 构建量身定制的可视化视图
- **分布式追踪:** 跨微服务追踪请求
- **日志聚合:** 集中管理所有云服务的日志
- **告警管理:** 可配置的阈值和升级策略
### ⚡ 运维智能
- **资源盘点:** 跨云的全面资产目录
- **依赖映射:** 可视化资源之间的关系
- **容量规划:** 预测基础设施需求
- **可扩展性分析:** 识别自动伸缩组中的瓶颈
- **补丁管理:** 追踪更新和合规状态
## 🏗️ 架构
CloudSight-Analyzer 的高层架构:
```
flowchart TD
A[User Uploads Cloud Logs or Data] --> B[Frontend Dashboard Interface]
B --> C[Input Validation Layer]
C --> D[API Request to Backend]
D --> E[Backend Server]
E --> F[Data Preprocessing Module]
F --> G[Cloud Analysis Engine]
G --> H[Pattern Detection Module]
G --> I[Anomaly Detection Module]
G --> J[Statistical Analysis Module]
H --> K[Insight Generation Engine]
I --> K
J --> K
K --> L[Structured Analysis Results]
L --> M[Database Storage]
M --> N[Analysis Metadata Records]
L --> O[JSON Response to Frontend]
O --> P[Visualization Layer]
P --> Q[Charts and Graphs]
P --> R[Risk and Insight Panels]
P --> S[Interactive Analytics Dashboard]
```
## 📁 项目结构
CloudSight-Analyzer 清晰、模块化的组织结构:
```
CloudSight-Analyzer/
├─ README.md
├─ LICENSE
├─ requirements.txt
├─ docker-compose.yml
├─ Dockerfile
├─ .dockerignore
│
├─ cloudsight_analyzer/
│ ├─ __init__.py
│ ├─ config.py # Configuration management
│ ├─ utils/
│ │ ├─ logger.py
│ │ ├─ decorators.py
│ │ ├─ validators.py
│ │ └─ helpers.py
│ │
│ ├─ cloud/
│ │ ├─ base.py # Abstract cloud provider class
│ │ ├─ aws_provider.py # AWS integration
│ │ ├─ azure_provider.py # Azure integration
│ │ ├─ gcp_provider.py # GCP integration
│ │ └─ provider_factory.py # Factory pattern for providers
│ │
│ ├─ collectors/
│ │ ├─ base_collector.py
│ │ ├─ metrics_collector.py # CPU, memory, disk, network
│ │ ├─ cost_collector.py # Billing and cost data
│ │ ├─ security_collector.py # Security and compliance
│ │ └─ scheduler.py # Orchestrate collections
│ │
│ ├─ storage/
│ │ ├─ timeseries_db.py # InfluxDB / Prometheus
│ │ ├─ document_db.py # MongoDB for metadata
│ │ ├─ cache.py # Redis caching
│ │ └─ migrations.py # Database versioning
│ │
│ ├─ analytics/
│ │ ├─ anomaly_detector.py # ML-based anomaly detection
│ │ ├─ cost_optimizer.py # Cost analysis & recommendations
│ │ ├─ compliance_checker.py # CIS, NIST, ISO checks
│ │ ├─ predictor.py # Time-series forecasting
│ │ └─ models/ # Pre-trained ML models (.pkl, .h5)
│ │
│ ├─ api/
│ │ ├─ main.py # FastAPI application
│ │ ├─ schemas.py # Pydantic models
│ │ ├─ routes/
│ │ │ ├─ clouds.py # Cloud provider endpoints
│ │ │ ├─ resources.py # Resource management
│ │ │ ├─ metrics.py # Metrics & monitoring
│ │ │ ├─ costs.py # Cost analysis
│ │ │ ├─ security.py # Security & compliance
│ │ │ ├─ alerts.py # Alert management
│ │ │ ├─ reports.py # Report generation
│ │ │ └─ health.py # System health checks
│ │ │
│ │ └─ auth/
│ │ ├─ jwt_handler.py
│ │ └─ permissions.py
│ │
│ ├─ integrations/
│ │ ├─ slack_notifier.py
│ │ ├─ teams_notifier.py
│ │ ├─ email_sender.py
│ │ ├─ webhook_dispatcher.py
│ │ └─ siem_connector.py # SIEM (Splunk, ELK) integration
│ │
│ └─ dashboard/ # (Optional) Streamlit/React frontend
│ └─ app.py
│
├─ tests/
│ ├─ unit/
│ │ ├─ test_aws_provider.py
│ │ ├─ test_metrics_collector.py
│ │ ├─ test_anomaly_detector.py
│ │ └─ test_cost_optimizer.py
│ │
│ └─ integration/
│ └─ test_api_endpoints.py
│
├─ experiments/
│ ├─ notebooks/ # Jupyter exploration
│ │ ├─ cost_analysis.ipynb
│ │ ├─ anomaly_tuning.ipynb
│ │ └─ compliance_audit.ipynb
│ │
│ └─ results/ # Experiment reports
│
└─ data/
├─ raw/ # Raw cloud API responses (ignored)
├─ processed/ # Cleaned & enriched data
└─ models/ # ML model artifacts
```
## ☁️ 支持的云平台
### Amazon Web Services (AWS)
- **监控的服务:** EC2、RDS、S3、Lambda、DynamoDB、ECS、EKS、ALB/NLB、CloudFront 以及 200 多种服务
- **指标:** CPU、内存、磁盘 I/O、网络、特定应用程序指标
- **成本:** 追踪 EC2、RDS、S3、Lambda、计算成本,并提供详细明细
- **安全:** IAM 策略、安全组、VPC 配置、S3 存储桶策略
- **合规性:** CIS AWS Foundations Benchmark、PCI-DSS、HIPAA、SOC 2
### Microsoft Azure
- **监控的服务:** VMs、App Services、SQL Database、Cosmos DB、AKS、Functions、Storage
- **指标:** CPU 百分比、可用内存、磁盘 I/O、网络吞吐量
- **成本:** Azure 基于消耗的计费分析、预留实例优化
- **安全:** 网络安全组、IAM 角色、加密状态、Key Vault 审计
- **合规性:** CIS Azure Foundations、ISO 27001、NIST
### Google Cloud Platform (GCP)
- **监控的服务:** Compute Engine、GKE、Cloud SQL、Firestore、Cloud Storage、Cloud Functions
- **指标:** 通过 Monitoring API 获取 VM 指标、应用程序性能
- **成本:** 基于 BigQuery 的成本分析、承诺折扣
- **安全:** IAM 绑定、VPC 防火墙规则、存储桶 ACL
- **合规性:** CIS GCP Foundations、PCI-DSS、ISO 合规性追踪
### 混合云与多云
- **本地集成:** 连接物理服务器和 VM
- **跨云分析:** 关联跨提供商的指标和成本
- **统一计费:** 所有基础设施成本的单一全景视图
## 🚀 安装与设置
### 📋 前置条件
请确保已安装以下内容:
- **Node.js**(建议 v18 或更高版本)
- **npm**(随 Node.js 一起提供)
- **Git**(可选,用于克隆仓库)
- **Docker & Docker Compose**(可选,用于容器化部署)
### 📦 安装
克隆仓库并安装所有必需的依赖项。
```
git clone
cd CloudSight-Analyzer
npm install
```
### ▶️ 在开发模式下运行
同时启动 **React 前端**和 **Express 后端**。
```
npm run dev
```
### 运行中的服务
| 服务 | URL |
|---------|-----|
| 🌐 前端 | http://localhost:5173 |
| ⚙️ 后端 API | http://localhost:3000 |
| ❤️ 健康检查 | http://localhost:3000/api/health |
开发服务器包含:
- ⚡ 针对 React 的热模块替换 (HMR)
- 🔄 使用 Nodemon 自动重启后端
- 🚀 前端和后端并发执行
### 🏗️ 生产环境构建
生成优化后的生产构建。
```
npm run build
```
在本地预览生产构建:
```
npm run preview
```
### ⚙️ 环境变量
应用程序开箱即用,具有合理的默认配置。
如果您希望自定义配置,请在项目根目录中创建一个 `.env` 文件。
```
PORT=3000
API_URL=/api
```
| 变量 | 默认值 | 描述 |
|----------|---------|-------------|
| `PORT` | `3000` | 后端服务器端口 |
| `API_URL` | `/api` | 基础 API endpoint |
### 🐳 使用 Docker 运行
使用 Docker Compose 构建并启动应用程序。
```
docker-compose up -d --build
```
### 🌍 访问应用程序
容器启动后:
| 服务 | URL |
|---------|-----|
| 🌐 前端仪表盘 | http://localhost:5173 |
| ⚙️ 后端 API | http://localhost:3000 |
| ❤️ API 健康检查 | http://localhost:3000/api/health |
### 📜 查看容器日志
实时监控应用程序日志。
```
docker-compose logs -f
```
### 🛑 停止容器
```
docker-compose down
```
### 🔄 重建容器
如果依赖项或配置发生更改:
```
docker-compose up -d --build
```
### 📁 项目工作流
```
Clone Repository
│
▼
npm install
│
▼
npm run dev
│
├────────► Frontend → http://localhost:5173
│
└────────► Backend → http://localhost:3000
│
└── Health Check → /api/health
```
### 🐳 创建 `.dockerignore` 文件
在项目根目录下创建一个名为 **`.dockerignore`** 的文件,并添加以下内容:
```
node_modules
dist
.env
.git
.gitignore
.idx
README.md
```
该文件可防止将不必要的文件和文件夹复制到 Docker 构建上下文中,从而加快构建速度并减小 Docker 镜像体积。
## 📊 API Endpoint
| 方法 | Endpoint | 描述 |
|--------|----------|-------------|
| **GET** | `/api/v1/clouds` | 列出已配置的云 |
| **POST** | `/api/v1/clouds` | 注册新的云提供商 |
| **GET** | `/api/v1/clouds/{id}/resources` | 列出云资源 |
| **GET** | `/api/v1/metrics` | 获取时间序列指标 |
| **POST** | `/api/v1/metrics/search` | 高级指标搜索 |
| **GET** | `/api/v1/costs/summary` | 成本概览 |
| **GET** | `/api/v1/costs/recommendations` | 优化建议 |
| **POST** | `/api/v1/security/scan` | 运行安全扫描 |
| **GET** | `/api/v1/compliance/status` | 合规性状态 |
| **POST** | `/api/v1/alerts/configure` | 设置告警 |
| **GET** | `/api/v1/reports/list` | 列出可用报告 |
| **POST** | `/api/v1/reports/generate` | 生成自定义报告 |
| **GET** | `/api/v1/health` | 系统健康检查 |
## 📊 监控仪表盘
### Grafana 集成
CloudSight-Analyzer 包含预构建的 Grafana 仪表盘:
- **云概览:** 来自所有提供商的高层指标
- **成本分析:** 支出趋势、预测、建议
- **安全态势:** 合规状态、漏洞、配置错误
- **性能指标:** CPU、内存、磁盘、网络利用率
- **容量规划:** 资源预测和趋势
### 自定义仪表盘
```
# 访问 Grafana
http://localhost:3000
# 默认 credentials
username: admin
password: admin
# 从以下位置导入 CloudSight dashboards:
/grafana/dashboards/
```
## 🛠️ 技术栈
| 类别 | 技术 |
|----------|--------------|
| **核心语言** | TypeScript |
| **前端框架** | React 18 |
| **构建工具** | Vite |
| **路由** | React Router (`react-router-dom`) |
| **样式** | Tailwind CSS |
| **UI 组件** | shadcn/ui, Radix UI |
| **图标** | Lucide React |
| **主题管理** | Next Themes |
| **状态管理与数据获取** | SWR |
| **表单** | React Hook Form |
| **校验** | Zod, @hookform/resolvers |
| **图表与分析** | Recharts |
| **动画** | Framer Motion |
| **轮播** | Embla Carousel |
| **日期与日历** | date-fns, React Day Picker |
| **后端运行时** | Node.js |
| **后端框架** | Express.js |
| **开发服务器** | tsx, Nodemon |
| **中间件** | CORS, Dotenv |
| **开发工具** | Concurrently |
| **代码质量** | ESLint |
| **CSS 处理** | PostCSS, Autoprefixer |
| **包管理器** | npm |
| **版本控制** | Git, GitHub |
## 📈 分析与报告
### 可用报告
1. **执行摘要**
- 高层 KPI
- 成本概览和趋势
- 安全态势
- 核心建议
2. **成本分析**
- 按服务划分的详细成本明细
- 环比分析
- 合理规模调整机会
- 预留实例节省
3. **安全与合规**
- 针对框架的合规状态
- 漏洞和配置错误
- 修复状态
- 审计追踪
4. **性能报告**
- 资源利用率指标
- 瓶颈识别
- 可扩展性分析
- 建议
## ⚡ 性能优化
### 扩展性考量
```
# docker-compose.yml - 生产配置
version: '3.9'
services:
cloudsight-api:
image: cloudsight-analyzer:latest
deploy:
replicas: 3
resources:
limits:
cpus: '2'
memory: 4G
environment:
- WORKERS=4
- DATABASE_POOL_SIZE=20
influxdb:
image: influxdb:2.7
volumes:
- influxdb-storage:/var/lib/influxdb2
environment:
- INFLUXDB_DB_RETENTION=30d
postgres:
image: postgres:15-alpine
environment:
- POSTGRES_MAX_CONNECTIONS=200
redis:
image: redis:7-alpine
command: redis-server --maxmemory 2gb --maxmemory-policy allkeys-lru
```
### 查询优化
- **缓存:** Redis 缓存频繁访问的指标
- **批处理:** 针对时间序列数据的批量插入
- **索引策略:** 针对常见查询优化数据库索引
- **聚合:** 预计算的每小时/每日摘要标签:AMSI绕过, AV绕过, FastAPI, MITM代理, 威胁检测, 异常检测, 搜索引擎查询, 构建工具, 版权保护, 监控运维, 自动化攻击, 请求拦截, 逆向工具