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

生产系统中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.lryc.cn/news/2396236.html

相关文章:

  • PHP学习笔记(十一)
  • PyTorch中 torch.utils.data.DataLoader 的详细解析和读取点云数据示例
  • 直线模组在手术机器人中有哪些技术挑战?
  • RK3568DAYU开发板-平台驱动开发--UART
  • ubuntu 安装 Redis 5.0.8 的完整步骤
  • 制造企业搭建AI智能生产线怎么部署?
  • 深度学习驱动的超高清图修复技术——综述
  • unix/linux source 命令,其内部结构机制
  • 【LLM】FastAPI入门教程
  • 进程同步机制-信号量机制-记录型信号量机制中的的wait和signal操作
  • gitlib 常见命令
  • Azure DevOps 管道部署系列之二IIS
  • Vue.js教学第十七章:Vue 与后端交互(一),Axios 基础
  • 人工智能浪潮下,制造企业如何借力DeepSeek实现数字化转型?
  • NodeJS全栈开发面试题讲解——P2Express / Nest 后端开发
  • 从线性代数到线性回归——机器学习视角
  • 计算机网络相关发展以及常见性能指标
  • 通义灵码:基于MCP的火车票小助手系统全流程设计与技术总结
  • 为什么建立 TCP 连接时,初始序列号不固定?
  • VBA数据库解决方案二十:Select表达式From区域Where条件Order by
  • NX753NX756美光科技闪存NX784NX785
  • 使用 pytesseract 构建一个简单 OCR demo
  • Cesium快速入门到精通系列教程三:添加物体与3D建筑物
  • git 如何解决分支合并冲突(VS code可视化解决+gitLab网页解决)
  • 【CF】Day72——Codeforces Round 890 (Div. 2) CDE1 (二分答案 | 交互 + 分治 | ⭐树上背包)
  • 单片机寄存器的四种主要类型!
  • 智能嗅探AJAX触发:机器学习在动态渲染中的创新应用
  • 【计算机网络】Linux下简单的UDP服务器(超详细)
  • Java并发编程实战 Day 3:volatile关键字与内存可见性
  • 华为OD机试真题——报文回路(2025A卷:100分)Java/python/JavaScript/C/C++/GO最佳实现