WEB系统问题排查

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WEB系统问题排查相关的知识,希望对你有一定的参考价值。

参考技术A 当问题出现,第一反应是估计影响范围。如当有用户反馈页面白屏,打不开时。需第一时间确认影响范围。具体操作流程如下:

当问题是局部发生的时候。则需进行排查。首先查看服务器各个集群的状态:

日志的排查不能是漫无目的的,需要根据问题的情况及对业务的了解,先后的去排查可能相关的日志。

问题一般在如上的流程中都能定位出来。如果定位不出来:

==让自己冷静下来,停下来一分钟,想一想问题,千万不要慌乱,并在没有思路的情况下操作,避免二次事故==

试试以下方案:

当影响范围或这错误已经找到或者没找到的情况下。需要在最短的时间内恢复系统(不一定是100%恢复,但要保持基本可用),如:

如等级系统异常导致的整站异常,则可下掉等级系统,所有用户等级全部默认1级,以保持系统基本功能可用

从上面的处理过程会得到一个提醒:

==线上系统的备用方案非常重要,系统需要有演戏,有紧急情况下的备用方案==

上面的排查过程,需要在一系列工具的配合下才能准确,快速的定位问题,以下列一下可能需要用的工具。

==linux命令是最好用的工具==

业务的访问情况分析,如pv,可以用百度统计等第三方统计平台(对于上述的情况,这种第三方统计平台是足够使用的)。

接口的访问情况,可能看起来比较麻烦。一般接口的访问情况,可以根据入口服务器(如nginx或apache)的访问日志来做一个简单的估计和查看。但是如果是分布式的机器的情况下,就比较麻烦。建议搭建ELK日志平台,通过对日志的聚合统计就可以做到接口访问情况的分析。

zabbix:是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。可以监控到各种服务器信息。

当然目前运维届有各种监控工具,如单独监控mysql集群的工具,redis的集群监控工具等都是可以用的。各个公司需要根据自己的情况,选用不同的工具。毕竟如果只需要监控mysql,那用zabbix就太重了。

业界目前比较流行的有ELK Stack。用于一站式的日志采集,存储,查看和分析。可以集中,方便的观察到各台服务器的日志情况,又不需要每个人都开通线上机器的权限,也方便日志的查询和搜索

在一般情况下(业务系统较简单,机器不多)。linux的命令是最方便快捷的方法。配合shell的sed或awt语法,可以做很多事情。

下面列一下一些常用的命令或工具:

web项目no such method exception

昨天更新包后出现这个异常,经过仔细全面排查,项目源码是没问题的。

怀疑jvm被重写了,肉眼也没找到证据。怀疑是操作系统问题,这个也不会没办法排查

于是给客户重新发了个war包,客户运行后出现 异常:

Unable to compile class for JSP

参考我之前的文章,去%tomcat%\\work\\Catalina下看了一眼,发现客户把一个项目多次重命名,直接启动了(由于没有截图,这个部分读者理解起来可能费力,不过不理解也不要紧)
于是我将该目录下及子目录下所有该项目删除,重启tocmat,然后就正常了

以上是关于WEB系统问题排查的主要内容,如果未能解决你的问题,请参考以下文章

浅析Linux系统入侵排查与应急响应技术

Linux系统排查4——网络篇

Linux系统及应用问题分析排查工具

(转)Linux系统排查4——网络篇

日常问题排查-调用超时

日常问题排查-调用超时