1.
巡检与事件准备
常规巡检步骤:先登录控制台确认实例状态(AWS/GCP/阿里云国际等),查看监控面板(CPU/带宽/内存/磁盘I/O)是否有突变。
准备工作:确保有最近的SSH密钥、root或sudo权限、运维账号和变更记录表。准备好联络渠道(上游ISP/云客服)和应急脚本备份。
2.
快速判断故障范围(网络/应用/系统)
步骤:1)从外部验证服务是否可达:curl -v http://your.ip:port 或 telnet ip port;2)在本机检查监听端口:ss -tulnp 或 netstat -anp;3)查看进程状态:ps aux | grep yourapp。
判断要点:如果端口未监听为应用问题,若端口可达但响应慢为资源或网络抖动,为全部不可达则优先判定网络或ACL问题。
3.
网络层排查(链路与防护)
抓包与流量确认:使用 tcpdump -nn -i eth0 port 80 -s 0 -w /tmp/cap.pcap 并用 Wireshark/zeek 分析异常流量源IP与包类型。
检查防护设备:查看防火墙规则(iptables -L -n 或 nft list ruleset)、云端安全组、WAF与高防控制台流量统计,必要时执行临时黑洞/限流策略并记录变更。
4.
防DDoS应急步骤
分级响应:轻微流量峰值——加阈值限速(tc qdisc、iptables rate-limit);中等攻击——启用云端高防清洗或调整高防策略;严重攻击——与上游运营商协商做BGP黑洞或流量清洗。
具体命令示例:iptables -A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 200 -j DROP;tc qdisc add dev eth0 root tbf rate 100mbit burst 32k latency 400ms。
5.
系统资源与性能排查
检查CPU/内存/IO:top 或 htop 查看占用;iostat -x 1 5 查看磁盘IO瓶颈;vmstat 1 5 辅助判断。
缓解措施:杀掉泄露进程或重启受影响服务,调整应用线程池/连接池,扩容实例或调大磁盘I/O规格,必要时水平扩展后做流量切换。
6.
日志收集与分析方法
集中化日志:确保日志上传至ELK/Graylog/云日志服务,无法集中时用 journalctl -u your.service -n 200 或 tail -f /var/log/your.log 实时查看。
定位技巧:按时间轴对齐网络抓包与应用日志,搜索错误码/异常堆栈,使用grep -nE "ERROR|WARN|exception" 提取关键行并记录上下文。
7.
进程与文件句柄检查
查看打开文件句柄:lsof -p PID 或 lsof -i 查看网络相关句柄;查看系统限制:ulimit -n 与 /proc/sys/fs/file-max。
解决方法:如句柄耗尽,调整 /etc/security/limits.conf 并重启服务,或修复泄露的文件描述符代码路径。
8.
数据库与缓存故障处理
数据库检查:登录DB实例(mysql -u root -p),查看主从延迟、慢查询(SHOW PROCESSLIST; SHOW SLAVE STATUS;),审查连接上限与锁等待。
缓存问题:redis-cli MONITOR 或 info 命令查看内存与慢命令,若OOM或持久化阻塞,考虑重启从节点并逐步切回。
9.
存储与备份恢复策略
备份校验:定期验证快照/备份可用性,恢复演练。恢复步骤:先在隔离环境恢复数据快照,验证完整性,再按变更窗口逐步切换流量。
回滚原则:所有变更操作记录在案,回滚脚本事先准备并在低峰测试通过后执行,确保回滚链路与权限清晰。
10.
变更与权限管理
变更流程:任何生产变更需提交工单并通过审批,记录回退方案与预期影响。
权限控制:最小权限原则,SSH跳板机集中审计,开启审计日志并定期Review sudoers。
11.
异地容灾与流量切换实操
预置多活/主从:配置跨可用区或跨区域的负载均衡(如NGINX/LVS + Keepalived或云LB),并定期演练DNS/负载切换。
切换步骤示例:1)在目标节点预热服务并健康检查通过;2)从LB移出故障节点:nginx upstream down 或修改云LB权重;3)监控流量与指标直至稳定。
12.
与上游与高防供应商协作要点
沟通清单:提供攻击时间窗口、攻击流量样本(pcap)、受影响IP/端口、业务影响截图与日志片段。
响应流程:在控制台发起工单并标注紧急等级,必要时通过电话或专线加速处理,记录供应商分配的ticket号与处置建议。
13.
事后复盘与防范改进
复盘要求:事件时间线、影响范围、根因分析、临时方案与最终解决方案、改进计划与责任人。
改进项例子:增加WAF规则、调整阈值、脚本化自动限流、扩容高防能力与完善备份频率。
14.
问:遇到大流量攻击时第一步该做什么?
15.
答:快速隔离并沟通上游
第一时间确保业务可控:临时启用云端高防或增加清洗策略,按优先级限流非关键接口;同时将抓到的样本提交给上游或高防供应商请求清洗或BGP协助,记录所有变更。
16.
问:如何判断是应用层问题还是网络层问题?
17.
答:通过分层验证定位
先用外部curl/telnet验证连通性,再在服务器上用 ss/netstat/local curl 验证监听与响应;若TCP三次握手可完成但响应慢,多为应用或资源问题;若连通性丢失或大量RST/ICMP,则偏网络层。
18.
问:日常运维有哪些可以自动化的关键点?
19.
答:监控告警、自动扩缩容与应急脚本
实现要点:1)基线监控与告警策略(带宽/连接数/错误率);2)自动化扩容脚本或云自动伸缩策略;3)常用应急脚本(切流、黑名单、抓包与备份)放在受控仓库并定期演练。
来源:技术团队必读的美国高防的服务器运维与故障排查手册