CN110955551B - 一种基于tomcat中间件的故障智能诊断装置 - Google Patents
一种基于tomcat中间件的故障智能诊断装置 Download PDFInfo
- Publication number
- CN110955551B CN110955551B CN201911174498.2A CN201911174498A CN110955551B CN 110955551 B CN110955551 B CN 110955551B CN 201911174498 A CN201911174498 A CN 201911174498A CN 110955551 B CN110955551 B CN 110955551B
- Authority
- CN
- China
- Prior art keywords
- tomcat
- analysis
- module
- index data
- host
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/079—Root cause analysis, i.e. error or fault diagnosis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于tomcat中间件的故障智能诊断装置,包括采集模块、处理模块、分析模块和输出模块,采集模块收集tomcat中间件集群的指标数据;处理模块将收集的原始的数据转换为文本格式;所述分析模块对转换为文本格式的指标数据进行筛选分析,判断筛选出的关键指标是否正常,并将判断结果输出到输出模块;所述输出模块将分析模块的输出结果输出,并标注故障问题点。本发明实现自动化故障诊断,免去人工分析带来的问题和人力浪费,降低时间成本;缩短故障时间,提高了故障处理的成功率;快速发现系统健康度,以提升系统可用性;日志错误关键字对应解决方法,能在日志中找到关键字匹配到解决方法,提高故障处理效率。
Description
技术领域
本发明涉及一种故障诊断装置,尤其涉及一种基于tomcat中间件的故障智能诊断装置。
背景技术
由于Tomcat技术先进、性能稳定,而且免费,深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前各企业流行的Web应用服务器,一般企业核心系统的tomcat集群至少十几个大规模节点来管理应用程序,就是为了保障应用系统7天24小时高可用服务在线。
对于大型的应用系统,一旦系统出现故障需要大量工作人员进行长时间的排查与分析,工作人员事务繁杂,有可能在规定的时间内未完成这项工作,也有可能因为运维管理员对故障系统不熟悉导致其它意外问题发生或者对数据收集分析的准确度不高。甚至出现解决故障的一线运维工程师无法找到系统故障分析切入点,最终会影响系统故障分析进度与客户满意度。
为了确保故障产生后能高效定位出故障产生根源,需要一种能快速诊断tomcat中间件故障分析方法,但目前实际工作中运维人员缺乏故障分析手段,在收到tomcat中间件故障通报后,一线运维工程师却没有清晰的分析思路,故障后不知道第一时间该做些什么工作,最终耽误业务最佳恢复时间,影响客户运营生产;在大规模tomcat中间件集群下,依靠纯人工来分析问题效率低且易出错;故障诊断分析对于运维技术水平要求较高,一线工程师无法快速诊断出故障原因,需要依赖资深工程师进行复盘分析。
现有的故障诊断都采用纯人工分析的处理方式,依赖运维人员的工作经验,还无法精准快速定位故障原因,致使业务故障定位与分析需要花费大量人力、时间来进行处理,存在一定的被动性及盲目性。因此,提出一种基于tomcat中间件的故障智能诊断装置,帮助快速准确定位故障。
发明内容
本发明要解决的技术问题是提供一种基于tomcat中间件的故障智能诊断装置,解决上述问题。
本发明为解决上述技术问题而采用的技术方案是提供一种基于tomcat中间件的故障智能诊断装置,包括采集模块、处理模块、分析模块和输出模块,所述采集模块收集业务系统使用的tomcat中间件集群的指标数据;所述处理模块将采集模块收集的指标数据进行分类处理,并将原始的数据转换为文本格式;所述分析模块对转换为文本格式的指标数据进行筛选分析,判断筛选出的关键指标是否正常,并将判断结果输出到输出模块;所述输出模块将分析模块的输出结果按照设定的巡检模板输出,并标注故障问题点。
进一步的,所述采集模块通过ansible开源工具批量下发python采集脚本到tomcat中间件集群的每个远程tomcat主机节点,ansible开源工具初始化配置参数后通过python采集脚本自动采集每个远程tomcat主机节点的指标数据到本地服务器,所述指标数据包括主机指标数据、tomcat指标数据和日志文件数据。
进一步的,所述主机指标数据包括CPU性能、内存性能、IO等待、TOP进程、并发监听和基础数据;TOP进程是通过openfiles命令获取主机节点打开的所有文件以及与文件相关的进程名;并发监听包括tomcat监听数指标;所述tomcat指标数据包括JVM内存、GC内存回收、线程使用、内存快照和案例FQA;所述日志文件数据包括OS日志、tomcat日志和业务日志。
进一步的,所述处理模块接收采集模块收集的指标数据,并将指标数据按照目录与文件格式根据主机指标数据、tomcat指标数据和日志文件数据进行分类;然后通过python解析脚本中设置好的指标计算逻辑将各指标原始的数据转换为易读的文本格式数据。
进一步的,所述分析模块包括主机分析子模块、中间件分析子模块和日志分析子模块;所述主机分析子模块通过python主机分析脚本对筛选的主机指标数据进行批量分析,找到主机节点存在的性能瓶颈;筛选的主机指标数据包括CPU性能、内存性能、IO等待、TOP进程和tomcat监听数;将筛选的主机指标数据与在python主机分析脚本中设定的相应的指标告警阀值进行比较,超过设定的告警阀值,则将对应的比较结果输出到诊断告警目录,否则将主机指标输出到诊断正常目录。
进一步的,所述中间件分析子模块通过python中间件分析脚本对筛选的tomcat指标数据进行批量分析,确认tomcat的性能状态;筛选的tomcat指标数据包括JVM内存、GC内存回收;将筛选的tomcat指标数据与在python中间件分析脚本中设定的相应的指标告警阀值进行比较,超过设定的告警阀值直接将对应主机指标的平均值输出到诊断告警目录,否则将主机指标输出到诊断正常目录。
进一步的,所述日志分析子模块中设有关键字库字典,所述关键字库字典包含tomcat日常出现的错误关键字,所述关键字库字典中还设有对应于错误关键字的错误解决方法;所述日志分析子模块在日志文件数据中查找错误关键字,并确定查找到错误关键字的日志段和时间,然后将报错的日志段和时间输出到告警目录,并按照错误关键字查找对应的错误解决方法,帮助解决该报错问题。
进一步的,所述输出模块将业务系统相关的主机指标数据、tomcat指标数据和日志文件数据诊断分析情况整理到诊断告警目录和诊断正常目录,并按巡检模板以html格式输出,对诊断告警目录中存在问题,按照问题的严重程度进行标注。
本发明对比现有技术有如下的有益效果:本发明提供的基于tomcat中间件的故障智能诊断装置,实现自动化故障诊断,免去人工分析带来的问题和人力浪费,降低时间成本;缩短故障时间,避免了对于资深工程师技术水平的依赖,提高了故障处理的成功率;快速发现系统健康度,以提升系统可用性;日志错误关键字对应解决方法,能在日志中找到关键字匹配到解决方法,提高故障处理效率;代替人工完成分析,快速精确地收集故障数据并对数据进行全面分析,输出诊断报告,不仅可为运维工程师省却繁琐的工作,而且还可以大大提升了运维工作效率,也提高了客户对维护工作的满意度。
附图说明
图1为本发明实施例中基于tomcat中间件的故障智能诊断装置结构示意图;
图2为本发明实施例中日志分析子模块结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的描述。
图1为本发明实施例中基于tomcat中间件的故障智能诊断装置结构示意图。
请参见图1,本发明实施例的基于tomcat中间件的故障智能诊断装置,包括采集模块、处理模块、分析模块和输出模块,主要模块介绍如下:
1、采集模块
采集模块负责对业务系统使用的tomcat中间件集群指标数据进行统一收集。采集数据流程是通过使用ansible开源工具批量下发python采集脚本到远程tomcat主机节点,并将主机指标数据、tomcat指标数据与日志文件数据,收集回到本地服务器。ansible开源工具初始化配置参数后不需要人工收集,一键式下发,不管是多大规模的集群都能在短时间内将所有需要分析数据收集回来。
2、处理模块
处理模块负责将将采集层模块采集回来的主机指标数据、tomcat指标数据与日志文件数据等原始数据,按目录与文件格式分类处理。并将原始数据转换成正常易读文本。处理模块配置有python解析脚本,python解析脚本设置有将原始数据转换的处理能力,通过python解析脚本中设置好的指标计算逻辑将各指标原始的数据转换为易读的文本格式数据,提升整个分析处理并发性能。
3、分析模块
分析模块包括主机分析子模块、中间件分析子模块和日志分析子模块,主机分析子模块、中间件分析子模块和日志分析子模块分别从主机维度、中间件维度和日志维度来分析。
1)主机分析子模块
当业务系统产生故障报障时,主机分析子模块会自动对主机层关键性能指标进行分析,找出系统主机层是否有性能瓶颈,查找导致业务系统中断原因。主机关键性能指标包括CPU、内存、IO等待、TOP进程和tomcat监听数等指标。
通过采集模块将主机层CPU、内存、IO等待、TOP进程和tomcat监听数等指标收集回来后,处理模块定义好了各主机层指标计算逻辑,然后通过python主机分析脚本中设定的相应的指标告警阀值,对tomcat集群主机节点批量分析找到主机层指标存在的性能瓶颈,如果主机指标超过设定的告警阀值直接将对应计算出的比较结果放在诊断输出告警目录,否则将主机指标输出到诊断输出正常目录。
2)中间件分析子模块
中间件分析子模块从JVM内存与GC内存回收这两个指标获得tomcat中间件性能情况,通过系统命令jstack批量远程采集回JVM内存与GC内存回收指标,在处理层定义好了这两类指标指标计算逻辑,然后通过python中间件分析脚本批量分析tomcat集群实例JVM内存和GC内存回收情况是否达到告警阀值,超过告警阀值将对应计算的平均值放在诊断输出告警目录,否则输出到诊断输出正常目录。
3)日志分析子模块
日志分析子模块设有关键字库字典,如图2所示,将tomcat日常出现的错误关键字收纳到关键字库字典中,然后能让日志文件高效的找出tomcat出错的时间和日志段,从字库中匹配出相应的解决方法。最终达到不需要人工盲目分析,也不需要部署复杂的日志分析平台来分析,它也能够快速将日志中的报错找出来。具体见表1关键字库字典表。
表1关键字库字典表
4、输出模块
输出模块将业务系统相关的主机指标数据、tomcat指标数据和日志文件数据诊断分析情况整理到诊断告警目录和诊断正常目录,并按巡检模板以html格式输出,对诊断告警目录中存在问题,按照问题的严重程度进行标注,更直观的发现系统存在的问题。
综上所述,本发明提供的基于tomcat中间件的故障智能诊断装置,实现自动化故障诊断,免去人工分析带来的问题和人力浪费,降低时间成本;缩短故障时间,避免了对于资深工程师技术水平的依赖,提高了故障处理的成功率;快速发现系统健康度,以提升系统可用性;日志错误关键字对应解决方法,能在日志中找到关键字匹配到解决方法,提高故障处理效率;代替人工完成分析,快速精确地收集故障数据并对数据进行全面分析,输出诊断报告,不仅可为运维工程师省却繁琐的工作,而且还可以大大提升了运维工作效率,也提高了客户对维护工作的满意度。
虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可作些许的修改和完善,因此本发明的保护范围当以权利要求书所界定的为准。
Claims (5)
1.一种基于tomcat中间件的故障智能诊断装置,其特征在于,包括采集模块、处理模块、分析模块和输出模块,所述采集模块收集业务系统使用的tomcat中间件集群的指标数据;所述处理模块将采集模块收集的指标数据进行分类处理,并将原始的数据转换为文本格式;所述分析模块对转换为文本格式的指标数据进行筛选分析,判断筛选出的关键指标是否正常,并将判断结果输出到输出模块;所述输出模块将分析模块的输出结果按照设定的巡检模板输出,并标注故障问题点;
所述分析模块包括主机分析子模块、中间件分析子模块和日志分析子模块;所述主机分析子模块通过python主机分析脚本对筛选的主机指标数据进行批量分析,找到主机节点存在的性能瓶颈;筛选的主机指标数据包括CPU性能、内存性能、IO等待、TOP进程和tomcat监听数;将筛选的主机指标数据与在python主机分析脚本中设定的相应的指标告警阀值进行比较,超过设定的告警阀值,则将对应的比较结果输出到诊断告警目录,否则将主机指标输出到诊断正常目录;
所述中间件分析子模块通过python中间件分析脚本对筛选的tomcat指标数据进行批量分析,确认tomcat的性能状态;筛选的tomcat指标数据包括JVM内存、GC内存回收;将筛选的tomcat指标数据与在python中间件分析脚本中设定的相应的指标告警阀值进行比较,超过设定的告警阀值直接将对应主机指标的平均值输出到诊断告警目录,否则将主机指标输出到诊断正常目录;
所述日志分析子模块中设有关键字库字典,所述关键字库字典包含tomcat日常出现的错误关键字,所述关键字库字典中还设有对应于错误关键字的错误解决方法;所述日志分析子模块在日志文件数据中查找错误关键字,并确定查找到错误关键字的日志段和时间,然后将报错的日志段和时间输出到告警目录,并按照错误关键字查找对应的错误解决方法,帮助解决该报错问题。
2.如权利要求1所述的基于tomcat中间件的故障智能诊断装置,其特征在于,所述采集模块通过ansible开源工具批量下发python采集脚本到tomcat中间件集群的每个远程tomcat主机节点,ansible开源工具初始化配置参数后通过python采集脚本自动采集每个远程tomcat主机节点的指标数据到本地服务器,所述指标数据包括主机指标数据、tomcat指标数据和日志文件数据。
3.如权利要求2所述的基于tomcat中间件的故障智能诊断装置,其特征在于,所述主机指标数据包括CPU性能、内存性能、IO等待、TOP进程、并发监听和基础数据;TOP进程是通过openfiles命令获取主机节点打开的所有文件以及与文件相关的进程名;并发监听包括tomcat监听数指标;所述tomcat指标数据包括JVM内存、GC内存回收、线程使用、内存快照和案例FQA;所述日志文件数据包括OS日志、tomcat日志和业务日志。
4.如权利要求3所述的基于tomcat中间件的故障智能诊断装置,其特征在于,所述处理模块接收采集模块收集的指标数据,并将指标数据按照目录与文件格式根据主机指标数据、tomcat指标数据和日志文件数据进行分类;然后通过python解析脚本中设置好的指标计算逻辑将各指标原始的数据转换为易读的文本格式数据。
5.如权利要求2所述的基于tomcat中间件的故障智能诊断装置,其特征在于,所述输出模块将业务系统相关的主机指标数据、tomcat指标数据和日志文件数据诊断分析情况整理到诊断告警目录和诊断正常目录,并按巡检模板以html格式输出,对诊断告警目录中存在问题,按照问题的严重程度进行标注。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911174498.2A CN110955551B (zh) | 2019-11-26 | 2019-11-26 | 一种基于tomcat中间件的故障智能诊断装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911174498.2A CN110955551B (zh) | 2019-11-26 | 2019-11-26 | 一种基于tomcat中间件的故障智能诊断装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110955551A CN110955551A (zh) | 2020-04-03 |
CN110955551B true CN110955551B (zh) | 2023-05-26 |
Family
ID=69976932
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911174498.2A Active CN110955551B (zh) | 2019-11-26 | 2019-11-26 | 一种基于tomcat中间件的故障智能诊断装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110955551B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111625382B (zh) * | 2020-05-21 | 2022-06-10 | 浪潮电子信息产业股份有限公司 | 一种服务器故障诊断方法、装置、设备及介质 |
CN114691445A (zh) * | 2020-12-28 | 2022-07-01 | 苏州国双软件有限公司 | 集群故障处理方法、装置、电子设备及可读存储介质 |
CN116882966B (zh) * | 2023-06-27 | 2024-04-19 | 广东慧云科技股份有限公司 | 一种运维设备巡检结果的故障判断方法和装置 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100810854B1 (ko) * | 2006-01-16 | 2008-03-06 | 엘지전자 주식회사 | 오류상황을 처리하기 위한 미들웨어를 갖는 데이터 방송 수신기 및 그의 동작방법 |
JP4901442B2 (ja) * | 2006-12-04 | 2012-03-21 | 東京エレクトロン株式会社 | トラブル原因究明支援装置,トラブル原因究明支援方法,プログラムを記憶する記憶媒体 |
DE102010007967A1 (de) * | 2010-02-15 | 2011-08-18 | DB Systel GmbH, 60326 | Verfahren, Computerprogramm-Produkt sowie computerlesbares Speichermedium zur generischen Erstellung eines Strukturbaums zur Beschreibung eines IT-Verfahrens |
JP6432294B2 (ja) * | 2014-11-10 | 2018-12-05 | 株式会社リコー | 通信システム、通信システムの制御方法、及びプログラム |
CN106209405B (zh) * | 2015-05-06 | 2019-11-08 | 中国移动通信集团内蒙古有限公司 | 故障诊断方法及装置 |
CN105893225A (zh) * | 2015-08-25 | 2016-08-24 | 乐视网信息技术(北京)股份有限公司 | 一种错误自动处理方法及装置 |
CN106371986A (zh) * | 2016-09-08 | 2017-02-01 | 上海新炬网络技术有限公司 | 一种日志处理运维监控系统 |
CN106649040A (zh) * | 2016-12-26 | 2017-05-10 | 上海新炬网络信息技术有限公司 | 一种Weblogic中间件性能自动监控方法及装置 |
CN107612740A (zh) * | 2017-09-30 | 2018-01-19 | 武汉光谷信息技术股份有限公司 | 一种分布式环境下的日志监控系统及方法 |
CN108153603B (zh) * | 2017-12-08 | 2019-03-19 | 上海陆家嘴国际金融资产交易市场股份有限公司 | 数据库服务器故障处理方法、装置和存储介质 |
CN109491819A (zh) * | 2018-11-01 | 2019-03-19 | 郑州云海信息技术有限公司 | 一种诊断服务器故障的方法和系统 |
CN110333962B (zh) * | 2019-05-16 | 2023-10-13 | 上海精密计量测试研究所 | 一种基于数据分析预测的电子元器件故障诊断模型 |
CN110365537A (zh) * | 2019-07-16 | 2019-10-22 | 国网新疆电力有限公司信息通信公司 | 中间件业务故障处理方法及系统 |
-
2019
- 2019-11-26 CN CN201911174498.2A patent/CN110955551B/zh active Active
Non-Patent Citations (2)
Title |
---|
通过日志比对快速定位业务问题的方法;苏燕;;铁路计算机应用(第11期);全文 * |
面向中间件的智能化运维平台设计与实现;刘芬;张科;王逸兮;;网络安全技术与应用(第12期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110955551A (zh) | 2020-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110955551B (zh) | 一种基于tomcat中间件的故障智能诊断装置 | |
US7664986B2 (en) | System and method for determining fault isolation in an enterprise computing system | |
CN108521339B (zh) | 一种基于集群日志的反馈式节点故障处理方法及系统 | |
CN106209405B (zh) | 故障诊断方法及装置 | |
CN104268061A (zh) | 一种适用于虚拟机的存储状态监控机制 | |
CN102479113A (zh) | 异常自适应处理方法及系统 | |
CN111209166A (zh) | 一种面向b/s架构业务系统的自动巡检系统 | |
CN113553242A (zh) | 基于Zabbix的煤矿联网系统故障处置方法及系统 | |
WO2022252860A1 (zh) | 一种事件处理方法、装置、计算机设备及存储介质 | |
CN116594840A (zh) | 基于elk的日志故障采集与分析方法、系统、设备及介质 | |
WO2024208180A1 (zh) | 核动力厂运行技术规格书自动监视方法及系统 | |
US8949669B1 (en) | Error detection, correction and triage of a storage array errors | |
CN117194154A (zh) | 一种基于微服务的apm全链路监控系统及方法 | |
WO2024098986A1 (zh) | 一种基于智能录波器的继电保护装置缺陷检测方法及系统 | |
CN111831637A (zh) | 数据自动清洗系统 | |
KR101288535B1 (ko) | 통신 시스템 모니터링 방법 및 이를 위한 장치 | |
CN114629786A (zh) | 日志实时分析方法、装置、存储介质及系统 | |
CN115757045A (zh) | 一种交易日志分析方法、系统及装置 | |
JP2000187585A (ja) | 遠隔障害情報管理装置並びにその方法 | |
US20220035359A1 (en) | System and method for determining manufacturing plant topology and fault propagation information | |
CN1251085C (zh) | 机群系统运行过程监控的方法和监控管理装置 | |
CN111200315B (zh) | 一种变电站监控后台故障诊断系统和方法 | |
CN113760879A (zh) | 数据库异常监测方法、系统、电子设备及介质 | |
KR20170127876A (ko) | 로그 결함 분석 기반 장애 대응 시스템 및 방법 | |
CN118210682B (zh) | 分布式架构系统基于多维度的监视、排障方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |