1.
准备与初步信息收集
- 步骤1:登录到管理节点或出现异常的云主机,推荐使用SSH(ssh -A root@ip或用跳板机)。
- 步骤2:记录故障时间范围(yyyy-mm-dd hh:mm:ss),并在各节点同步时钟(chrony或ntpctl status)。
- 步骤3:收集基础状态:uptime; free -m; df -h; df -i; uname -a; cat /proc/loadavg。将输出重定向到文件保存(例:/root/troubleshoot/host_status.txt)。
2.
检查磁盘与文件系统问题
- 步骤1:查看磁盘占用与inode(df -h; df -i),找到>90%条目。
- 步骤2:查看大文件(du -xh /var | sort -rh | head -n 30),清理临时日志或压缩老日志(gzip)。
- 步骤3:检查挂载与UUID(lsblk -f; mount),必要时对未卸载的磁盘运行fsck(在单用户模式或维护模式下)。
3.
网络连通性与延迟排查
- 步骤1:ping 与 mtr 对外与集群内节点检测(mtr -c 100 target)。
- 步骤2:查看端口与连接(ss -tunap | grep :80; ss -s),若大量TIME_WAIT或SYN_RECV,检查应用连接池或防火墙。
- 步骤3:抓包分析(tcpdump -i eth0 host 1.2.3.4 and port 80 -w /root/tcpdump.pcap),用Wireshark或tshark过滤(tshark -r file -Y)。
4.
服务级别日志收集与分析(Nginx/Apache/MySQL)
- 步骤1:定位日志:Nginx通常在/var/log/nginx/access.log,error.log;Apache在/var/log/httpd/;MySQL在/var/log/mysql/error.log。
- 步骤2:实时查看并筛选:tail -n 200 -f /var/log/nginx/error.log,或用grep过滤时间段与IP(awk '$4>="[01/Jan/2023:10:00:00"')。
- 步骤3:用goaccess分析访问日志(goaccess access.log -o report.html),或用awk统计慢请求(awk '{print $7}' access.log | sort | uniq -c | sort -nr | head)。
5.
性能分析:CPU、内存、I/O 瓶颈定位
- 步骤1:top 或 htop 查看占用最高进程,记录PID与命令(ps aux --sort=-%cpu)。
- 步骤2:磁盘I/O用iostat -x 1 5或iotop -o查看慢写读;若iowait高,重点检查磁盘队列与云盘类型。
- 步骤3:内核日志与OOM:dmesg | tail -n 200,查看是否有Out of memory killer记录;若频繁OOM,调整swappiness或扩内存。
6.
集中日志与跨节点关联分析
- 步骤1:将各节点日志收集到管理节点:使用rsync或scp(rsync -avz root@node:/var/log/nginx/*.log /root/collect/)。
- 步骤2:按时间戳关联事件(使用awk或python脚本按时间窗口合并),查找跨节点请求链路异常。
- 步骤3:建议部署集中日志系统(rsyslog -> ELK/EFK/Graylog),并开启结构化日志与TraceId便于后期分析。
7.
问:遇到站群中单台主机响应慢,如何快速定位是网络还是应用问题?
- 答:首先在该主机执行ping与mtr检测外网与内网延迟;同时使用ss查看连接数与状态(ss -s; ss -tunap)。若网络正常,查看top与iostat确定是否CPU或I/O瓶颈;再查看服务错误日志(/var/log/nginx/error.log或应用日志)和数据库连接情况以判断应用层问题。
8.
问:日志量很大,如何保留关键证据并不影响线上服务?
- 答:即时压缩归档老日志(gzip),配置logrotate缩短保留期并压缩;将关键期日志远程传输到管理节点或S3冷存储(rsync/s3cmd);必要时增大磁盘或启用日志采样,只保留包含异常码或慢请求的条目。
9.
问:如何长期降低站群故障率并提高日志可用性?
- 答:建立统一监控告警(Prometheus+Alertmanager/Datadog),设置关键指标阈值(cpu,iowait,latency,error_rate);推行结构化日志和分布式追踪(OpenTelemetry),定期演练故障切换与容量评估,保证日志集中、备份与审计。
来源:台湾站群云主机常见故障排查与日志分析操作手册