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

湖北省武汉市 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规则能不能按服务分组?现在一堆混着烦死了