# 运维规范

规范系统部署、监控、维护流程,确保系统稳定运行

# 一、部署流程

# 部署前检查清单

  • [ ] 代码已合并到发布分支
  • [ ] 代码审查通过
  • [ ] 测试报告通过
  • [ ] 数据库脚本已准备
  • [ ] 回滚方案已准备
  • [ ] 相关人员已通知

# 部署流程

代码冻结 → 构建打包 → 预发环境验证 → 生产部署 → 上线验证
1

# 部署时间窗口

类型 时间窗口 说明
常规发布 周二/周四 凌晨 0:00-5:00 避开业务高峰
紧急发布 随时 需项目经理审批
大版本发布 提前规划好时间 0:00-6:00 预留充足回滚时间

# 发布记录模板

【发布单号】REL-2026-001
【发布日期】2026-03-20
【发布人员】张三
【发布内容】
- 功能 1: XXX
- 功能 2: XXX
- Bug 修复:XXX

【数据库变更】
- 新增表:XXX
- 修改表:XXX

【回滚方案】
1. 回滚代码到上一版本
2. 执行回滚 SQL
3. 验证核心功能

【验证结果】
✅ 核心功能验证通过
✅ 数据库验证通过
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

# 二、监控告警

# 监控指标

# 系统层面

  • CPU 使用率(阈值:80%)
  • 内存使用率(阈值:85%)
  • 磁盘使用率(阈值:90%)
  • 网络流量

# 应用层面

  • API 响应时间(阈值:P95 < 500ms)
  • API 错误率(阈值:< 1%)
  • QPS/TPS
  • 活跃用户数

# 业务层面

  • 订单量
  • 支付成功率
  • 登录成功率

# 告警级别

级别 响应时间 通知方式 示例
P0-严重 15 分钟 电话 + 短信 + 微信 系统宕机
P1-高 30 分钟 短信 + 微信 核心功能异常
P2-中 2 小时 微信 非核心功能异常
P3-低 24 小时 邮件 性能下降

# 告警联系人

  • 一线值班:运维工程师
  • 二线支持:技术负责人
  • 三线支持:项目总监

# 三、日志管理

# 日志级别

级别 说明 示例
ERROR 错误,需要立即处理 数据库连接失败
WARN 警告,需要关注 API 响应超时
INFO 信息,正常业务日志 用户登录成功
DEBUG 调试,开发调试用 方法入参出参

# 日志规范

// ✅ 推荐 - 结构化日志
_logger.LogInformation("用户 {UserId} 登录成功,IP: {IP}", userId, ipAddress);

// ❌ 不推荐 - 字符串拼接
_logger.LogInformation("用户 " + userId + " 登录成功,IP: " + ipAddress);
1
2
3
4
5

# 日志收集

  • 使用 ELK(Elasticsearch + Logstash + Kibana)或类似工具
  • 日志集中存储,便于查询分析
  • 日志保存至少 6 个月

# 四、数据备份

# 备份策略

类型 频率 保留时间 存储位置
全量备份 每日 30 天 本地 + 异地
增量备份 每小时 7 天 本地
日志备份 实时 7 天 本地

# 备份验证

  • 每周随机抽取备份进行恢复验证
  • 每季度做一次完整恢复演练
  • 记录恢复时间,评估 RTO(恢复时间目标)

# 备份监控

  • 监控备份任务是否成功
  • 监控备份文件大小是否异常
  • 备份失败立即告警

# 五、应急预案

# 常见故障处理

# 数据库故障

1. 确认故障类型(连接失败、死锁、慢查询)
2. 查看数据库监控和日志
3. 必要时切换主从
4. 联系 DBA 支持
1
2
3
4

# 应用故障

1. 查看应用日志和监控
2. 重启应用服务
3. 必要时回滚版本
4. 分析原因,修复问题
1
2
3
4

# 网络故障

1. 确认故障范围(单台、部分、全部)
2. 检查网络配置和防火墙
3. 联系网络管理员
4. 必要时切换网络线路
1
2
3
4

# 应急联系人

角色 姓名 电话 职责
运维值班 张三 138**** 一线响应
技术负责人 李四 139**** 技术支持
项目经理 王五 137**** 客户沟通

# 六、性能优化

# 性能监控

  • 定期分析慢查询日志
  • 监控 API 响应时间趋势
  • 监控系统资源使用趋势

# 优化方向

# 数据库优化

  • 定期索引重建
  • 优化慢查询 SQL
  • 历史数据归档

# 应用优化

  • 缓存热点数据
  • 异步处理耗时操作
  • 代码性能优化

# 架构优化

  • 读写分离
  • 负载均衡
  • CDN 加速

# 七、变更管理

# 变更分类

类型 审批 示例
标准变更 运维经理 常规发布、配置调整
重要变更 技术负责人 数据库变更、架构调整
紧急变更 项目经理 + 事后补审批 紧急 Bug 修复

# 变更流程

变更申请 → 影响评估 → 审批 → 实施 → 验证 → 记录
1

# 相关文档