# 运营和监控

## 版本信息
| 版本 | 日期 | 描述 | 作者 |
|------|------|------|------|
| 2.4 | 2025-09-20 | 与主架构文档版本一致 | Winston |

## 监控策略

**前端监控**:
- **Core Web Vitals**: 监控LCP, FID, CLS等关键性能指标
- **错误跟踪**: 捕获JavaScript运行时错误和API调用失败
- **用户行为**: 跟踪关键用户交互和转化漏斗
- **性能指标**: 页面加载时间，API响应时间监控

**后端监控**:
- **应用性能**: 请求率、错误率、响应时间(p95)
- **数据库性能**: 查询执行时间、连接池使用率
- **基础设施**: CPU、内存、磁盘使用率监控
- **业务指标**: 用户活跃度、API调用统计

## 日志管理
- **结构化日志**: JSON格式日志，包含请求ID、用户ID等上下文
- **日志级别**: DEBUG, INFO, WARN, ERROR分级管理
- **日志聚合**: 集中式日志收集和分析
- **审计日志**: 所有安全敏感操作记录详细审计日志

## 告警策略
- **关键告警**: 应用不可用、数据库连接失败、5xx错误率 > 1%
- **警告告警**: 响应时间 > 500ms, 4xx错误率 > 5%
- **信息告警**: 资源使用率 > 80%, 备份任务完成

## 错误处理策略

### 统一错误格式
```typescript
interface ApiError {
  error: {
    code: string;      // 错误代码，如: 'VALIDATION_ERROR'
    message: string;   // 用户友好的错误信息
    details?: Record<string, any>; // 详细错误信息
    timestamp: string; // ISO时间戳
    requestId: string; // 请求追踪ID
  };
}
```

### 错误分类和处理
- **验证错误**(400): 输入数据验证失败
- **认证错误**(401): 未认证或token过期
- **权限错误**(403): 权限不足
- **资源不存在**(404): 请求的资源不存在
- **服务器错误**(500): 内部服务器错误
- **服务不可用**(503): 维护或过载

### 前端错误处理
- **API错误**: 统一错误处理中间件，用户友好提示
- **网络错误**: 重试机制和离线状态处理
- **组件错误**: React Error Boundary捕获渲染错误
- **用户输入错误**: 实时验证和提示

### 后端错误处理
- **全局错误处理**: 统一错误处理中间件
- **数据库错误**: 连接池管理和重试机制
- **外部服务错误**: 熔断器和降级处理
- **日志记录**: 所有错误记录详细上下文信息

### 性能监控指标
- **应用性能指标**: 请求响应时间(p50, p95, p99)、错误率、吞吐量
- **数据库性能**: 查询执行时间、连接池使用率、锁等待时间
- **缓存性能**: Redis命中率、内存使用率、响应时间
- **基础设施**: CPU使用率、内存使用率、磁盘IO、网络带宽

### 业务监控指标
- **用户活跃度**: 日活用户(DAU)、月活用户(MAU)、用户留存率
- **API使用统计**: 各端点调用频率、成功率、平均响应时间
- **功能使用**: 关键功能使用率、用户行为漏斗分析
- **业务健康度**: 订单成功率、支付成功率、用户满意度