运维.售后
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
博客
Blog
ToB门户
了解全球最新的ToB事件
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
软件与程序人生
›
后端开发
›
Java
›
网络之谜:记一次失败排查的故事
网络之谜:记一次失败排查的故事
拉不拉稀肚拉稀
金牌会员
|
2023-12-20 19:12:14
|
显示全部楼层
|
阅读模式
楼主
主题
866
|
帖子
866
|
积分
2600
在这篇文章中,我们将详细探讨导致故障的可能原因以及解决方案,以便更好地理解故障排查的复杂性和艰巨性,尤其是当出现与本次故障表现相似的问题时。
故障的表现
首先,让我们回顾一下故障的表现。在客户端调用接口时,发现一直在转圈等待,而服务器端却收到了请求并在返回结果给客户端时报了一些错误,包括java.io.IOException: Broken pipe错误和Connection reset by peer错误。尽管整个查询链路所需时间并不长,大约在2秒左右,但通过使用grafana监控工具,我们发现Nginx的连接数超过了平时的6倍以上。尽管我们已经仔细检查了各个方面的原因,但仍未找到根本问题所在。但是,我们最终注意到重启服务可以解决问题,因此我们将目标问题的范围锁定在服务器端。
pinpoint错误请求数及其分布
Nginx当时的连接数:当时是个很正常日子,并没什么活动
问题排查
然而,为什么会出现这样的问题呢?主要原因在于监控手段不足,甚至无法生成基本的Java dump文件。在排查过程中,我们只能看到现象而无法找到具体原因。通过pinpoint平台(类似于skywalking),我们发现了三种基本错误。第一种是之前提到的java.io.IOException: Broken pipe,第二种是Connection reset by peer,第三种是服务器访问第三方服务器时出现的connection timeout或refuse connection错误。虽然之前也发生过类似的问题,但都是偶尔出现,并没有像这次一样数量如此之多,占用了访问量的1/10。因此,在出现问题时,我们没有立即重启,而是进行了仔细排查。然而,最终我们以失败告终,只能依靠重启来解决问题。如果你有任何想法,请在下方评论区留言。
首先,我们排除了一些问题,如数据库查询、中间链路的转发、第三方服务器的调用等,均未发现问题。尽管我们确实可以确定问题出在服务器节点上,但具体原因仍然是个谜。
在继续探索之前,让我们先了解一下故障排查的一般步骤。首先,我们需要收集足够的信息来了解故障的具体表现。这包括错误日志、监控指标、性能数据等。在本次故障中,我们已经通过监控工具获取了一些有用的信息。接下来,我们需要分析这些信息,并进行合理的假设和推断。我们还可以尝试在类似的环境中重现故障,以进一步观察和分析。当我们找到可能的原因时,可以进行一系列的测试和验证,以确定是否解决了问题。最后,我们需要记录和总结我们的调查过程,以便于日后的参考和经验积累。
在本次故障排查中,我们遇到了一些挑战。首先是监控手段不足的问题,由于JDK版本的问题导致无法生成Java dump文件。这使得我们无法深入了解故障的具体原因。因此,我们建议在类似的情况下,提前准备好足够的监控工具和技术手段,以便更好地进行故障排查。
另一个挑战是故障的复现。由于问题并非每次都发生,我们无法简单地通过重现来解决。在这种情况下,我们尝试了在生产环境协调客户获取账号,并确实复现了问题所在,最终确定了是某一个节点连接数飙高导致无法处理请求导致的,但是为什么会某一个节点单独飙高就不得而知。
最后,我们需要注意故障排查的方法和技巧。在排查过程中,我们应该保持冷静和耐心,避免盲目猜测和随意尝试。我们应该以科学的态度,根据收集的信息进行分析和推理,不断迭代和验证。同时,我们还应该注重团队合作和知识共享,通过不同的视角和经验来解决问题。
总结
总之,本次故障排查虽然以失败告终,但我们从中学到了很多经验和教训。故障排查是一项复杂而重要的任务,需要我们具备专业知识和技术手段。同时,我们还需要保持冷静和耐心,以科学的态度进行分析和推理。只有这样,我们才能更好地解决问题,并为日后的故障排查积累宝贵的经验。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
正序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
发新帖
回复
拉不拉稀肚拉稀
金牌会员
这个人很懒什么都没写!
楼主热帖
c语言学习4
【Atlas 800 训练服务器(型号:9000) ...
WinUI3 FFmpeg.autogen解析视频帧,使 ...
IOS OpenGL ES GPUImage 黑白色调模糊 ...
Docker 基础 - 3
第四次打靶
制造型企业的数字化转型离不开 MES 系 ...
SQLI-LABS(Less-11、12)
重温python基础:列表相加的方法(两个 ...
1、etcd基础介绍
标签云
存储
服务器
快速回复
返回顶部
返回列表