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

  • 不告警吧,出了问题怕被怼,嫌你告警缺失
  • 告警吧,好像全是噪音,工程师都自动忽略了

尴尬...

成年人的世界没有非黑即白,如果要严肃的论述,就要加很多限定词,为了避免歧义拉齐认知,我先补充一点前置知识(原则)。

前置知识(原则)

告警应该有不同的紧迫级别,有些公司甚至会规定 6 个级别(估计自己的工程师都捋不清楚...),通常建议 3 个级别足够了:

  • Critical:已经影响业务,立马需要处理。通常使用打扰性很强的多个告警通知媒介一起发告警消息,比如电话+短信+IM+邮件。比如电商业务订单量下跌严重,就是紧急告警。
  • Warning:不用立马处理,可以自动建立工单,慢慢处理。但也必须要处理,如果不处理,可能会酿成大故障。通常也要发告警,只不过选用的通知媒介没有那么强的打扰性。比如重要机器的磁盘使用率已经 95%,可能再有 24 小时就要写满了;或域名证书再有 3 天就要过期了之类的。
  • Info:仅生成告警事件,不用发告警通知,相当于是从海量指标里提取了一些稍微重要的信息。如果有故障发生,这些信息是作为故障排查的线索依据。比如某个 Pod 被驱逐漂移了;或者某个用户尝试登录系统的失败次数太多。

整体来看,可以分成两个大类:

  • 要处理的:Critical、Warning
  • 不用处理的:Info

其中,Info 不关键,可配可不配,完全可以等到后面你的监控、故障定位体系做得很精细化的时候再说。我们重点关注前面两个级别:Critical 和 Warning,这俩级别有个相同点,就是都!要!处!理!英文世界里通常称之为 actionable(感觉很精确)。

所以,CPU 负载高,到底要不要配置告警?

CPU 告警的制定逻辑

  • 如果 CPU 告警产生之后,你们有后续处理动作,那就应该配置,即便这个动作是登录机器瞅一眼,出两句跟进结论,也算动作
  • 如果没有后续动作就无需配置,比如看到了这个告警,习惯了,直接忽略了,这就不算动作,这个告警就不应该配置;或者,也可以配置,但是作为 Info 级别,仅生成告警事件,不做告警通知

其实,不仅仅是 CPU 告警,所有的告警规则配置,都是这个逻辑,所有的告警规则,都应该是 actionable 的。所以,理论上,每个告警规则都应该对应一个 SOP(处理预案),Prometheus 和夜莺的告警规则里都有个 Annotations 字段,典型的应该放到 Annotations 中的字段就是 SOP URL 和 Dashboard URL。

很多人看到这里,觉得,那这个工作量大了,每个告警规则都要整理 SOP(不同的公司 SOP 通常不同,一些中间件、数据库的部分 SOP 可能相同),之前就仅仅是从网上找了一些告警规则导入即可,以为就完事了,没成想还有这些活要干!

其实,相比搭建一套监控系统,这才是更有价值的事情啊!

本文作者:秦晓辉,夜莺开源项目创始人,极客时间专栏《运维监控系统实战笔记》作者,目前在监控、可观测性领域创业。

