一、应用故障
HTTP 502 故障
502 Bad Gateway
故障检测:
首先定位到前端故障服务器节点,在前端服务器(Telnet)上访问后端服务端口响应时间。如发现响应时间超时>10s。说明后端应用程序出现故障。需要到后端服务器查看,并查明情况。
PS:HTTP 502 Bad Gateway 故障一般分为以下2种情况:
网络问题:前端无法连接后端服务,网络100%丢包
后端服务问题:后端服务进程宕掉。如nginx,php进程挂掉。
HTTP 503
503 Service Temporarily Unavailable
故障检测:
首先定位到前端故障服务器节点,在前端服务器上ping后端服务器查看网络延迟丢包情况,后端服务端口响应时间。如发现延迟>100ms,丢包>5%。说明前端到后端网络出现问题。
PS:HTTP 503 Service Temporarily Unavailable 故障一般是前端访问后端网络延迟导致。首选排查是不是后端流量过载导致。如果不是,就是前端到后端网络问题。
HTTP 504
504 Gateway Time-out
故障检测:
查看后端服务器Nginx php mysql资源占用情况,并查看相关错误日志。
PS:此类故障几率比较小HTTP 504 Gateway Time-out 故障一般是因的后端服务器响应超时。如PHP程序执行时间太长,数据库查询超时。与程序沟通是否需要增加PHP 执行超时时间。
二、攻击故障
DDOS攻击
故障检测:
查看监控网卡流量,网络延迟/丢包,数据包个数/s
#iptraf -d eth0 查看网络流量和数据包/s,发现进来的流量和数据包个数非常大,出去的流量和数据包非常小。如下图:
PS:DDOS攻击故障,一般是进来的流量比较大,出去的流量小。网络数据包接收包个数比较大,发送数据包比较小,网络延迟高,并且有丢包现象。
CC攻击故障
故障检测: 查看监控网卡流量,Nginx 连接状态,CPU 负载
PS:CC攻击故障,一般是出去的流量比较大,进来的流量小。Nginx连接数猛增。