1、步骤:
2、示例:Nginx的upstream配置中后端服务器地址错误。
3、步骤:
4、查看后端服务日志(如应用日志、数据库日志)。
5、类比:像餐厅客满,无法接待新顾客。
6、增加服务器实例或使用自动扩展(如AWSAutoScaling)。
7、设置健康检查与熔断:
8、直接访问后端服务:使用curl或浏览器访问后端服务的IP和端口。
9、检查数据库连接是否正常(如mysql-uuser-p)。
10、使用traceroute排查路由问题。
11、场景:服务器处于维护模式,或通过限流策略(如熔断机制)主动拒绝请求。
12、修复配置错误:
13、示例:Tomcat/Jetty未运行,导致Nginx/Apache无法代理请求。
14、测试网络连通性:ping或telnet<后端IP><端口>。
15、查看是否启用了维护页面(如Nginx返回503的配置):
16、场景:负载均衡器与后端服务器之间的网络中断。
17、调整资源配额(如增加内存、CPU限制)。
18、步骤:
19、
20、步骤:
21、示例:防火墙规则阻止了流量,或VPC网络配置错误。
22、检查Nginx配置:
23、扩容与负载均衡:
24、增加内存/CPU或升级硬件配置。
25、重启容器或Pod:dockerrestart<容器ID>或kubectlrolloutrestartdeployment<名称>。
26、示例:Redis宕机导致应用无法启动会话。
27、部署负载均衡器分散流量。
28、复制
29、nginx
30、场景:服务器或容器的资源配额(如Docker内存限制)被触发。
31、检查云平台或CDN是否触发了维护模式(如AWS的ELB健康检查失败)。
32、优化资源使用:
33、重启崩溃的后端服务:systemctlrestart<服务名>。
34、场景:后端服务(如数据库、API、应用服务器)崩溃或未启动。
35、确认数据库、缓存、消息队列等依赖服务是否正常运行。
36、重启服务:
37、查看后端服务状态:
38、查看Nginx错误日志:tail-f/var/log/nginx/error.log。
39、使用熔断工具(如Hystrix)防止级联故障。
40、工具:
41、确认端口监听状态:netstat-tuln|grep<端口号>。
42、检查容器资源限制:dockerstats或kubectldescribepod
43、调整超时参数(如Nginx的proxy_connect_timeout)。
44、示例:KubernetesPod因OOM(内存不足)被终止。
45、nginx
46、查看系统日志:journalctl-u<服务名>(如Docker、Kubernetes)。
47、以Nginx为例:
48、优化代码或数据库查询,减少资源消耗。
49、步骤:
50、场景:依赖的第三方服务(如数据库、缓存、认证服务)不可用。
51、通过日志聚合工具(如ELK、Splunk)分析错误日志。
52、检查是否触发了限流或熔断机制(如limit_req模块)。
53、场景:服务器资源(CPU、内存、连接数)耗尽,无法处理新请求。
54、复制
55、场景:反向代理(如Nginx、Apache)配置错误,导致无法正确路由请求。
56、检查网络连通性:
57、步骤:
58、检查进程是否运行:systemctlstatus<服务名>(如Nginx、Tomcat)。
59、使用APM工具(如NewRelic、Datadog)监控服务性能。
60、修正反向代理配置中的错误后端地址。
61、检查防火墙规则:iptables-L或云平台的“安全组”配置。
62、登录服务器,查看CPU、内存、磁盘使用率(top、htop、free-m)。
63、测试依赖服务的连接(如redis-cliping返回PONG)。
64、在负载均衡器中配置健康检查,自动剔除异常节点。
65、检查nginx.conf或site-enabled/中的配置:
66、示例:人为配置了维护页面,或云服务商因流量过大触发限流。