4. 巡检周期与策略:巡检频率设计、不同场景的巡检策略、定时巡检与触发式巡检

巡检这事儿,说白了就是跟系统故障赛跑。跑得太勤,运维累死,资源也浪费;跑得太少,故障来了你还在睡大觉。我这些年踩过的坑告诉我——巡检周期设计,从来不是拍脑袋定个“每天一次”就完事的

4.1 巡检频率设计:别让机器闲着,也别让人累着

我个人习惯把巡检频率分成三个梯队:

梯队 频率 适用场景
高频 每5~15分钟 核心业务、数据库、网络出口
中频 每小时~每4小时 应用服务、中间件、存储
低频 每天~每周 日志清理、证书过期、磁盘碎片

你想想看,一个电商网站的核心交易链路,你敢让它15分钟才查一次吗?我遇到过一家公司,数据库连接池的巡检频率设成了1小时一次。结果高峰期连接池被打满,整整45分钟没人发现——嗯,那个值班的兄弟后来被请去喝茶了。

核心原则:故障影响面越大,巡检频率越高。别心疼那点CPU,出一次事故够你买十台服务器。

4.2 不同场景的巡检策略:一把钥匙开一把锁

不同场景,策略完全不同。我总结了几种典型场景:

4.2.1 核心交易系统

  • 策略:全链路巡检 + 黄金指标监控
  • 频率:1分钟级
  • 重点:响应时间、错误率、吞吐量、队列深度

我记得有一次帮一家银行做巡检设计,他们要求“交易失败必须在30秒内感知”。最后我们用了触发式巡检——每次交易失败时,立即触发一次深度巡检,把当时的系统状态全部dump下来。这招帮他们定位了好几个隐蔽的bug。

4.2.2 非核心业务系统

  • 策略:基础指标巡检 + 日志异常扫描
  • 频率:15~30分钟
  • 重点:CPU、内存、磁盘、进程存活

说白了,这类系统挂了也不会死人,但也不能让它一直挂。我一般建议用定时巡检兜底,再加一个简单的健康检查接口。

4.2.3 基础设施层(网络、存储、电源)

  • 策略:SNMP轮询 + 硬件告警
  • 频率:5~10分钟
  • 重点:端口状态、光功率、温度、风扇转速
注意:基础设施巡检千万别只依赖软件。我曾经遇到过交换机温度过高,但SNMP响应正常——因为CPU已经热到不干活了。所以硬件层面的触发式巡检(比如温度阈值告警)必须独立部署。

4.3 定时巡检与触发式巡检:两条腿走路

这两种方式不是二选一,而是互补的。我画了一张图来说明它们的关系:

巡检策略双引擎架构 ⏰ 定时巡检引擎 • Cron驱动,固定周期执行 • 覆盖全量指标,无死角 • 适合基线数据采集 • 生成周期性报告 ⚡ 触发式巡检引擎 • 事件驱动,实时响应 • 异常/告警触发深度检查 • 适合故障定位 • 自动执行应急脚本 互补 🔗 融合策略 1. 定时巡检发现异常 → 自动触发深度巡检 2. 触发式巡检结果 → 更新定时巡检基线 3. 两者共享告警通道,避免重复告警 图:定时巡检与触发式巡检的协同工作模式

4.3.1 定时巡检:稳扎稳打

定时巡检就像每天的体检——不管你有没有病,该查的都查一遍。它的好处是:

  • 可预测:你知道它什么时候跑,资源占用可控
  • 全覆盖:不会漏掉任何指标
  • 好追溯:每次结果都能对比,趋势分析就靠它

但定时巡检有个硬伤——它不知道什么时候该“加钟”。比如磁盘使用率从60%涨到80%,定时巡检可能4小时后才发现。这中间要是出了事,谁来背锅?

4.3.2 触发式巡检:精准打击

触发式巡检就不一样了。它是“有事才查,没事不扰”。常见的触发条件:

  1. 阈值触发:CPU > 90%、内存 > 85%、磁盘IO等待 > 50ms
  2. 事件触发:进程重启、服务降级、网络闪断
  3. 日志触发:ERROR级别日志出现、特定关键字匹配
  4. 人工触发:运维人员手动发起深度巡检
我的经验:触发式巡检的“触发条件”一定要设置合理。太敏感了,告警轰炸;太迟钝了,等于没有。我一般建议用“动态阈值”——比如基于过去7天的数据自动计算基线,偏离超过3个标准差就触发。

4.3.3 两者如何配合?

我见过最好的实践是这样的:

  • 定时巡检负责“日常巡逻”,采集全量数据,生成趋势报告
  • 触发式巡检负责“应急响应”,一旦发现异常,立即执行深度检查
  • 两者共享同一个告警通道,但触发式巡检的优先级更高

举个例子:定时巡检发现某台服务器的磁盘IO延迟从10ms涨到了30ms。这时候它不会直接告警,而是触发一次IO深度巡检——检查是哪个进程在搞鬼、磁盘是否有坏道、RAID卡是否报错。等深度巡检结果出来,再决定是否告警。这招我称之为“先查后报”,能减少至少60%的无效告警。

避坑指南:我曾经遇到过定时巡检和触发式巡检同时跑,结果两个进程抢锁,把数据库查挂了。所以一定要做好资源隔离——定时巡检用只读副本,触发式巡检用主库但限制并发数。

4.4 实战中的频率调整策略

巡检频率不是一成不变的。我一般按这个节奏调整:

阶段 频率策略 说明
系统上线初期 高频(5分钟级) 摸清系统脾气,建立基线
稳定运行期 中频(15~30分钟) 基线已建立,减少资源消耗
大促/压测期间 超高频(1分钟级) 临时提升频率,活动结束后恢复
系统退役前 低频(每天1次) 只要不死就行,别浪费资源

说白了,巡检频率是个动态平衡的过程。你想想看,一个系统跑了半年都没出过事,你还每5分钟查一次,那不是浪费是什么?但反过来,一个新上线的系统,你一天才查一次,那叫不负责任。

嗯,关于巡检周期与策略,我就讲这么多。核心就一句话:定时巡检保底线,触发式巡检抓异常,两者配合才能把系统看牢

专注资料整理