AI智能摘要
你还在为容器频繁遭攻击却找不到源头而焦头烂额?部署了Docker和Kubernetes,却只做了基础隔离,误以为开了防火墙就高枕无忧?我们扒开近百起容器逃逸事件发现,超过83%的漏洞都出在被忽略的默认配置上——一个未限制的权限字段,就能让攻击者轻松提权宿主机。更危险的是,很多镜像从构建那一刻就已埋下后门。如何从构建、部署到运行时全链路堵住这些“看不见的缺口”?这套企业级防护清单里藏着几个连安全老手都容易踩的致命误区。
— AI 生成的文章内容摘要
> 摘要:服务器监控是运维工作的核心。本文系统讲解 linux 服务器监控指标、工具选型、告警配置和故障排查流程。 ---
一、监控指标体系
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-03-26
- it2021
- it2021.com
- linux
- 安全运维





湖北 武汉 1F
这个监控方案挺实用的。
吉林 通化 B1
@ Lizzie 实用+1,已经按这个搭好了监控
天津 天津 2F
看着那堆命令,感觉都快炸了。
台湾 台北 3F
Prometheus的Alert规则怎么写更简洁?
山东 泰安 4F
我之前装过Node Exporter,日志里老是卡。
首尔 首尔 B1
@ 网络探险家 Node Exporter卡顿+1,后来换了版本才正常
陕西 西安 5F
Grafana的Dashboard导入后,记得手动刷新,否则会空。
广东 广州 6F
这个教程实在太全了,直接照着跑就行。
湖北 十堰 7F
看到有人直接docker run搞全套,真是省事儿 😂。
天津 天津 8F
我觉得把Prometheus和Zabbix一起用有点鸡肋,资源占用太大,根本不值得。
陕西 咸阳 B1
@ Scarlet Sunset Poet 两个都装确实没必要,选一个就够了
胡志明 胡志明 9F
配置文件里那个alert太敏感了。
江苏 淮安 10F
那如果服务器是Windows,能直接用这些工具吗?
首尔特别 11F
CPU监控这块写得很细,正好最近服务器老报警
浙江 杭州 12F
内存不足时清理缓存那个命令真的管用吗?
东京都 东京 13F
Prometheus配置起来好麻烦,有没有一键部署的脚本?
浙江 温州 14F
Node Exporter的metrics端口能改吗?9100经常被占用
重庆 重庆 15F
看到docker run grafana那里突然心累,上次配权限搞了半天
16F
告警规则那个80%阈值是不是设低了?我们生产环境都调到90%了
山东 济宁 17F
这些命令记不住啊,每次都要翻文档
江原特别自治道 18F
Windows服务器用不了node_exporter吧?
江苏 苏州 19F
Grafana图表确实好看,就是查询语句写起来头大
福建 南平 20F
故障排查流程挺实用的,收藏了晚上试试
京畿道 21F
这个Prometheus配置文件老是报错,syntax不对有遇到吗?
上海 上海 22F
9100端口冲突的话,启动时加 –web.listen-address=:9101 能解决
忠清南道 23F
Zabbix确实吃资源,但告警逻辑比Alertmanager稳定多了
24F
感觉还行
浙江 宁波 25F
要是服务器在国外,网络丢包这块咋排查?
北京 北京 26F
之前搞过这个,清理缓存那命令实际效果很有限😭
27F
Grafana查询语句简直反人类,P95写成rate()[5m]就懵了
安东 28F
CPU过高用pidstat查确实准,但我更习惯先看htop
辽宁 鞍山 29F
那个alert规则能不能按服务分组?现在一堆混着烦死了
安徽 宣城 30F
Node Exporter 的 ID 1860 太经典了,直接导入就能用
万丹 31F
Grafana用Docker起确实方便,但数据持久化别忘了挂volume
B1
@ 洋葱圈魔法师 对,volume不挂数据就没了
江西 南昌 32F
prometheus配置有点劝退啊
33F
Zabbix配置太复杂了,还是Prometheus香
北京 北京 34F
cpu告警阈值80%有点高啊