本节摘要:监控对象天然分成四层,从物理机一直爬到业务:基础设施、应用、网络、业务。每层的观测重点、数据类型、告警阈值的逻辑都不一样。分层的目的不是为了分类而分类,是让你不会漏看——很多漏了的告警,其实是把指标错放了层。本节把四层的边界划清楚,每层给你列好必须拿在手里的几个观测点。
我在值班室见过一个案例:整个系统 CPU 跑满了,但业务指标全绿。为什么?因为应用层指标没问题,但数据库进程在夜里偷偷把数据库内存交换到了 swap。监控只盯了业务层和应用层,漏了操作系统级的 swap 指标。分层的好处就是让你不会漏:从底层向上数,一层不漏地把"哪些东西可能坏"列出来,再逐个给关键指标上桩,这比想到哪盯到哪靠谱得多。
我们用从底层往上爬的顺序分四层:最下面是基础设施,往上走是网络,然后是应用,最上面是业务。每一层坏了都会把上面的全拖死,所以先从最底层开始,一层一层往上建桩。
这一层是物理和操作系统级的东西:物理机、虚拟机、容器、操作系统内核。它在最底下,所以如果它出问题,整栋楼都会晃,监控必须先盯它。
最核心的观测点是四个:CPU、内存、磁盘、网络接口。这四个是操作系统给的四个基本健康温度计。
CPU:关注使用率(平均负载、每核使用率),上下文切换次数,中断次数。平均负载超过 CPU 核数的 70% 就值得警惕,超过就是压力已经够大了。还要看 idel 占比,它是"还有多少算力能给业务用"。
内存:关注总使用率,可用物理内存,缓冲区、缓存占用,swap 换入换出率。swap 一旦开始大量换页,性能掉得会非常快——这就是本文开头那个案例漏看的点:物理内存紧张才会触发 swap,只要 swap 的换入率不为零,就是压力信号。
磁盘:关注使用率(剩下多少空间),读写速率,IOPS,平均响应时间。100% 使用率不用多说,肯定告警;响应时间超过数十毫秒就是 IO 瓶颈,这个比"使用率百分之几"更能反映用户感受。
网络接口:关注带宽利用率,收发包速率,收错包率,丢包率。错包和丢包是硬件或者交换机层面故障最直接的信号,一旦有持续错包,不管流量多大都得触发告警。
容器环境下,上述指标的关注逻辑不变,只是被容器 namespace 隔离了,采集时要注意采集容器自己的额度而不是宿主机的总和。很多人用 Node Exporter 采集宿主机指标,忘了给每个容器单独开维度,结果容器跑爆了宿主机还绿,这是常见低级错误。
基础设施之上是网络层。网络分内网和外网,都要盯,但观测重点不一样。
内网主要看交换机、路由器、防火墙等设备的端口状态、流量、丢包、延迟。这些设备在基础设施和应用之间,很多时候是"沉默杀手"——流量大、错包高,但应用层没告警,直到交换机端口打满丢包才发现。
外网要看带宽利用率,运营商丢包率,南北向延迟,CDN 命中率。对外提供服务的系统,运营商网络波动是家常便饭,CDN 命中率掉下来就意味着回源流量爆涨,这往往是缓存配置失效的信号,得及时发现。
网络层还有一个观测点:连通性探测。用 ICMP Ping 或者 HTTP 探测去定期测核心依赖的连通性,这比等应用层自己暴露异常更早发现问题。比如你的数据库依赖了域名解析,你可以给一个专门的探测任务,每分钟解析一次,超时就告警。
网络之上是应用层,就是你写的代码部署进去那堆东西。这一层的观测点按角色分几个类别:
应用层最容易犯的错是"只盯自己,不盯依赖"。依赖挂了,你的服务也挂了,但你的指标全绿——这就是因为你没把依赖拉进监控范围。
最顶层是业务层,这是离用户最近、也是领导最关心的一层。业务指标不是技术指标,它描述业务本身的健康状况。
举几个不同场景的例子:
业务指标有个很重要的作用:帮你回答"到底影响了多少用户"。技术指标出问题但业务指标没事,说明这是后台任务或者非核心路径出问题,优先级可以低一点;反过来,技术指标都没事但业务指标掉了,说明有隐性故障,得立刻排查。
我个人的经验:技术指标是告警门,业务指标是确认门。技术指标先触发告警,你第一件事应该去看业务指标掉没掉——很多误报能在这里过滤掉,不会白叫起值班人。
我们把它整理成一张检查表,你建桩的时候可以照着打勾:
| 层级 | 主要载体 | 核心观测点 | 最容易漏的点 |
|---|---|---|---|
| 基础设施 | 操作系统、容器、物理机 | CPU 负载、内存使用率、磁盘空间、IO 延迟、错包 | swap 换页率、容器隔离维度 |
| 网络 | 交换机、防火墙、运营商、CDN | 带宽使用率、丢包率、延迟、命中率 | 内网设备错包、CDN 命中率变化 |
| 应用 | 服务进程、Runtime、数据库 | QPS、延迟、错误率、连接池、慢查询 | 第三方依赖的调用指标 |
| 业务 | 核心流程、用户行为 | 订单量、成功率、转化率、活跃数 | 对比基线看变化(不告警但异常) |
下一节我们从"对象"进到"指标"本身——把一堆可能的指标提炼成四个黄金信号,这是 Google SRE 喂出来的行业标准。