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

生产系统中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. 应用系统运行慢的情况

  • 通过top命令查看TongWeb的java进程占用CPU是否高。若CPU高则通过查看线程占用CPU命令来分析。

  • 若CPU使用不高,TongWeb控制台访问正常,但应用所有页面访问都慢或不能访问应用端口,这种情况通常是应用的http线程池大部分出现阻塞导致的。通过netstat、jstack或kill -3分析。

  • 若CPU使用不高,TongWeb控制台访问正常,但应用跟数据库无关的页面访问正常,跟数据库有关的页面访问慢。查看日志和数据源配置。

  • TongWeb控制台和应用访部都很慢,日志中有“OutOfMemoryError”或通过jstat命令查看内存占用过高。通过GC日志、jmap命令分析内存。

  • "大部分业务正常,只有个别业务慢", 这是应用该部分业务的问题,与中间件无关。推荐TongAPM、阿里开源的 java 诊断工具-Arthas,可做源码级性能分析。

6.重启TongWeb后仍存在问题

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

7.低级误操作问题
  • 操作系统、数据库、应用、TongWeb、网络不做基本优化,直接上线。
  • linux下采用不同用户启动TongWeb导致文件权限问题。需采用 chown -R [TongWeb用户]:[TongWeb组] [TongWeb目录] 命令改变TongWeb目录文件属主。
  • 前台启动造成停止,需采用nohup后台启动TongWeb,如:nohup ./startserver.sh & 或 startservernohup.sh 、startd.sh 。
  • 系统运行过程中更改应用、TongWeb配置导致访问中断。
  • 每次重部应用、修改数据源配置后,需要重启TongWeb,否则容易导致问题。

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

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

协助处理

若自己短时间内无法解决问题,寻求同事协助处理,要点:
  1. 说明用户环境、产品版本、准确的描述问题的现象,收集全相应的日志。便于同事快速了解问题。
  2. 涉密环境无法提供日志时,要能判断需要谁现场协助解决。
错误的沟通方式:
  1. 群里发一个日志,然后就什么话也不说了,不说项目,不说问题。让别人猜吗?
  2. 描述问题时直接转发用户的聊天记录、聊天截图,不会总结。
  3. 提供日志给不到主要信息,日志拍照水平差。
  4. 沟通碎片化,不能一次把事情说清楚,反复的问。
  5. 不反馈原始的需求和问题,直接让别人分析自己认为的问题点,容易把人带偏。
  6. 有问题不反馈,或说不知道找谁。
  7. 表述不清问题,只说用户很着急,用户说是xx问题。
http://www.jsqmd.com/news/447126/

相关文章:

  • iohook API全解析:事件类型、参数说明与使用最佳实践
  • 从源码编译到运行:Dockerized开发者进阶指南
  • Scallion源代码解析:从RSA密钥生成到SHA-1哈希验证的全流程
  • Neorg终极指南:如何在Neovim中构建高效的组织管理系统
  • Redis OM Python与Redis Stack:解锁高级数据结构功能的终极指南
  • 2025企业元宇宙混合现实战略:AI架构师的MR技术融合与设备适配方案
  • XCaddy插件开发实战:快速测试与调试Caddy模块的高效方法
  • 7个实用技巧掌握Activiti子流程与调用活动:模块化设计终极指南
  • KlipperScreen摄像头配置指南:实时监控3D打印过程
  • Py4J生态系统:插件、扩展与第三方库集成指南
  • Neovim笔记管理革命:Neorg扩展用户界面设计的终极指南
  • 如何使用React Native Clean Project快速清理项目?5分钟入门教程
  • PDF OCR识别:拍照/扫描PDF的优化处理,从识别到编辑的全流程
  • OTPAuth终极教程:从基础概念到实战部署的完整路线图
  • 终极指南:Component框架版本更新全解析——从路由到模块化的演进之路
  • 如何将Neorg与XMind/FreeMind无缝集成:提升思维管理效率的完整指南
  • 从《守望先锋》2026前瞻,看大型分布式高效的系统的“重构”与“并发挑战”
  • 如何构建高效的流处理监控系统:JStorm Metrics深度解析与实践指南
  • 解放Chrome内存:MarvellousSuspender终极指南——一键冻结标签页的高效解决方案
  • 如何快速掌握JStorm日志系统配置与自定义指南
  • Autosar脚本编辑:涵盖BSW与MCAL配置的高级定制方案
  • 医疗AI专栏介绍
  • MarvellousSuspender vs 原生标签页管理:为什么这款扩展能让你的浏览器快3倍?
  • 5分钟上手tlapse:打造专属Web开发延时摄影
  • 已经上线2个月的 md-to.com 在 ProductHunt 网站打榜了
  • 入职 3 个月,聊聊我踩过的 MySQL 坑
  • DPO 算法
  • 终极指南:Ethereum Aleth 项目 C++ 编码规范全解析
  • pdf转word: 2026年pdfClaw如何免费转换扫描版PDF为可编辑Word文档
  • Flower配置热加载终极指南:无需重启实时更新监控设置