当前位置: 首页 > ops >正文

生产系统中TongWeb故障应急处理办法

        本文档主要说明在上线正式运行的系统中,若TongWeb或部署在TongWeb上的应用出现问题时,现场维护人员或在现场的TongWeb支持人员应当采取的处理步骤。

工作基本原则:

  1. 任何操作必须经过项目相关负责人同意后进行,禁止在未允许的情况下做任何操作,否则后果自负。
  2. 在重启TongWeb前,需花费几分钟收集相关日志,切记盲目重启TongWeb导致无法收集日志,事后无法分析问题。
  3. 以尽快恢复生产系统,不影响用户使用为基本原则。

关于TongWeb进程相关概念的一些说明,请注意在说明时不要混淆:

  1. “TongWeb宕机”的含义:查看TongWeb的Java进程不存在,TongWeb已经因非人为运行stopserver而停止,此种情况称之为TongWeb宕机。
  2. “TongWeb假死”的含义:查看TongWeb的Java进程还在,但TongWeb的控制台和应用都不能访问或访问很慢,此种情况称之为TongWeb进程假死。
  3. “应用访问异常”的含义:查看TongWeb的Java进程还在,TongWeb的控制台也能正常访问,但应用访问不正常或有错误。此种情况称之为“应用访问异常”。

不同情况的处理步骤:

1. license过期情况
  • TongWeb的license过期后TongWeb自动停止,请尽快联系东方通销售人员索要TongWeb产品的license,TongWeb支持人员无权发正式产品license或可以提供临时license。

  • 应用的license过期,请尽快联系应用开发商索要产品的license。

  • SSL证书过期,请尽快联系证书公司索要新的证书。

2. TongWeb已经停止,Java进程已经不存在的情况
  • 立刻启动TongWeb,恢复系统
  • 备份出bin、conf下配置文件,并记录这些文件时间,以判断最后一次应用的配置修改时间。
  • 打包保留TongWeb的logs目录日志和bin下的nohup.out文件,并记录这些文件的时间,以判断TongWeb是何时停止的。
  • 查看TongWeb的bin目录下有没有生成javacore、hs、heapdump开头的文件,并收集这些文件。
3. 应用系统某些功能点无法使用

       某些项目在上线前会有测试不充分的情况,甚至存在移植到TongWeb后就直接上线的情况,所以可能存在上线后,功能都不正常的情况。

        应用系统有的功能点能用,有的不能用。出现这种情况注意查看TongWeb的日志是否存在异常信息,肯定是因为应用有异常才不能用的。若日志中无任何异常信息,则需要在应用中加入调试信息或打开应用的DEBUG日志,重部署应用或重启TongWeb后,再收集异常日志分析问题。

4. TongWeb的Java进程假死,且应用和TongWeb控制台都不能访问了
  •       存在个别情况下,Java进程还在,但应用和TongWeb控制台都不能访问,这时可通过jstack、jmap、jstat、netstat、lsof等命令生成堆栈日志、端口信息、GC日志以备分析,然后再重启TongWeb。

       注:若TongWeb为集群环境,其中一个TongWeb出现问题不影响生产系统运行,建议保留有问题的环境,以供分析。

5. 应用系统运行慢的情况

  • 查看TongWeb的Java进程占用CPU是否很高,若CPU很高则记录线程占用的CPU情况,并记录下线程占用CPU的信息。
  • 当应用访问慢时,访问一下TongWeb的控制台查看是否也慢,若访问控制台也慢,则有可能是因为CPU占用高,需按上一条方法处理。也可能是Java的内存出现问题,需查看TongWeb日志有没有内存溢出错误或GC日志中full gc占用过高,然后通过jmap生成内存镜像文件以备分析。
  • 若访问TongWeb的控制台不慢,CPU占用也不高,只是访问应用慢。则可能是TongWeb的线程池或数据源的连接池占满。这时需通过jstack生成堆栈日志,并通过TongWeb控制台查看TongWeb的线程数、连接池的使用数。若为开源连接池,则通过netstat或通过数据库命令查看连接数,并记录下来,以备分析。
  • 收集完以上信息后,根据维护负责人员意见,看是否需要重启TongWeb快速恢复生产系统。重启前需要开启GC日志、数据源泄露日志、慢SQL日志、线程监控和数据源监控以再出现问题时,有分析数据。
6. ​​​​​​​重启TongWeb后仍存在问题

       重启TongWeb后仍存在问题,应用的某些功能还无法使用。这种情况需根据日志分析具体的原因了,注意收集当时的日志信息。这时问题可能与TongWeb无关,有可能是数据库、网络、更改过应用等方面原因造成的问题。如:访问静态页面无问题,但访问与数据库相关的JSP页面时有问题,则可能是数据库连接或数据库SQL有问题了。

       按上述情况进行初步的日志收集,并在恢复系统后,分析日志并找相关人员了解如下情况:

  1. 系统何时开始出现问题的,以前是否一直有问题,出现问题的频率和时间。
  2. 嘱咐现场维护人员,再出现此问题时该收集哪方面的信息。
  3. 最近系统做过哪方面的修改,如:数据库、网络、应用包更新、操作系统的参数修改等等。
http://www.xdnf.cn/news/10416.html

相关文章:

  • 蓝光过滤APP:护眼小助手,守护您的视力健康
  • Python基础:常量、变量、变量类型、表达式、注释、输入输入、运算符
  • Java网络编程基础:从阻塞式I/O到线程池模型
  • @Value,@ConfigurationProperties
  • 【CSS-1】CSS 语法规范与书写位置详解:提升代码可读性与维护性
  • 封闭内网安装配置VSCode Anconda3 并配置 PyQt5开发
  • 射频通信概述
  • 初学c语言22(编译和链接)
  • 基于谷歌ADK的智能客服系统简介
  • 家政维修平台实战11搭建服务规格
  • 力扣题解106:从中序与后序遍历序列构造二叉树
  • esp-idf ubuntu环境配置
  • C++多重继承详解与实战解析
  • C++ —— STL容器——string类
  • xdma 驱动测试与分析
  • Launcher3体系化之路
  • Spring Boot对一些技术框架进行了统一版本号管理
  • vue3常用组件有哪些
  • 【STM32F1标准库】理论——外部中断
  • YOLOv5 环境配置指南
  • 高速串行通信解惑说明
  • 数据结构-排序-排序的七种算法(2)
  • Java流【全】
  • vscode + cmake + ninja+ gcc 搭建MCU开发环境
  • 6v6-导航收录:2025年网站自动引流终极方案 - 提升SEO排名新策略
  • PCIe—TS1/TS2 之Polling.Active(一)
  • Java异步编程:CompletionStage接口详解
  • rv1126b sdk移植
  • QT中更新或添加组件时出现“”qt操作至少需要一个处于启用状态的有效资料档案库“解决方法”
  • 深入理解设计模式之观察者模式