没搞过。但可提供思路:
1,看日志
2,折半排除,先拔一半机器,看问题是否重现,如果是,从这一半里的一半里找,如果不是,拔另一半.......如此往复,子子孙孙,无穷匮也
如此也是,但是效率上有点问题
如內部網路可以設定hosts指定server則逐台排查
不行則對半下線排查
不知道是否有接入注册中心呢?如果接入了注册中心对于机器的问题就比较容易排查了。只要设置好熔断 并且注册中心有提供可视化的监控界面 可以很直接的看到哪些机器出现故障未对外提供服务。
如果是代码级别的问题 可以对错误日志进行存储。毕竟分布式的日志太多太分散 一个文件一个文件去找的话还是很难的。可以将日志接入数据库之类的存储中。然后通过界面可以查询近期出现的错误。当然 可能需要代码中实现。会增加部分工作量
分布式服务器出现问题盘查思路:
1.先看监控报警有没有问题
2.如果监控报警有问题,重点排查报警部分的服务器或者代码服务功能
3.如果都没有找到,根据业务影响功能的分析是那些应用服务影响的,再去服务器上排查
4.然后先查看服务器内存硬盘CPU是否正常,再查看对应模块的端口和日志
这个是在面试中非常常见和经典的问题,欢迎大家一起交流
– 木偶米 4年前