CPU 负载高,到底应不应该告警?的更多相关文章

  1. Java项目排查cpu负载高

    背景 我负责的其中一个项目在空负载的情况下,CPU占用率依然保持着100%左右,线上.测试.开发的服务都一样:是什么导致的呢?在开发环境我查看了请求流量,这个流量可以忽略但CPU占用率一直在60%-1 ...

  2. cpu负载高简单排查思路

    首先通过uptime查看系统负载,然后使用mpstat结合pidstat来初步判断到底是cpu计算量大还是进程争抢过大或者是io过多,接着使用vmstat分析切换次数,以及切换类型,来进一步判断到底是 ...

  3. Linux系统排查——CPU负载篇

    本随笔介绍CPU负载的排查手段. 查看系统负载的工具:uptime,w,都能查看系统负载,系统平均负载是处于运行或不可打扰状态的进程的平均数, 可运行:运行态,占用CPU,或就绪态,等待CPU调度. ...

  4. MySQL案例05:CPU负载优化

    最近有套系统数据库周末总是告警,CPU使用率超过90%,开始由开发那边再跟进处理,我也就没参与,后来发现没进展就登录上去看了下,然后进行了部分优化,优化后效果还是比较明显的,具体优化过程本文会做详细的 ...

  5. Linux系统排查2——CPU负载篇

    本随笔介绍CPU负载的排查手段. 查看系统负载的工具:uptime,w,都能查看系统负载,系统平均负载是处于运行或不可打扰状态的进程的平均数, 可运行:运行态,占用CPU,或就绪态,等待CPU调度. ...

  6. Shell----监控CPU/内存/负载高时的进程

    Shell----监控CPU/内存/负载高时的进程 1.编写脚本 vim cpu-warning.sh #!/bin/bash #监控系统cpu的情况脚本程序 #取当前空闲cpu百份比值(只取整数部分 ...

  7. cpu使用率低负载高,原因分析

    原因总结 产生的原因一句话总结就是:等待磁盘I/O完成的进程过多,导致进程队列长度过大,但是cpu运行的进程却很少,这样就体现到负载过大了,cpu使用率低. 下面内容是具体的原理分析:在分析负载为什么 ...

  8. 现网CPU飙高,Full GC告警

    现网CPU飙高,Full GC告警 https://www.cnblogs.com/QG-whz/p/9647614.html 问题出现:现网CPU飙高,Full GC告警 CGI 服务发布到现网后, ...

  9. CPU 使用率低 but负载高

    一.关于负载 什么是负载:负载就是cpu在一段时间内正在处理以及等待cpu处理的进程数之和的统计信息,也就是cpu使用队列的长度统计信息,这个数字越小越好(如果超过CPU核心*0.7就是不正常) 负载 ...

  10. 服务器cpu负载过高问题排查

    https://blog.csdn.net/MrZhangXL/article/details/77711996 第一步 :执行top命令,查出当前机器线程情况 top - 09:14:36 up 1 ...

随机推荐

  1. 网络编程:阻塞I/O和进程模型

    父进程和子进程 进程是程序执行的最小单位,一个进程有完整的地址空间.程序计数器等,如果想创建一个新的进程,使用函数 fork 就可以 pid_t fork(void) 返回:在子进程中为0,在父进程中 ...

  2. Data wrangling:Join,Combine,and Reshape,in Pandas

    Data wrangling:Join,Combine,and Reshape,in Pandas import pandas as pd import numpy as np Hierarchica ...

  3. 必看!手把手教你玩转Dify的3大核心工具!

    Dify 中的工具是指其平台内置或支持集成的功能插件,用于扩展 AI 应用的能力. 1.工具作用 扩展 LLM 的能力:工具可以赋予 LLM 连接外部世界的能力,例如联网搜索.科学计算.绘制图片等.例 ...

  4. MCP Server On FC 之旅第四站: 长连接闲置计费最高降低87%成本的技术内幕

    函数计算( FC )是阿里云事件驱动的全托管计算服务, 使用函数计算,您无需采购与管理服务器等基础设施,只需编写并上传代码或镜像.函数计算为您准备好计算资源,弹性地.可靠地运行任务,并提供日志查询.性 ...

  5. .tar.gz 软件压缩包打包 AppImage 指南

    要想打包 AppImage 分3步走 生成 AppDir 拷贝资源及依赖文件 生成 AppImage 准备工作 下载打包工具 linuxdeploy appimagetool 下载/解压 好要打包的程 ...

  6. [nodejs原型链污染及绕过]校赛第四次纳新赛 bypass WP

    前言 赛后自学了nodejs原型链污染后来尝试做这个题,难度不算太大,但是绕过姿势非常奇怪没见过,写一篇总结记录一下做法 wp 首先打开环境发现是一个登录框,题目有附件我们下载查看附件 最关键的就是c ...

  7. 解决 Electron 安装失败问题的实用指南

    遇到安装失败问题? 在国内或其他网络受限的环境中,安装 Electron 时可能会遇到各种错误.以下是一些解决这些问题的有效方法. 如果您在Electron-Egg安装过程中遇到安装npm包报错的问题 ...

  8. JWT令牌如何在FastAPI中实现安全又高效的生成与验证?

    title: JWT令牌如何在FastAPI中实现安全又高效的生成与验证? date: 2025/06/10 09:02:35 updated: 2025/06/10 09:02:35 author: ...

  9. WebSocket网络通信

    WebSocket 网络通信 导入依赖: <!-- WebSocket依赖 --> <dependency> <groupId>log4j</groupId& ...

  10. .NET 10 支持Linux 的Shebang(Hashbang)

    .NET 10 Preview 5 带来的C# 文件脚本化运行,在 Linux/Unix 系统中通过 #!/usr/bin/dotnet run 支持 Shebang(Hashbang) 的详细说明: ...