您可以到这里下载报告的完整版本
https://files.cnblogs.com/files/6pan/%E6%B8%85%E7%9C%9F%E4%BA%91%E6%95%85%E9%9A%9C%E6%8A%A5%E5%91%8A-20200314.pdf.zip
清真云 线上系统故障报告表
故障概况 故障发生时间 2020/03/13 14:38:00 故障记录时间 2020/03/14 13:56
故障概要 多系统超时、报告 INTERNAL_ERROR
影响范围 严重程度 高 紧急程度 紧急
范围说明 所有应用
(风险问题)
故障原因描述 故障反馈来源 QQ群 反馈人 -
一、 故障现象
1. 清真云所有端、均无法正常打开请求超时后返回服务器错误
二、 故障原因分析
故障梳理:
1. 2020/03/13 19:30:00 收到离线打开异常反馈
2. 2020/03/13 20:18:30初步怀疑离线微服务异常,尝试重启服务,没有解决
3. 2020/03/13 20:19:30离线服务大量报告 无法连接redis数据库
4. 2020/03/13 20:20:00 检查物理服务器连接数,仅500左右
5. 2020/03/13 20:35:00 发现DNS有故障,分析后认为不影响本次故障
6. 2020/03/13 21:03:00 redis服务正常
7. 2020/03/13 21:07:48 重启离线微服务,业务开始恢复
8. 2020/03/13 17:55:00 发现同一namespace下 多出 istio-proxy 微服务,且多个微服务配置不正常
9. 2020/03/13 21:14:00 离线微服务再次自动重启
10. 2020/03/13 21:19:00 排查请求,发现故障时间段请求数飙升
11. 2020/03/13 21:22:00 观察发现redis连接数上涨迅速,怀疑本地连接数被流量压垮
12. 2020/03/13 21:26:00 手动增加离线微服务实例,开始恢复
13. 2020/03/13 21:38:00离线微服务开始稳定不再自动重启
14. 2020/03/13 21:40:00排查代码死循环,无收获
15. 2020/03/13 21:54:00综合IT流量图,发现有部分无法解释的高峰
16. 2020/03/13 21:54:00 放大请求图,发现每次请求有尖峰,并且迅速回落,推测此时应用被大量请求冲垮
17. 2020/03/13 21:55:00 多应用均有明显的特征
17. 2020/03/13 22:00:00 网关处发现巨大包,但排查后确认与此次故障无关
17. 2020/03/13 22:11:00 确认应用恢复正常
18. 2020/03/14 11:18:00 用户依然报告故障,发现应用重启78次
19. 2020/03/14 11:20:00 仔细筛查应用日志,发现有无法连接消息队列的错误
20. 2020/03/14 11:48:00 确认两个机房路由中断,但公网正常
21. 2020/03/14 11:50:00 运营商报故障,同时迁移消息队列
22. 2020/03/14 13:09:00 消息队列迁移完成,故障恢复
三、修复方式
1. 迁移故障的消息队列;
2. 对大压力服务扩容。
四、 问题总结
3. 故障根本原因: 消息队列所在机房网络故障;
4. 故障以后,pod重启,而k8s检测到故障到重启需要耗费较大的时间,在此期间积压了大量的请求,重启完毕之后一瞬间恢复,将应用压垮;
5. 因消息队列连接不上,节点频繁重启;
6. 故障表现较多、干扰项非常多,如istio配置错误、DNS故障、内网连接失败等,给故障排除带来了干扰;
7. K8s特有的重启机制,导致重启一段时间后应用表现正常,为故障排查也带来了干扰。
五、改进措施
1. 加强监控,尤其是k8s服务的监控;
2. 完善日志监控告警指标。
故障恢复 故障处理 故障开始时间 故障恢复时间 故障处理人
2020/03/13 15:38:00 2020/03/14 13:09:00 -
恢复结果 线上验证恢复正常
备注