Linux · 3 分钟阅读
Linux 系统监控
2026 年生产环境监控的事实标准:Prometheus 抓指标 + Grafana 看图 + Alertmanager 报警。主机内部仍然离不开 top/iotop/nmon 这些老朋友。
主机工具
top / htop # 综合
uptime # 负载
mpstat -P ALL 1 # 每核
pidstat -urd 1 # 进程 CPU/IO
free -h # 内存
vmstat 1 # 综合
iostat -dx 1 # 磁盘
iotop # 进程 I/O
ss -tunlp # 网络
iftop / nethogs # 网络吞吐
装机标配
# Ubuntu
apt install -y htop iotop nethogs sysstat dstat
# RHEL / Alma
yum install -y epel-release
yum install -y htop iotop nethogs sysstat dstat nmon
长期监控(Prometheus + Grafana)
# 抓指标
docker run -d --name node_exporter \
-p 9100:9100 \
--network host \
prom/node_exporter
# Prometheus 配置
cat > prometheus.yml <<EOF
scrape_configs:
- job_name: 'node'
static_configs:
- targets: ['node1:9100', 'node2:9100']
EOF
node_exporter现在主流是otel-collector,但node_exporter简单稳,仍是默认选项。
告警参考线
| 指标 | 警告 | 严重 |
|---|---|---|
| CPU 使用率 | > 70% 持续 5 分钟 | > 90% 持续 1 分钟 |
| 内存使用率 | > 80% | > 95% |
| 磁盘使用率 | > 80% | > 90% |
| 负载 | > CPU 核数 | > 2 倍核数 |
| 网络丢包 | > 0.1% | > 1% |
| HTTP 5xx 比例 | > 0.5% | > 2% |
应用层
| 场景 | 工具 |
|---|---|
| 进程跟踪 | strace / ltrace / bpftrace |
| CPU 火焰图 | perf + FlameGraph |
| 内存泄漏 | valgrind / ASan |
| 网络抓包 | tcpdump / wireshark |
| 系统调用 | strace |
| 应用 APM | Prometheus + OpenTelemetry |
一些经验
- 监控的"黄金信号":流量、错误、延迟、饱和度
- 告警要分级:warning 留 channel,critical 才叫人
- 监控自身的健康也要监控(
up == 0是经典盲点) - 长期数据用远程存储(Thanos / Cortex / Mimir),别靠单点 Prometheus
- 别在生产开
strace -p跑 5 分钟——会卡死进程
推荐参考
- Brendan Gregg 的 Linux Performance 是必读
- SRE 圣经:Google SRE Book
- Prometheus:官方文档