插件窝 干货文章 Linux 运维故障排查思路,有这篇文章就够了~

Linux 运维故障排查思路,有这篇文章就够了~

检查 排查 系统 工具 445    来源:    2025-04-13

Linux 运维故障排查思路大全

一、故障排查基本原则

  1. 保持冷静:不要慌张,系统记录会保留证据
  2. 先收集信息:不要急于重启或修改配置
  3. 最小化变更:一次只做一个变更,观察效果
  4. 记录过程:记录所有操作和系统响应
  5. 从简单到复杂:先检查常见问题,再深入排查

二、系统级故障排查

1. 系统无法启动

  • 检查项
    • BIOS/UEFI设置
    • 引导加载程序(GRUB)
    • 文件系统损坏
    • 内核panic
  • 命令工具bash dmesg | grep -i error journalctl -xb # systemd系统日志 fsck /dev/sdX # 文件系统检查

2. 系统运行缓慢

  • 检查项
    • CPU负载
    • 内存使用
    • I/O等待
    • 进程资源占用
  • 命令工具bash top/htop vmstat 1 iostat -x 1 dstat sar # 系统活动报告

三、网络故障排查

1. 网络连接问题

  • 排查步骤
    1. 检查物理连接
    2. 检查IP配置
    3. 测试本地网络
    4. 测试外部网络
    5. 检查防火墙
  • 命令工具bash ip addr/ifconfig ping/traceroute/mtr netstat/ss iptables -L/nft list ruleset tcpdump

2. 服务端口问题

  • 排查步骤
    1. 检查服务是否运行
    2. 检查端口监听
    3. 检查防火墙规则
    4. 检查SELinux设置
  • 命令工具bash systemctl status service_name ss -tulnp | grep port firewall-cmd --list-all getenforce

四、存储故障排查

1. 磁盘空间问题

  • 排查步骤
    1. 检查磁盘使用率
    2. 查找大文件
    3. 检查inode使用
    4. 检查日志轮转
  • 命令工具bash df -h du -sh * | sort -h find / -type f -size +100M df -i ls -lh /var/log

2. 磁盘I/O性能问题

  • 排查步骤
    1. 检查I/O等待
    2. 检查磁盘队列
    3. 检查RAID状态
    4. 检查文件系统
  • 命令工具bash iostat -x 1 iotop smartctl -a /dev/sdX cat /proc/mdstat # 检查RAID

五、服务故障排查

1. 服务无法启动

  • 排查步骤
    1. 检查服务状态
    2. 查看服务日志
    3. 检查配置文件
    4. 检查依赖服务
  • 命令工具bash systemctl status service journalctl -u service -f systemctl list-dependencies service

2. Web服务问题

  • 排查步骤
    1. 检查服务进程
    2. 检查端口监听
    3. 检查错误日志
    4. 测试简单请求
  • 命令工具bash curl -I http://localhost tail -f /var/log/nginx/error.log strace -p <pid>

六、安全相关排查

1. 可疑活动检查

  • 检查项
    • 异常进程
    • 异常连接
    • 异常用户
    • 异常文件
  • 命令工具bash ps auxf netstat -antp last/lastb find / -mtime -1 # 最近修改的文件 rpm -Va # RPM验证

2. 入侵后处理

  • 处理步骤
    1. 隔离系统
    2. 收集证据
    3. 分析入侵途径
    4. 恢复系统
    5. 加固系统

七、日志分析技巧

  1. 常用日志位置

    • /var/log/messages (通用系统消息)
    • /var/log/syslog (Debian系)
    • /var/log/secure (认证日志)
    • /var/log/auth.log (Debian系认证日志)
    • 应用特定日志(如/var/log/nginx/)
  2. 日志分析工具

    grep -i error /var/log/messages
    tail -f /var/log/syslog
    less +F /var/log/nginx/access.log
    journalctl --since "1 hour ago"
    

八、高级排查工具

  1. 性能分析

    • perf (Linux性能计数器)
    • strace/ltrace (系统/库调用跟踪)
    • valgrind (内存调试)
  2. 网络分析

    • wireshark (图形化抓包)
    • tshark (命令行wireshark)
    • ngrep (网络grep)
  3. 系统快照

    • sysdig (全系统捕获和分析)
    • systemtap (动态追踪)

九、故障排查流程图

开始
↓
收集错误现象和日志
↓
确定故障范围(系统/网络/服务/存储)
↓
使用相应工具检查具体指标
↓
定位问题根源
↓
制定解决方案(配置变更/服务重启/硬件更换)
↓
实施解决方案
↓
验证问题是否解决
↓
记录故障处理过程
结束

十、预防措施

  1. 监控系统:部署Zabbix、Prometheus等监控工具
  2. 日志集中:使用ELK或Graylog集中管理日志
  3. 定期备份:实施自动化备份策略
  4. 变更管理:记录所有系统变更
  5. 文档完善:维护系统架构和配置文档

记住:优秀的运维工程师不是不遇到问题,而是能快速定位和解决问题。持续学习和经验积累是提高故障排查能力的关键。