-
Notifications
You must be signed in to change notification settings - Fork 0
03 operation and maintenance faq
本文面向 运维工程师、系统管理员 与 值班人员,覆盖 部署、配置、日志、备份、性能、安全与应急 等常见问题,并与 例行巡检清单、事件响应 交叉引用。
相关主文档:部署总览 · 配置与密钥 · 日志与监控 · 数据库运维
既有补充:管理员概览与日常清单
优先区分 静态资源 与 API:
- 静态 OK、API 502:通常是 上游应用进程未监听、反向代理 upstream 配置错误 或 网关超时。参见 反向代理与 TLS、运行时与进程。
- 全部不可达:网络、DNS、防火墙或负载均衡健康检查失败。
以现场约定为准;常见为 HTTP 200 + 简单 JSON。若健康检查仅验证进程存在而不连数据库,可能出现 假健康(进程活着但业务不可用)。建议在 巡检清单 中区分 liveness 与 readiness。
可能是 统一重新部署、密钥轮换 或 批量踢出会话。先确认是否有 变更单;若无,检查是否 误触用户表的 session_version 批量更新 或 JWT 签名密钥变更。参见 登录权限 FAQ。
轮换会导致 所有已签发 Token 失效,用户需重新登录。应选择 业务低峰窗口,并提前公告。详见 配置项与密钥管理。
- 数据库:迁移/启动失败,或运行期 随机 500(连接池耗尽)。
- 缓存:若用于登录失败计数等,可能导致 锁定策略异常 或 会话相关键丢失。
配置分层(dev/staging/prod)建议在 部署总览 中维护清单。
以项目启动脚本与 Django settings 实现为准;禁止 将生产密钥提交到 Git。参见 本地开发 与密钥文档。
常见位置:
-
应用日志:stdout(容器)、或
logs/目录(视部署而定)。 -
反向代理:
access.log/error.log。 - 数据库:慢查询日志、主从复制延迟。
汇总见 日志与监控。
- 根据 请求 ID / 时间 / 用户 在应用日志中搜 traceback。
- 区分 代码异常 与 依赖不可用(DB、Redis、外部 HTTP)。
- 若是 迁移未执行 导致列不存在,查 Django migration 状态。
跨域配置可能涉及 Nginx 与 Django CORS 设置 双方;应 对照环境 排查,避免生产放开过度宽松的 Access-Control-Allow-Origin: * 与敏感接口并存。参见 部署与配置。
由 RPO/RTO 与合规要求决定。至少保证 可恢复到发版前一刻 与 周期性演练恢复。步骤见 备份与恢复 与 数据库运维。
勿随意删 数据库数据目录或 WAL。优先:轮转日志、清理临时导出文件、扩容磁盘。删除前确认 备份 有效。
应在 预发布环境 先执行合并与 --plan 检查;生产需 维护窗口 与 回滚预案。研发流程见 Git 与协作。
- 数据库 慢查询、缺失索引;
-
N+1 查询(DRF 未
select_related); - Redis/缓存命中率;
- 前端大包体 与 网关超时。
可能在 Nginx client_max_body_size、Django DATA_UPLOAD_MAX_MEMORY_SIZE、或 对象存储 SDK 层。需 一致调大,否则表现为截断或 413。
通过 系统管理 → 操作日志 与后端审计表(若有)。详见 审计与操作日志 与 审计日志运维。
评估 可利用性 与 修复版本;在测试环境验证后 小版本升级,并记录 变更记录 中的模板说明。
通用顺序:备份数据库 → 停写或只读(若可)→ 迁移 → 部署新版本 → 冒烟测试 → 放开流量。细节见 部署总览 与 事件响应。
若新版本已执行 不可逆迁移,则 不能 仅回滚代码;需要 数据修复脚本 或 从备份恢复。发版前务必评估迁移可逆性。
区分 系统缺陷 与 操作错误:先取 单号、截图、时间、账号,查 操作日志 与 应用日志。若属权限或会话问题,转 登录权限 FAQ;若属流程理解问题,转 业务流程 FAQ。
若 网络出口、DNS、TLS 中间人 导致无法访问外网,属运维;若 应用解析 失败,属研发。参见 标准爬取说明。
| 日期 | 版本 | 作者 | 摘要 |
|---|---|---|---|
| 2026-04-01 | 1.0 | Wiki | 初版:运维 FAQ |