日志、监控、备份与恢复
上线后需要知道系统是否可用、哪里变慢、错误影响了谁。日志、指标和告警提供不同角度,恢复演练证明备份真的能用。
- 为任务应用建立最小观测面板和一次恢复演练记录,故障时能从用户现象追到请求。
- 结构化日志、错误追踪和关键指标
- 验证日志、监控、备份与恢复后,应当为任务应用建立最小观测面板和一次恢复演练记录,故障时能从用户现象追到请求,并保留权限响应、测试报告、证书状态、告警和恢复记录作为可重复检查的依据。
- 完成 7.4「域名、HTTPS、SEO 与可访问性」
FOUNDATION
必须理解
上线后你无法站在每位用户身边。日志、指标和告警让系统留下证据,备份与恢复则确保最坏情况发生时仍能找回关键数据。
本课依次讲清结构化日志、错误追踪和关键指标、健康检查、告警与服务依赖和数据库备份、恢复演练和回滚,最后通过“执行一次数据库备份并在隔离环境恢复验证”检查学习结果。
运营一家店需要收银记录、监控仪表、异常报警和备用账本。只有顾客投诉后才知道停电,或者有备份却从没试过恢复,都不算可靠。
任务应用记录带请求 ID 的结构化错误,监控响应时间与失败率,对异常登录和数据库错误告警,并定期备份 PostgreSQL、演练恢复。
结构化日志、错误追踪和关键指标
日志记下某次具体事件和上下文,指标把大量事件汇总成趋势,追踪再把一次请求经过的多个服务串起来。它们都不能顺手记录密码和完整敏感数据。
基础概念
日志记录离散事件,指标把大量事件聚合为数值趋势,错误追踪收集异常与上下文。结构化表示字段稳定,便于搜索、关联和告警。
进一步理解
一条请求日志可有时间、级别、requestId、路由、结果和耗时;指标可统计成功率、延迟分位数与队列长度。
日志不能记录密码、完整令牌和无必要个人数据。requestId 可串联浏览器错误、服务端处理与下游请求,而不暴露秘密。
创建任务失败时,前端显示 requestId;维护者用它找到接口异常、数据库超时和同一时间段失败率上升。
日志多不等于可观测。没有稳定字段、上下文和查询方式的大量文本只会增加成本与隐私风险。
这一小节记住:记录能回答谁、何时、在哪里、发生什么和影响多大的必要证据。
健康检查、告警与服务依赖
好告警应该告诉你用户受到了什么影响,以及接下来能做什么。相比 CPU 偶尔升高,登录失败率、接口延迟和核心流程成功率往往更接近真实体验。
基础概念
健康检查回答服务当前能否履行基本职责,告警在关键指标越过阈值时通知负责者,服务依赖是应用运行所需的数据库、队列或外部 API。
进一步理解
存活检查确认进程存在,就绪检查确认能否接收流量。深度健康检查要谨慎,避免一次依赖波动让所有实例同时被判死。
好告警围绕用户影响、持续时间和可行动性设计。偶发 CPU 高不一定需要叫醒人,核心流程持续失败则应立即处理。
任务 API 的就绪检查确认必要配置和数据库连接;告警关注五分钟创建成功率低于阈值,并附仪表盘与处理手册。
健康接口返回 200 只证明检查内容通过,不证明每条业务流程都健康;告警也不是所有异常都发一条消息。
这一小节记住:监控最接近用户价值的信号,并让告警指向可以采取的行动。
数据库备份、恢复演练和回滚
备份文件存在不代表一定能恢复。你还要知道多久备一次、保存多久、放在哪里,以及实际恢复会丢多少数据、花多少时间。
基础概念
备份是数据的独立可恢复副本,恢复演练证明副本真的可用,回滚是把应用或配置切回稳定版本。RPO 描述最多可接受丢失多久数据,RTO 描述最多可接受恢复多久。
进一步理解
备份要规定频率、保留周期、存储位置、加密与访问权限。与生产放在同一故障域的副本可能一起丢失。
恢复必须在隔离环境定期演练并记录时间与校验结果。代码回滚不能撤销已发生的数据写入,数据库恢复也会影响恢复点之后的新数据。
任务数据每小时增量、每日完整备份;季度在隔离库恢复,验证记录数量、关键关系和应用读取,并记录实际 RPO/RTO。
看到备份任务“成功”不代表内容完整可恢复;回滚部署也不等于把数据库自动回到昨天。
这一小节记住:只有经过恢复验证的备份,才是可信的灾难恢复能力。
AI COLLABORATION
AI 如何参与
在日志、监控、备份与恢复这一课,AI 负责根据真实材料解释结构化日志、错误追踪和关键指标并指出遗漏,学习者负责控制范围、执行修改和核对权限响应、测试报告、证书状态、告警和恢复记录。
推荐协作顺序
- 1
先把用户最重要的三条流程告诉 AI,让监控围绕它们设计。
- 2
让它把每项日志、指标和告警对应到一个具体问题。
- 3
拿一次模拟故障检验告警是否能指导动作,并演练从备份恢复。
这是脱敏日志字段、指标和用户故障描述。请按时间与请求标识关联证据,提出最小告警条件和恢复检查。不要要求生产秘密或用户正文,不把单次异常直接定为根因。
方案规模与小产品匹配,关注登录和任务读写成功率,不引入过重平台;每条告警有负责人动作;日志、监控、备份与恢复的人工验收必须回到真实页面、请求、终端、测试或数据结果,不能用 AI 的文字说明代替。
人工检查清单
- 确认日志脱敏、错误可关联、备份与生产分离,并明确实际恢复验证。
- 让 AI 的诊断引用具体日志字段、指标时间窗和依赖状态,并标明缺失证据。
- 实际制造可控失败与隔离恢复演练,确认告警到达、手册可执行、备份能读取。
COMMON TRAPS
常见误区
下面三类问题会让任务看似完成,却经不起刷新、错误输入或真实环境检查。先看现象,再找原因和修正方法。
收集日志却不保护数据
- 你会看到
- 日志中出现令牌和用户正文
- 为什么发生
- 日志通常保存更久、访问者更多,敏感正文和凭证会扩大泄露面。
- 怎样纠正
- 只记录必要字段并脱敏
告警过多没有优先级
- 你会看到
- 值守者逐渐忽略通知
- 为什么发生
- 无法行动的通知会持续消耗注意力,最终连重要告警也被忽略。
- 怎样纠正
- 只为可行动问题设置分级
从未做恢复演练
- 你会看到
- 事故时才发现备份损坏
- 为什么发生
- 备份文件存在不代表能够读取和还原,问题往往到事故时才暴露。
- 怎样纠正
- 按计划在隔离环境还原
HANDS-ON
动手任务
为任务应用建立最小观测面板和一次恢复演练记录,故障时能从用户现象追到请求。
- 完成 7.4「域名、HTTPS、SEO 与可访问性」
跟着做
- 01
为每次请求生成或传播 requestId。
- 02
定义结构化日志字段和禁止记录清单。
- 03
记录请求量、错误率和延迟三项基础指标。
- 04
为登录失败激增和任务 API 高错误率建立告警说明。
- 05
执行一次数据库备份并在隔离环境恢复验证。
为任务应用建立最小观测面板和一次恢复演练记录,故障时能从用户现象追到请求。
写一份 20 分钟故障处理卡:确认影响、止损、沟通、恢复、复盘分别做什么。
离开本课前,自问四件事
- 日志、指标与错误追踪分别适合回答什么问题?
- 存活检查、就绪检查和业务健康有什么区别?
- 一个可行动告警至少应包含哪些信息?
- RPO、RTO、备份、恢复演练与代码回滚如何关联?
确认完成后,会同步更新学习中心的课程学习进度。