AI智能摘要
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-16

江苏省常州市 1F
Prometheus配Grafana确实香,但Zabbix那个学习曲线是真的陡
韩国 2F
之前搞过这个,node_exporter死活起不来,查了半天发现是端口被占
北京市 B1
@ 白绫吊死鬼 端口被占这坑太熟了,改个端口就完事。
重庆市 3F
这个dashboard ID 1860确实好用,省得自己配了
江苏省淮安市 4F
有个问题,alertmanager的邮件配置在阿里云ECS上能正常发吗?
四川省成都市 B1
@ JungleDrifter 阿里云ECS发邮件得开安全组+解封25端口,不然直接被拦
江苏省常州市 5F
内存那块,echo 3 > /proc/sys/vm/drop_caches 这个操作生产环境敢用?
山东省济南市 B1
@ 暮光贤者 生产环境真敢这么清缓存?怕不是想被开除😂
湖北省武汉市 6F
感觉还行,流程挺清晰的
湖南省长沙市 B1
@ 程序员不脱发 流程是清楚,但新手照着做估计得卡半天
河北省石家庄市 B1
@ 程序员不脱发 流程看着顺,但实战肯定一堆报错。
福建省福州市 7F
iotop这工具好多系统默认没有啊,得额外装
日本 8F
那个啥,商业方案里的听云现在还有人用吗?
日本 B1
@ 暗物质诗 听云?早过时了吧,现在谁还用那破玩意儿。
北京市 9F
CPU 80%告警阈值是不是有点高?我们这边设的70%
浙江省台州市 10F
要是集群规模大了,Prometheus单点会不会扛不住?
山东省滨州市 11F
drop_caches这操作我试过,瞬间IO飙到100%,慎用!
日本 12F
dashboard ID 1860确实省事,不过有些指标得自己调阈值
辽宁省 13F
Zabbix配置复杂是真的,上次配了一整天头都大了
山东省滨州市 14F
CPU告警设80%?高峰期直接炸穿好吧,我们设65%稳点
越南 15F
node_exporter端口冲突太常见了,建议默认改个高位端口
重庆市 16F
听云早没人提了,现在不都是自建Prometheus或者上云监控?
韩国 17F
iotop没装的话用pidstat -d也能看进程级IO,勉强替代
日本 18F
单点确实悬,集群大了得搞联邦或者Thanos。
菲律宾 19F
阈值设80%?高峰期直接炸穿好吧,我们设65%稳点。
河北省廊坊市 20F
drop_caches生产环境真不敢乱动,容易把业务搞挂。
山东省滨州市 21F
iotop好多系统默认没装,还得自己编译,烦人。
上海市 22F
那个啥,alertmanager邮件在阿里云ECS上能发出去吗?
广东省东莞市 23F
docker跑grafana别忘了挂卷
浙江省宁波市 24F
Prometheus配Grafana这组合用了三年,图表是真好看,就是内存越吃越多