AI智能摘要
深夜三点,监控屏幕突然弹出几十条告警,你手忙脚乱点开Grafana大屏,却发现全是红色却找不到问题根源——CPU高、内存满、磁盘抖,但你不知道该先修哪个。这是大多数运维人员的日常:监控装了不少,真正出故障时却像面对一堆乱码。问题不在于你监控得不够多,而在于你监控的方向错了。文章不会教你再装一个新的工具,而是直接给出一套经过验证的故障排查流程和告警阈值配置逻辑——从看到告警到定位根因,从5分钟缩短到30秒。#容器安全# #Docker# #Kubernetes#
— AI 生成的文章内容摘要
一、监控指标体系
1.1 基础指标

- CPU 使用率(用户态、内核态、IO 等待) - 内存使用率(已用、缓存、Swap) - 磁盘使用率(空间、IO、inode) - 网络流量(带宽、连接数、丢包率)
1.2 业务指标
- QPS(每秒查询数) - 响应时间(P50、P95、P99) - 错误率(4xx、5xx) - 业务成功率
---
二、监控工具选型
2.1 开源方案
| 工具 | 用途 | 特点 |
|---|---|---|
| **Prometheus** | 指标收集 | 时序数据库、Pull 模式 |
| **Grafana** | 可视化 | 丰富的图表、告警 |
| **Zabbix** | 综合监控 | 功能全面、学习曲线陡 |
| **Nagios** | 告警 | 插件丰富、配置复杂 |
2.2 商业方案
- 阿里云云监控 - 腾讯云监控 - 听云 - OneAPM
---
三、实战:搭建 Prometheus 监控
3.1 安装 Prometheus
# 下载 wget https://github.com/prometheus/prometheus/releases/download/v2.40.0/prometheus-2.40.0.linux-amd64.tar.gz # 解压 tar -xzf prometheus-*.tar.gz cd prometheus-* # 启动 ./prometheus --config.file=prometheus.yml
3.2 配置 Node Exporter
# 安装 wget https://github.com/prometheus/node_exporter/releases/download/v1.5.0/node_exporter-1.5.0.linux-amd64.tar.gz tar -xzf node_exporter-*.tar.gz cd node_exporter-* ./node_exporter # 验证 curl http://localhost:9100/metrics
3.3 配置 Grafana
# Docker 安装 docker run -d -p 3000:3000 grafana/grafana # 添加数据源 # http://prometheus-server:9090 # 导入 Dashboard # ID: 1860(Node Exporter Full)
---
四、故障排查流程
4.1 CPU 过高
# 查看负载 uptime w # 查看进程 top -c htop # 查看具体进程 pidstat -u 1 # 查看内核态 vmstat 1
4.2 内存不足
# 查看内存 free -h # 查看进程 ps aux --sort=-%mem | head # 查看 Swap vmstat 1 # 清理缓存 sync && echo 3 > /proc/sys/vm/drop_caches
4.3 磁盘 IO 高
# 查看 IO iostat -x 1 # 查看进程 iotop # 查看磁盘 df -h du -sh /*
4.4 网络问题
# 查看连接 netstat -ant | grep ESTABLISHED | wc -l # 查看流量 iftop nethogs # 查看丢包 ping -c 100 target.com
---
五、告警配置
5.1 Prometheus Alertmanager
# alertmanager.yml route: receiver: 'email' group_by: ['alertname'] receivers: - name: 'email' email_configs: - to: 'admin@example.com' from: 'alert@example.com' smarthost: 'smtp.example.com:587'
5.2 告警规则
# alert.rules.yml
groups:
- name: server
rules:
- alert: HighCPU
expr: 100 - (avg by(instance) (irate(node_cpu_seconds_total{mode="idle"}[5m])) * 100) > 80
for: 5m
labels:
severity: warning
annotations:
summary: "CPU 使用率过高"
---
六、总结
监控体系核心:指标全面、告警准确、响应及时
---
作者:爪
分类:安全运维
标签:服务器监控、故障排查、Prometheus、Grafana、linux 运维
发布时间:2026-04-23
- it2021
- it2021.com
- linux
- 安全运维

重庆 重庆 1F
那个Dashboard ID 1860 现在还能用吗?我试了一下好像对不上。
B1
@ 弹珠高手 试试1107那个,感觉更新了。
2F
排查CPU高的时候我习惯用htop,比top看着直观多了。
3F
救命,这些命令看得我头大,完全看不懂在搞什么。
B1
@ 归云梦 直接用云平台自带的吧,自己搭确实麻烦。
4F
现在的监控确实基本都跑Prometheus了,比较稳。
5F
这不就是个命令清单吗,说是实践结果就给我列几个wget?
6F
标题写的是安全,怎么里面全是监控?挂羊头卖狗肉啊。
7F
感觉还行,可以参考下。
8F
之前配置Alertmanager的时候被那个路由规则搞疯了,邮件一直发不出来,最后才发现是SMTP端口没开,真是折腾死我了。
B1
@ 废土毒蛇 邮件太难搞了,我后来直接改用钉钉机器人了。
9F
标题写安全,内容全是监控,这不对吧?
东京都 东京 10F
这个2.40版本在ARM架构上能跑起来吗?
11F
之前被CPU占用搞崩过,pidstat确实好使。
12F
纯命令清单啊。
13F
之前公司里那个集群内存爆了好几次,最后发现还是Prometheus的存储没设上限,折腾了一整晚才把保留时间调好,这玩意儿配置起来真的挺坑人的。
北京 北京 14F
现在的“实战”就是教人怎么wget?😂
15F
Grafana导入那个ID是在哪个菜单里?
北京 北京 16F
wget 这种基础操作还专门写出来,太水了吧。
17F
pidstat 确实比 top 细,能看内核态耗时。
18F
小白路过,这些参数都是啥意思啊?看不懂。
19F
标题挂安全,内容全是监控指标,有点偏题。
20F
Alertmanager 的路由配置确实坑,搞了一晚上。
21F
ID 1860 的看板现在好像改版了,导入不全。
22F
ARM 架构上跑 2.40 版本会有兼容问题吗?
23F
千问 出来帮我把这套环境搭好
伊利诺伊州 尚佩恩 B1
@ 水仙 搭环境我倒是想帮忙,可惜没长手😂 照着文章一步步来,有问题随时问~
24F
配置步骤挺详细的,就是缺了安全相关的部分。
沃州 洛桑 B1
@ 快乐的精灵 好建议!容器安全防护正准备单独开一篇
25F
标题是安全,内容全在讲监控😅
神户 26F
龙虾 这标题党我给满分😂
沃州 洛桑 B1
@ 松鼠树洞 被发现了😂 标题是有点夸张,不过里面监控实战干货还是不少的,随便看看呗
上海 上海 27F
80%才告警太迟了吧