作为一名系统工程师,排错是工作过程中经常会遇到的内容,而需要排错的对象往往是千奇百怪,各种各样都有。系统工程师被誉为“什么都懂的人”,因此,一旦发生问题,往往就成为了第一个被想到的人。相信,广大一线运维工程师都有这样的经历。
无疑,排错是需要技巧的。因为这项工作不仅需要很好的逻辑思维能力和丰富的工作经验,同时还需要使用正确的方式,合理的行为,正确的过程。我曾经面试过、管理过很多系统工程师,也教过很多学生。在工作中我发现很多新手对于如何排错往往不那么在行。
事实上,在经过无数次排错工作之后,我深深的感觉到:排错没有固定的方法和手段,掌握正确的排错思想才是最为重要的。我把我的排错思想总结为几个基本的步骤。在此,分享一下个人的体会,抛砖引玉,请各位指正。
第一步:观察错误
观察错误,说白了就是搞清楚发生了什么。
一些新手,特别是一些“文档工”只知道照着文档一步步敲命令,出现问题了,也只是按照一些所谓的技术手册或者故障手册去排查问题。这是不可取的。
你必须清楚发生了什么。
你可以通过标准错误输出(一般来说它们会直接输出到屏幕上)、错误日志、监控工具等途径获取到相应信息。有些linux工程师只知道去看/var/log/message日志,有些AIX工程师只知道看errpt,还有些windows工程师压根什么都不知道看。以上这些都是不可取的,错误的。你必须知道可以通过哪些途径获取到计算机给你的反馈。并且,通过这些反馈了解到底发生了什么。
第二步:分析问题