2、发生时间

  如果问题发生的时间有一定规律,这时我们可以通过排查系统的定时任务,从而找出问题根因;另外,根据时间点我们可以迅速找到相关日志,减少查找日志花费的时间。

  3、做过哪些操作

  安装了补丁包?修改了系统配置参数?了解问题出现之前做了什么操作,能为我们处理问题提供指引。

  4、OS相关信息

  利用工具可收集问题出现时间点CPU负载、内存利用、磁盘IO、网络收发包等OS信息,这些信息为我们提供了较为全面的参考。

  为了全面地收集OS信息,需要执行很多命令。这时,可以将这些命令集合到一个脚本中,利用脚本进行信息收集,节省了输入命令的时间,对于无法自行登录的远程服务器,使用脚本收集更显便捷。

  总之,信息收集越全越好。即使自己找不出问题根因,后续向他人求助时,也不会因为缺少日志信息而犯愁。

  了解了问题现象,又有了日志信息,那我们可以结合日志对问题进行分析了。

  首先判别问题类型、缩小问题范围:

  是硬件问题,还是软件问题?

  是业务进程层面的,还是系统层面的?

  CPU、内存、网络、磁盘,哪一方面出现异常?

  对于可复现(reproducible)的问题,我们可搭建环境进行问题复现,在实验环境中对问题处理方法进行验证,可降低对现网环境的影响;对于复杂地、不可复现的问题,我们得做好长期作战的准备了,除了收集以上所列信息外,还需记录问题处理的过程、尝试过哪些处理方法等,这样,当有其他人参与进来一同处理该问题的时候,能更快速地熟悉问题情况。

  小结

  本文讨论了Linux故障处理的方式方法。能否顺利解决故障,首先取决于我们的技能水平,其次需要依靠各种问题诊断工具。处理问题的过程可以与个人技能提升很好地结合起来,好的处理方式需要经验的积累,但个中也有规律可寻。

  从提升个人技能的角度出发,即使面对紧急问题,我们也能变得更加淡定和坦然。再有业务中断情况,老板、主管都还在抓狂,但你...