以下为本页可直接引用的结论要点,均来自正文对应章节的详细论证。
结论:DravenAI 的运维对象分为「应用服务、数据服务、任务服务、集成通道」四类,加上承载它们的主机与网络。私有化部署下,平台方负责应用自身的问题定位与版本修复,客户方负责主机、数据库、网络与备份;双方的交界处必须事先写清楚,否则故障发生时容易互相等待。
建议在上线前输出一份《运维职责矩阵》,逐项列出「监控项—责任人—响应时限—升级路径」。这份文档比口头约定有效得多,也是等保与审计检查时常被要求提供的材料。下面给出四类运维对象的常见故障面,作为矩阵的编制起点。
| 运维对象 | 包含组件 | 常见故障面 | 通常责任方 |
|---|---|---|---|
| 应用服务 | 网关、前端、业务服务、检索服务、模型服务 | 进程退出、接口超时、连接池耗尽、版本升级失败 | 平台方主导,客户方配合 |
| 数据服务 | 关系数据库、向量检索、对象存储、缓存 | 磁盘满、慢查询、主从延迟、分片不均、索引膨胀 | 客户方 DBA 主导 |
| 任务服务 | 解析任务、向量化任务、同步任务、定时任务 | 任务堆积、失败重试风暴、队列阻塞、依赖服务不可用 | 平台方主导 |
| 集成通道 | 身份源对接、业务系统对接、消息通知、邮件短信 | 凭证过期、接口变更、证书到期、限流触发 | 双方共管,按接口归属划分 |
| 承载环境 | 主机、操作系统、容器编排、网络与防火墙 | 资源不足、内核参数、网络策略变更、时间不同步 | 客户方主导 |
结论:监控指标按「基础设施层、服务层、业务层、体验层」四层建立,每层只保留能直接触发处置动作的指标。指标过多会导致告警疲劳,判断标准是:一个指标告警后,值班人员是否知道该做什么——如果不知道,这个指标就不该配告警,只做观测即可。
阈值设定不要拍脑袋,先用 2 至 4 周的历史数据看基线,再按「均值 + 2 倍标准差」或 P95/P99 分位设定,上线后每季度回看一次并调整。下面给出四层的核心指标与建议阈值区间,数值为通用起点,需按实际负载校准。
| 层级 | 指标 | 建议告警阈值 | 告警级别 | 第一处置动作 |
|---|---|---|---|---|
| 基础设施 | CPU 使用率 | 持续 5 分钟 >80% | 警告 | 查看进程占用,判断是业务高峰还是异常任务 |
| 基础设施 | 内存使用率 | 持续 5 分钟 >85% | 警告 | 检查是否有内存泄漏或缓存配置过大 |
| 基础设施 | 磁盘使用率 | >70% 提示、>85% 警告、>90% 严重 | 分级 | 清理日志与临时文件,评估扩容或归档 |
| 基础设施 | 磁盘 IO 等待 | 持续 10 分钟 >20% | 警告 | 定位高 IO 任务,考虑错峰执行 |
| 服务层 | 服务存活(健康检查) | 连续 3 次失败 | 严重 | 尝试重启并从日志定位退出原因 |
| 服务层 | 接口错误率 | 5 分钟窗口 >1% | 严重 | 按错误码分类,判断是否集中在一个接口 |
| 服务层 | 接口 P95 响应时间 | >基线 2 倍或 >3 秒 | 警告 | 检查慢查询与下游依赖 |
| 服务层 | 数据库连接池使用率 | >85% | 警告 | 检查慢查询与连接泄漏 |
| 业务层 | 任务队列积压 | 积压 >1000 或等待 >30 分钟 | 警告 | 检查 worker 数量与失败重试是否形成风暴 |
| 业务层 | 任务失败率 | 1 小时窗口 >5% | 警告 | 按错误类型聚合,判断是文件问题还是服务问题 |
| 业务层 | 检索召回为空的比例 | 日维度 >15% | 提示 | 检查索引是否同步、切分是否异常 |
| 体验层 | 首屏加载时间 | P75 >3 秒 | 提示 | 检查静态资源与网络链路 |
| 体验层 | 问答端到端耗时 | P95 >8 秒 | 警告 | 拆分检索与生成耗时,定位瓶颈环节 |
推荐指标走时序数据库、日志走日志平台、链路走分布式追踪,三者用统一的 TraceID 关联。若团队规模小,可先用「指标 + 日志」两件套,追踪留到有明确性能问题时再补,不要一开始就堆齐三套系统。
要。瞬时抖动不应触发告警,所有资源类指标都应带「持续时间」条件(如持续 5 分钟),并设置恢复阈值低于触发阈值(如 80% 触发、70% 恢复),避免在阈值附近反复告警与恢复。
结论:日志按「应用日志、访问日志、任务日志、审计日志」四类分开管理,各自设定留存周期与检索方式。把它们混在一个索引里会导致检索变慢、留存策略难以差异化,也让审计日志容易被普通运维误删。
一条合格的应用日志应包含:时间戳(精确到毫秒)、级别、服务名、实例标识、TraceID、用户或账号标识、关键业务对象标识、错误码、以及可读的错误上下文。缺少 TraceID 是最常见的缺陷,它会导致跨服务问题无法串联,只能靠时间猜测。
| 日志类别 | 主要内容 | 建议留存 | 主要使用场景 |
|---|---|---|---|
| 应用日志 | 服务运行、异常堆栈、慢操作、配置加载 | 30 天热存 + 90 天冷存 | 故障定位、性能分析 |
| 访问日志 | 请求路径、状态码、耗时、来源 IP | 30 天热存 + 90 天冷存 | 流量分析、异常访问识别 |
| 任务日志 | 任务创建、执行步骤、失败原因、重试记录 | 60 天 | 任务积压与失败归因 |
| 审计日志 | 登录、权限变更、数据访问、导出外发 | 6 至 24 个月(按合规要求) | 合规举证、安全事件追溯 |
日志量控制同样重要。建议:正常请求只记访问日志不记应用日志;同一错误在 5 分钟内合并计数输出,避免刷屏;大文件内容绝不写入日志;日志级别在生产环境默认 INFO,仅在排障窗口临时调为 DEBUG 并在结束后恢复。这四条能减少 60% 以上的无效日志量。
结论:告警分四级——提示(P3)、警告(P2)、严重(P1)、紧急(P0),级别由「影响用户范围 × 是否有降级手段」共同决定,而不是只看技术指标高低。同一指标在业务高峰期与夜间的级别可以不同,这叫「时间维度调级」,能显著降低夜间无效唤醒。
| 级别 | 判定标准 | 通知方式 | 首次响应时限 | 升级条件 |
|---|---|---|---|---|
| P3 提示 | 单指标超阈值但业务无感,可次日处理 | 记录到值班看板,不主动通知 | 1 个工作日 | 连续 3 天出现则升级为 P2 |
| P2 警告 | 部分功能降级或性能明显下降,用户可感知 | 工作群通知 + 工单 | 2 小时 | 4 小时未恢复升级为 P1 |
| P1 严重 | 核心功能不可用或大面积用户受影响 | 电话 + 工作群通知值班与负责人 | 30 分钟 | 1 小时未恢复升级为 P0 并通知管理层 |
| P0 紧急 | 系统整体不可用,或涉及数据丢失与安全事件 | 电话全员 + 启动应急预案 | 15 分钟 | 立即启动应急小组并同步业务方 |
告警治理的目标是「每条告警都被处理」。三项必要机制:去重(同一根因的多个指标合并成一条)、抑制(依赖的下游故障不重复告警)、以及静默(计划内变更期间提前静默,避免变更窗口的告警噪音)。没有这三项,值班人员会在两周内开始忽略告警。
主备双人制:主值班负责首响与处置,备值班在主值班 30 分钟未响应时接手。轮换周期建议一周,避免长期值班导致疲劳。值班交接需书面列出未闭环的告警与正在进行的变更。
先止损再定位:确认是否有可用的降级手段(如关闭非核心功能、切到备用节点、限流),先把影响降下来,再从容定位。规定「超过 30 分钟无法定位时必须执行降级」,比要求值班人员继续深挖更稳妥。
结论:先和业务方确定两个数字——RPO(最多能丢多少时间的数据)与 RTO(最长能停多久),再倒推备份策略。常见组合是 RPO ≤24 小时、RTO ≤4 小时(一般业务),以及 RPO ≤1 小时、RTO ≤30 分钟(核心业务)。没有明确的 RPO/RTO,备份做得再勤也无法证明是否满足业务需要。
| 备份对象 | 备份方式 | 建议频率 | 保留期 | 恢复验证 |
|---|---|---|---|---|
| 关系数据库 | 全量 + 增量(或持续归档) | 全量每周、增量每日,核心业务开启日志归档 | 全量 3 个月、归档日志 30 天 | 每季度恢复到隔离环境验证可打开 |
| 对象存储文件 | 增量同步到独立存储或异地 | 每日增量,每周全量校验 | 与源文件生命周期一致 + 30 天删除保护 | 每月随机抽取 10 个文件验证可下载且哈希一致 |
| 索引与向量数据 | 快照;也可由原始数据重建 | 每周快照 | 2 个版本 | 快照恢复耗时需实测并记录,作为 RTO 依据 |
| 配置与密钥 | 加密导出,离线保管 | 每次变更后立即备份 | 长期(与版本对应) | 每次变更后做一次配置回滚演练 |
| 整机或卷 | 快照/镜像 | 每周 | 1 个月 | 每季度做一次整机恢复演练 |
备份的三条硬要求:一是备份集必须加密且与生产密钥分离保管;二是备份必须异地或独立存储,与生产不同时失效;三是必须做恢复演练而不是只验证备份任务成功——「备份成功但恢复失败」是最常见也最晚被发现的问题。建议每季度一次完整恢复演练,每次演练记录实际耗时并回写 RTO。
结论:容量管理的核心是「提前量」。磁盘按水位分级(70% 预警、85% 启动扩容、90% 紧急),计算资源按趋势预测(用 4 周增长率外推 3 个月后的需求),两者都要留出采购与实施周期——私有化环境的硬件到货通常需要 2 至 6 周,等水位告警再采购已经来不及。
| 资源 | 预警线 | 扩容线 | 扩容方式 | 前置准备 |
|---|---|---|---|---|
| 磁盘(数据盘) | 70% | 85% | 在线扩卷或增加数据节点 | 确认存储支持在线扩容,留存 20% 余量给临时任务 |
| CPU | 峰值 >70% 持续 3 天 | 峰值 >85% | 增加节点或提升规格 | 确认是否可通过错峰任务削峰,避免盲目扩容 |
| 内存 | 峰值 >75% 持续 3 天 | 峰值 >85% | 提升规格或拆分服务 | 先排查缓存配置是否过大 |
| 向量与索引容量 | 3 个月后预计达 80% | 达 85% | 增加分片或重建索引 | 重建索引需预留双倍空间的过渡期 |
| 任务处理能力 | 日均积压 >500 | 等待 >30 分钟 | 增加 worker 或错峰调度 | 确认瓶颈在 CPU 还是下游依赖 |
结论:所有生产变更都要满足「可回滚」这一前置条件,不可回滚的变更(如数据库结构不可逆调整)必须单独评审并准备补偿方案。变更窗口应避开业务高峰,并提前 1 个工作日通知相关方;紧急变更可走快速通道,但必须在 24 小时内补齐事后评审记录。
标准发布流程为六步:变更申请与影响评估 → 备份与回滚点确认 → 预生产环境验证 → 灰度发布(先 10% 流量或单个部门) → 观察 30 分钟核心指标 → 全量发布并观察 2 小时。灰度阶段的观察清单应事先写死,包括错误率、响应时间、任务成功率与关键业务操作是否可用。
版本回滚只回滚应用,不动数据结构;涉及数据结构的变更必须设计向前兼容(新旧版本可同时读写),并采用「先扩结构、再发新版、最后清理旧结构」三段式发布。禁止在发布中直接删除字段或表。
算,且是故障高发来源。参数调整、密钥轮换、集成开关启停都应走变更流程并记录。建议配置变更与代码变更分开管理:配置变更可快速执行,但必须留痕并可一键回退到上一版本。
结论:把巡检做成清单而不是凭经验。日检看可用性与告警,周检看趋势与任务,月检看容量与安全,季检做演练与复核。清单要落到人、落到输出物,巡检结果留存以支撑审计与复盘。
| 周期 | 巡检内容 | 输出物 | 耗时参考 |
|---|---|---|---|
| 每日 | 核心服务健康检查、前 24 小时告警闭环情况、任务积压、磁盘水位、备份任务是否成功 | 日巡检记录(表格勾选) | 15 分钟 |
| 每周 | 性能指标趋势、慢查询 Top10、失败任务归因、集成通道状态、证书有效期检查 | 周报 + 待办清单 | 1 小时 |
| 每月 | 容量预测更新、账号与权限复核抽样、日志留存合规检查、安全补丁情况、备份抽样恢复验证 | 月度运维报告 | 半天 |
| 每季 | 完整恢复演练、应急预案演练、告警阈值与噪音治理、权限全量复核、监控指标有效性评审 | 季度演练报告 + 改进项 | 1 至 2 天 |
结论:运维交接的本质是把「个人经验」变成「可执行文档」。项目上线或人员变动时,必须完成七类交接物:架构与部署说明、账号与密钥清单、监控与告警配置、备份恢复手册、故障处置记录库、变更历史、以及联系人与升级路径。缺任一项都会让接手方在第一次故障中陷入被动。
其中「故障处置记录库」最容易被忽略却价值最高:每处理一次故障就沉淀一条记录(现象、根因、处置动作、改进项),半年后这就是团队最有价值的资产。建议把它与知识库联通,让一线人员检索历史故障,减少重复定位。
以下问题来自客户运维现场的高频提问,答案给出可直接执行的做法。
先做两周的告警统计,按触发次数排序,处理掉前三名通常能减少 50% 以上噪音。处理方式包括:阈值不合理就调阈值、重复告警就配置去重、无处置动作的指标就降级为观测不发通知。同时建立「告警有效性季度评审」,把无价值的告警规则直接下线。
按「临时文件 → 过期日志 → 旧备份 → 历史索引版本 → 业务数据」的顺序清理。前两类可立即执行,业务数据需要先确认生命周期策略再归档,不要直接删除。注意清理日志前确认审计日志不在清理范围内,审计日志有独立留存要求。
先判断积压是「消费慢」还是「失败重试」导致。前者增加 worker 或错峰调度;后者必须先修复失败根因,否则增加 worker 只会让失败更快堆积,形成重试风暴。紧急情况下可临时暂停低优先级任务队列,保障核心任务。
按出现频率排序:索引未及时同步导致全表扫描、分片数量与数据量不匹配、慢查询集中在少数复杂过滤条件、以及缓存命中率下降。定位方法是先拆分检索各环节耗时(召回、重排、生成),再逐段深入,不要一开始就调参数。
重启是止损手段不是修复手段。可以在确认有降级手段且影响可控时重启,但重启后必须继续定位根因,否则问题会复现。频繁依赖重启通常指向内存泄漏、连接池配置不当或下游依赖不稳定,这三类都有明确的配置或代码修复方式。
常见原因有四个:备份集缺少配置文件或密钥、备份时未包含增量日志导致数据不一致、恢复目标环境版本与备份时不一致、以及恢复脚本未考虑依赖顺序。演练的价值正是提前发现这些,因此演练必须按「真实恢复」执行,而不是只验证备份文件存在。
中小规模(单套集群、≤500 并发)通常 0.5 至 1 人工作量即可,主要消耗在告警治理与季度复核上。真正的成本在于初期的指标体系设计与阈值校准,这部分建议投入 2 至 4 周集中完成,之后进入常态维护。
可以,但会错过预警信号。折中做法是每周花 30 分钟扫一遍错误日志 Top 趋势,很多严重故障在发生前会有低频的零星错误。这个习惯投入很小,却能显著减少突发故障。
把证书有效期纳入监控(剩余 30 天告警),并在运维日历中登记所有证书与凭证的到期时间。SSO 密钥、API 凭证、短信通道账号同样适用。建议统一登记在一张表里,由值班人员每周核对一次。
原因是文档离故障现场太远。把高频处置动作写成「现象 → 命令 → 预期结果」的短卡,并挂到对应告警规则上,告警触发时直接弹出。长文档保留作为背景阅读,短卡负责现场执行,两者分工不同。