外观
TDSQL 运维 Checklist
日常运维 Checklist
每日检查项目
实例状态检查
- [ ] 检查所有实例状态是否为"运行中"
- [ ] 检查主从复制状态是否正常,复制延迟是否在合理范围内(< 30秒)
- [ ] 检查只读实例同步状态
- [ ] 检查分布式实例各分片状态
硬件资源监控
- [ ] 检查 CPU 使用率,确保不超过 80%
- [ ] 检查内存使用率,确保不超过 85%
- [ ] 检查磁盘空间使用率,确保不超过 80%
- [ ] 检查磁盘 I/O 利用率,确保不超过 80%
- [ ] 检查网络带宽使用率,确保不超过 80%
数据库性能监控
- [ ] 检查 QPS/TPS 变化趋势,是否有异常波动
- [ ] 检查慢查询数量,是否有新增的慢查询
- [ ] 检查连接数,确保不超过最大连接数的 80%
- [ ] 检查锁等待时间和死锁数量
- [ ] 检查事务执行情况,是否有长时间运行的事务
告警检查
- [ ] 查看当日所有告警信息
- [ ] 确认所有告警已处理或正在处理
- [ ] 记录告警原因和处理方法
备份检查
- [ ] 检查每日自动备份是否成功
- [ ] 确认备份文件大小和数量是否正常
- [ ] 检查备份存储状态
每小时检查项目
实时监控
- [ ] 监控 CPU、内存、磁盘 I/O 等关键指标
- [ ] 监控 QPS/TPS 实时变化
- [ ] 检查慢查询实时情况
- [ ] 关注实时告警信息
业务健康度
- [ ] 检查业务响应时间是否正常
- [ ] 确认业务功能是否正常
- [ ] 关注业务投诉或反馈
定期检查 Checklist
每周检查项目
数据库结构检查
- [ ] 检查表碎片情况,清理超过 30% 碎片的表
- [ ] 检查索引使用情况,删除无用索引
- [ ] 检查表空间增长情况
- [ ] 检查分区表状态
性能优化
- [ ] 分析慢查询日志,优化排名前 10 的慢查询
- [ ] 更新统计信息
- [ ] 检查执行计划是否异常
安全检查
- [ ] 检查用户权限,确保符合最小权限原则
- [ ] 检查 IP 访问白名单,移除不必要的 IP
- [ ] 检查审计日志,关注异常操作
- [ ] 检查 SSL/TLS 配置是否正常
备份验证
- [ ] 随机抽取一个备份文件进行恢复测试
- [ ] 验证恢复后的数据完整性
- [ ] 记录恢复时间
监控配置检查
- [ ] 检查监控告警规则是否合理
- [ ] 确认所有关键指标都已配置监控
- [ ] 检查告警通知方式是否正常
每月检查项目
系统配置检查
- [ ] 检查操作系统参数配置
- [ ] 检查数据库参数配置,根据业务变化进行调整
- [ ] 检查网络配置
- [ ] 检查防火墙规则
容量规划
- [ ] 分析数据增长趋势,预测未来 3-6 个月的存储需求
- [ ] 分析性能增长趋势,预测未来 3-6 个月的计算资源需求
- [ ] 评估是否需要扩容或升级实例规格
安全审计
- [ ] 进行漏洞扫描
- [ ] 检查安全补丁是否已安装
- [ ] 检查敏感数据保护措施
- [ ] 审查访问日志,查找异常访问
备份策略调整
- [ ] 评估当前备份策略是否合理
- [ ] 根据数据增长情况调整备份频率和保留时间
- [ ] 检查备份存储成本,优化存储策略
文档更新
- [ ] 更新数据库架构文档
- [ ] 更新运维手册
- [ ] 更新应急预案
- [ ] 整理常见问题和解决方案
每季度检查项目
全面性能评估
- [ ] 进行全量性能测试
- [ ] 分析性能瓶颈
- [ ] 制定性能优化计划
容灾演练
- [ ] 执行主从切换演练
- [ ] 执行跨可用区切换演练
- [ ] 执行数据恢复演练
- [ ] 记录演练过程和结果,更新应急预案
架构评审
- [ ] 评审数据库架构是否满足业务需求
- [ ] 评估架构扩展性
- [ ] 评估架构高可用性
- [ ] 提出架构优化建议
知识分享
- [ ] 组织团队内部技术分享
- [ ] 整理季度运维工作总结
- [ ] 分享典型故障案例和解决方案
每年检查项目
全面安全评估
- [ ] 进行渗透测试
- [ ] 全面审查安全策略
- [ ] 更新安全管理制度
- [ ] 组织安全培训
变更管理 Checklist
变更前检查
变更计划准备
- [ ] 明确变更目的和范围
- [ ] 制定详细的变更步骤
- [ ] 评估变更风险和影响范围
- [ ] 制定回滚计划
- [ ] 确定变更时间窗口
- [ ] 通知相关人员和团队
变更测试
- [ ] 在测试环境进行充分测试
- [ ] 验证变更效果
- [ ] 验证回滚计划有效性
- [ ] 记录测试结果
变更审批
- [ ] 提交变更申请
- [ ] 获取相关人员审批
- [ ] 确认变更时间和人员
变更中检查
变更执行
- [ ] 按照变更计划执行变更
- [ ] 执行过程中实时监控系统状态
- [ ] 记录变更执行时间和步骤
- [ ] 遇到问题及时执行回滚计划
变更验证
- [ ] 验证变更效果是否符合预期
- [ ] 检查系统状态是否正常
- [ ] 检查业务功能是否正常
- [ ] 监控性能指标是否正常
变更后检查
后续监控
- [ ] 变更后 24 小时内加强监控
- [ ] 关注系统性能变化
- [ ] 关注业务反馈
故障处理 Checklist
故障发现与响应
- [ ] 确认故障现象和影响范围
- [ ] 记录故障发生时间和初步症状
- [ ] 通知相关人员和团队
- [ ] 启动故障处理应急预案
故障定位与分析
- [ ] 收集故障相关信息(日志、监控数据等)
- [ ] 分析故障原因
- [ ] 定位故障点
- [ ] 评估故障严重程度
故障处理与恢复
- [ ] 执行故障处理方案
- [ ] 实时监控处理过程
- [ ] 验证故障是否解决
- [ ] 恢复业务服务
备份与恢复 Checklist
备份配置检查
- [ ] 确认自动备份策略是否正确配置
- [ ] 检查备份保留时间是否合理
- [ ] 检查备份存储位置是否安全可靠
- [ ] 确认备份加密设置
备份执行检查
- [ ] 检查每日自动备份是否成功
- [ ] 检查手动备份是否按计划执行
- [ ] 确认备份文件完整性
- [ ] 检查备份文件大小是否正常
恢复测试检查
- [ ] 定期执行恢复测试(至少每月一次)
- [ ] 验证恢复后数据完整性
- [ ] 记录恢复时间
- [ ] 评估恢复效率
- [ ] 更新恢复流程和文档
安全管理 Checklist
访问控制
- [ ] 使用最小权限原则分配用户权限
- [ ] 定期审查和清理无用用户和权限
- [ ] 限制 IP 访问范围
- [ ] 定期更换数据库密码
- [ ] 禁用或删除默认用户
数据保护
- [ ] 开启数据传输加密(SSL/TLS)
- [ ] 开启数据静态加密
- [ ] 敏感数据字段加密存储
- [ ] 实施数据脱敏策略
- [ ] 定期备份数据,确保数据可恢复
安全审计
- [ ] 开启审计日志
- [ ] 定期审查审计日志,关注异常操作
- [ ] 保存审计日志至少 90 天
- [ ] 定期进行安全审计
漏洞管理
- [ ] 定期进行漏洞扫描
- [ ] 及时安装安全补丁
- [ ] 关注数据库厂商发布的安全公告
- [ ] 定期更新数据库版本
性能优化 Checklist
数据库结构优化
- [ ] 设计合理的表结构
- [ ] 创建必要的索引
- [ ] 优化索引使用
- [ ] 定期清理无用数据和索引
- [ ] 合理使用分区表
SQL 语句优化
- [ ] 优化慢查询语句
- [ ] 避免全表扫描
- [ ] 优化 JOIN 操作
- [ ] 合理使用子查询
- [ ] 避免在查询中使用函数
参数调优
- [ ] 根据业务特点调整数据库参数
- [ ] 优化缓冲区配置
- [ ] 调整连接数参数
- [ ] 优化日志刷新策略
- [ ] 调整锁相关参数
架构优化
- [ ] 采用读写分离架构
- [ ] 实施分库分表
- [ ] 增加缓存层
- [ ] 优化数据分布
- [ ] 采用多可用区部署
工具与自动化 Checklist
运维工具管理
- [ ] 维护常用运维工具列表
- [ ] 确保工具版本最新
- [ ] 定期测试工具功能
- [ ] 培训团队成员使用工具
自动化脚本管理
- [ ] 维护常用自动化脚本库
- [ ] 定期更新和优化脚本
- [ ] 测试脚本功能
- [ ] 文档化脚本使用方法
监控与告警自动化
- [ ] 配置自动化监控规则
- [ ] 配置自动化告警通知
- [ ] 实现自动化故障检测
- [ ] 考虑实现自动化故障恢复
常见问题(FAQ)
Q1: 如何使用运维 Checklist 提高运维效率?
A1: 使用运维 Checklist 提高运维效率的方法包括:
- 将 Checklist 整合到日常工作流程中,形成习惯
- 使用自动化工具执行部分检查项目
- 根据实际情况调整 Checklist 内容
- 定期回顾和优化 Checklist
- 团队成员共享和更新 Checklist
Q2: 如何确保 Checklist 的执行效果?
A2: 确保 Checklist 执行效果的方法包括:
- 明确责任人和执行时间
- 记录执行结果,便于跟踪和审计
- 定期检查 Checklist 执行情况
- 对未执行或执行不到位的项目进行跟进
- 建立奖惩机制,激励团队成员严格执行
Q3: 如何根据业务特点调整 Checklist?
A3: 根据业务特点调整 Checklist 的方法包括:
- 分析业务的重要性和敏感度
- 根据业务负载调整检查频率
- 根据业务类型调整检查重点
- 结合历史故障情况调整检查项目
- 定期评估 Checklist 的适用性,进行必要的调整
Q4: 如何将 Checklist 与自动化工具结合使用?
A4: 将 Checklist 与自动化工具结合使用的方法包括:
- 识别可以自动化的检查项目
- 选择合适的自动化工具
- 将自动化工具的输出与 Checklist 结合
- 定期验证自动化工具的准确性
- 对无法自动化的项目继续人工执行
Q5: 如何确保 Checklist 的持续更新和优化?
A5: 确保 Checklist 持续更新和优化的方法包括:
- 定期回顾 Checklist 的执行情况
- 结合新的技术和工具更新 Checklist
- 根据业务变化调整 Checklist
- 结合故障案例和经验教训更新 Checklist
- 鼓励团队成员提出改进建议
Q6: 如何使用 Checklist 进行团队协作?
A6: 使用 Checklist 进行团队协作的方法包括:
- 共享 Checklist 给所有团队成员
- 明确团队成员的职责和分工
- 使用协作工具跟踪 Checklist 的执行情况
- 定期召开会议讨论 Checklist 的执行情况
- 建立团队共享的 Checklist 知识库
