跳到主要内容

CPU 负载高,到底应不应该告警?

从业务影响和处理动作决定 CPU 告警条件、级别和通知方式,为每条需要处理的规则补上排查预案。

最后校对于

读完这页,你会决定哪些 CPU 异常值得通知人,并为告警写出接到消息后应该做什么。

先看有没有处理动作​

CPU 负载高,既可能是正常的批量任务,也可能导致请求延迟或任务积压。 只问“超过多少就告警”无法判断是否值得打扰人;先问收到告警后有没有明确动作。

  • 已经影响业务:需要立即处理,考虑紧急级别。
  • 尚未影响业务,但会在可预见时间内耗尽资源:安排处理,考虑工作时间通知。
  • 只是排障线索:可以保留事件或看板,不一定需要发通知。

每条需要处理的规则都应该对应一个负责团队和可执行预案。长期收到却没人处理的告警,需要调整条件、级别或接收人。

级别与通知是两件事​

夜莺 v9 使用 S1 / S2 / S3。团队需要约定级别含义,再通过通知规则决定渠道、接收人和筛选条件。

示例约定处理方式
S1:业务已受影响,立即行动值班人员、强提醒渠道
S2:需要处理但可以等到工作时间团队消息、任务跟进
S3:信息或诊断线索按需要保留事件或低打扰通知

这是团队约定示例,不是级别自带的发送行为。把规则标成 S3,不会自动变成“只记录、不通知”;还要检查它关联的通知规则及级别筛选。

选择 CPU 信号​

CPU 使用率、load average、运行队列和容器 CPU throttling 描述的是不同现象。 load average 包含其他等待状态,不等于 CPU 使用百分比;不同核数的机器也不能简单比较同一个负载阈值。

先确认指标含义和基线,再结合业务延迟、错误或积压判断影响。批处理机器长期高利用率,可能是预期行为。 选择持续时长以覆盖正常抖动,在即时查询检查真实样本,再启用规则。

写一个可执行预案​

预案至少包含:

  1. 如何确认业务影响,查看哪个服务看板。
  2. 如何确认异常主机、容器和进程。
  3. 谁负责处理,什么情况下升级给另一团队。
  4. 有哪些经过授权和演练的缓解动作。
  5. 如何确认恢复,是否需要后续容量调整。

把 SOP URL 和 Dashboard URL 写到规则的附加信息中,接收人可以直接从消息进入相关上下文。 阈值和预案要一起维护;变更业务模式后,旧阈值可能不再有意义。

下一步​