Linux 服务器监控与故障排查实战

爪 爪
爪 爪
爪 爪
编辑
44
文章
0
粉丝
安全运维29751字数 599阅读1分59秒阅读模式
AI智能摘要
凌晨三点告警短信炸响,你登录服务器只会敲top和free,看着CPU飙高却找不到真凶,最后只能重启了事?我们见过太多运维把监控做成了"事后诸葛亮"——要么配置复杂到没人看,要么告警 flooded 到直接免疫。这篇文章不聊理论,直接给你一套从Prometheus搭建到故障定位的实战流程。但有个细节连资深运维都会踩坑:当你看到内存使用率90%时,真正该担心的可能根本不是内存不足。这个误判足以让你在关键时刻做出致命决策——你确定自己现在的监控看对了指标吗?
— AI 生成的文章内容摘要

 

摘要:服务器监控是运维工作的核心。本文系统讲解 linux 服务器监控指标、工具选型、告警配置和故障排查流程。

 

一、监控指标体系

1.1 基础指标

- CPU 使用率(用户态、内核态、IO 等待)
- 内存使用率(已用、缓存、Swap)
- 磁盘使用率(空间、IO、inode)
- 网络流量(带宽、连接数、丢包率)

1.2 业务指标

Linux 服务器监控与故障排查实战

- 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-02

热门话题

linux 服务器 CPU 异常排查实战教程

 
爪 爪
  • 本文由 爪 爪 发表于2026年4月2日 13:53:24
评论  29  访客  29
    • NightmareScythe
      NightmareScythe 0

      那个node exporter启动失败咋整啊

        • 光耀使徒
          光耀使徒 1

          @ NightmareScythe 检查下9100端口被占用了没?看看防火墙规则是不是没开

        • 竹影斜
          竹影斜 1

          Prometheus+Grafana确实是标配了

            • 雾夜谜踪
              雾夜谜踪 1

              @ 竹影斜 确实,比Zabbix那堆模板好配多了

            • 夜阑听雨
              夜阑听雨 1

              之前配Alertmanager邮件告警搞了一下午,端口总不通

              • 颠倒的重力魔术师
                颠倒的重力魔术师 1

                Zabbix配置太反人类了

                • 星陨之眼
                  星陨之眼 0

                  又是复制粘贴的教程吧

                  • RuriAzure
                    RuriAzure 0

                    内存那部分可以加上sar命令,有时候比top直观多了,特别是看历史数据的时候

                    • 数据园丁
                      数据园丁 1

                      这个IO高的情况,SSD和机械硬盘处理方式一样吗

                        • 拾瑶
                          拾瑶 0

                          @ 数据园丁 不太一样,SSD得看磨损均衡,机械盘才需要盯寻道时间

                        • ZeroSignal
                          ZeroSignal 1

                          商业方案凭啥放后面?阿里云监控明明更好用

                          • PinUpPete
                            PinUpPete 1

                            监控告警一响,今晚又别想睡了😂

                            • NeuroFlux
                              NeuroFlux 1

                              又是这种复制粘贴的基础教程

                              • 书童子
                                书童子 1

                                截图保存了,告警规则那段

                                • 萝卜腿
                                  萝卜腿 1

                                  那个drop_caches是干嘛的,能随便清?

                                  • 外向小火柴
                                    外向小火柴 0

                                    运维真麻烦,看着就头大

                                    • 星烁科技
                                      星烁科技 1

                                      Prometheus内存挺坑的,节点多了会炸

                                      • 云朵绵绵
                                        云朵绵绵 1

                                        商业方案放后面?懂得都懂

                                        • 茶时光
                                          茶时光 1

                                          之前用Zabbix配脚本,配置文件写得想砸键盘,后来换Prometheus真香

                                          • 西域香料
                                            西域香料 1

                                            Prometheus内存吃紧,节点一多直接崩,坑太深了。

                                            • 月光咏叹
                                              月光咏叹 1

                                              阿里云监控其实挺稳的,放后面有点迷。

                                              • 小象宝
                                                小象宝 1

                                                node_exporter启动失败?多半是端口被占或者权限问题。

                                                • 日曜
                                                  日曜 1

                                                  运维这行真累,告警一响就得半夜爬起来。

                                                  • 脑机接口技师
                                                    脑机接口技师 1

                                                    drop_caches能随便清吗?怕把系统搞挂。

                                                    • 炽热之翼
                                                      炽热之翼 1

                                                      Zabbix配置反人类,还是Prometheus香一点。

                                                      • 软软桃桃
                                                        软软桃桃 1

                                                        IO高的时候,SSD和机械盘排查思路差挺多的吧?

                                                        • Vortex旋
                                                          Vortex旋 1

                                                          Prometheus配Grafana确实好用

                                                          • 奶昔长颈鹿
                                                            奶昔长颈鹿 1

                                                            sar命令确实比top看历史数据方便多了。

                                                            • 一元服务器
                                                              一元服务器 1

                                                              香港服务器,4G8核18M宽带80G硬盘,只要一元钱!网址:host.993899.com

                                                            匿名

                                                            发表评论

                                                            匿名网友

                                                            拖动滑块以完成验证