CN116719697A - 一种系统监控方法、装置、终端设备以及存储介质 - Google Patents

一种系统监控方法、装置、终端设备以及存储介质 Download PDF

Info

Publication number
CN116719697A
CN116719697A CN202310738363.4A CN202310738363A CN116719697A CN 116719697 A CN116719697 A CN 116719697A CN 202310738363 A CN202310738363 A CN 202310738363A CN 116719697 A CN116719697 A CN 116719697A
Authority
CN
China
Prior art keywords
diagnosis
script
log
scene
system monitoring
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.)
Pending
Application number
CN202310738363.4A
Other languages
English (en)
Inventor
刘先
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Merchants Bank Co Ltd
Original Assignee
China Merchants Bank Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Merchants Bank Co Ltd filed Critical China Merchants Bank Co Ltd
Priority to CN202310738363.4A priority Critical patent/CN116719697A/zh
Publication of CN116719697A publication Critical patent/CN116719697A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种系统监控方法、装置、终端设备以及存储介质,其方法包括:根据预先定义的结构化的规范输出日志;通过预设的分布式统一链路,对所述输出日志进行收集;通过预设的场景化诊断脚本配置的规则结合收集到的日志数据对业务系统的前后端进行根因诊断;输出自定义诊断结果报告。本发明解决监控和诊断的动态性和适应性不足,信息碎片化,现有技术难以满足特定场景下的异常诊断需求和难以准确诊断分布式系统中复杂异常情况的问题,满足特定场景下的异常诊断需求,提高了问题解决的效率。

Description

一种系统监控方法、装置、终端设备以及存储介质
技术领域
本申请涉及系统监控领域,尤其涉及基于场景化自动诊断问题根因解决方案。
背景技术
随着云计算和容器技术的快速发展,业务系统部署越来越倾向于采用分布式架构和容器化部署,在分布式环境下,业务系统的日志和监控数据可能分散在多个微服务和存储系统中,异常情况可能涉及多个组件和服务,需要对业务系统进行一定程度的修改来实现监控和诊断功能。
目前系统监控技术的问题在于:难以应对业务系统组件和服务的变化,无法实现对不同场景下异常情况的实时监控和诊断;分散在多个节点和存储系统中的日志和监控数据难以整合,数据结构不一致,导致诊断效率和准确性降低;难以满足特定场景下的异常诊断需求,导致人工分析和判断工作量大;难以准确诊断分布式系统中复杂异常情况,影响问题解决效率。
发明内容
本申请的主要目的在于提供一种系统监控方法、装置、终端设备以及存储介质,旨在解决监控和诊断的动态性和适应性不足,信息碎片化,现有技术难以满足特定场景下的异常诊断需求和难以准确诊断分布式系统中复杂异常情况的问题。
为实现上述目的,本申请提供一种系统监控方法,所述诊断根因方法包括:
根据预先定义的结构化的规范输出日志;
通过预设的分布式统一链路,对所述输出日志进行收集;
通过预设的场景化诊断脚本配置的规则结合收集到的日志数据对业务系统的前后端链路进行问题根因诊断;
输出自定义问题根因诊断结果报告。
可选地,所述根据预先定义的结构化的规范输出日志的步骤之前还包括:
通过面向切面编程技术,对业务系统进行无代码侵入的日志增强。
可选地,所述通过面向切面编程技术,对业务系统进行无代码侵入的日志增强的步骤包括:
启动所述面向切面编程技术并加载所述面向切面编程的配置;
根据所述面向切面编程配置,对所述业务系统的接口进行调用;
若所述接口符合进行诊断的切点,则对所述接口进行日志定制输出;
若所述接口不符合进行诊断的切点,则退出所述接口。
可选地,所述场景化诊断脚本配置的规则包括:关键日志搜索定位、判断规则组合、输出规则决策结果和定制输出内容模板的一种或多种。
可选地,所述通过预设的场景化诊断脚本配置的规则结合收集到的日志数据对业务系统的前后端链路进行问题根因诊断的步骤之前还包括:
通过用户交互界面的交互指令,获取预先配置的场景化诊断脚本;
执行所述场景化诊断脚本。
可选地,所述通过用户交互界面的交互指令,获取预先配置的场景化诊断脚本的步骤之后还包括:
将所述预先配置的场景化诊断脚本存储到后端进行管理;
在接收到诊断指令时,拉取符合条件的所述场景化诊断脚本,执行所述步骤:执行所述场景化诊断脚本。
可选地,所述场景化诊断脚本的执行指令包括定时调度执行诊断和监控页面主动诊断,所述在接收到诊断指令时,拉取所有符合条件的所述场景化诊断脚本的步骤包括:
若进行诊断的业务场景是产品级或微服务级场景,则接收到的是定时调度执行诊断指令,并在发现异常时通过IM或邮件告警;
若进行诊断的业务场景是API级或调用链路级或固定业务场景,则接收到的是监控页面主动诊断指令,并在所述监控页面展示诊断结果。
可选地,所述通过预设的场景化诊断脚本配置的规则结合收集到的日志数据对业务系统的前后端链路进行问题根因诊断的步骤包括:
根据所述场景化诊断脚本配置规则中的关键日志搜索定位和判断规则组合,调用诊断脚本预设的函数库中对应的函数,对所述业务系统前后端日志数据报错和响应时长超阈值的情况进行诊断。
可选地,所述输出自定义问题根因诊断结果报告的步骤包括:
根据诊断脚本配置规则中的输出规则决策结果和定制输出内容模板规则,输出所述诊断结果报告。
本申请实施例还提出一种系统监控装置,所述系统监控装置包括:
日志收集模块,用于通过分布式统一链路对系统进行日志收集;
日志增强模块,用于通过面向切面编程技术对系统进行日志增强;
脚本配置模块,用于通过用户交互界面对场景化诊断脚本进行规则配置和管理;
根因诊断模块,用于通过业务系统前后端的链路连接,根据场景化诊断脚本的判断规则和日志数据进行问题根因诊断;
诊断输出模块,用于根据预设的输出规则输出自定义诊断结果报告并告警。
本申请实施例还提出一种终端设备,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的系统监控程序,所述系统监控程序被所述处理器执行时实现如上所述的系统监控方法的步骤。
本申请实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有系统监控程序,所述系统监控程序被处理器执行时实现如上所述的系统监控方法的步骤。
本申请实施例提出的系统监控方法、装置、终端设备以及存储介质,根据预先定义的结构化的规范输出日志;通过预设的分布式统一链路,对所述输出日志进行收集;通过预设的场景化诊断脚本配置的规则结合收集到的日志数据对业务系统的前后端链路进行问题根因诊断;输出自定义问题根因诊断结果报告。
方案基于场景化诊断脚本配置和结构化的规范输出日志对业务系统的前后端链路进行问题根因诊断,有效解决分布式系统特定场景下的复杂异常诊断问题,实现业务系统场景化问题根因诊断。
附图说明
图1为本申请系统监控装置所属终端设备的功能模块示意图;
图2为本申请系统监控方法第一示例性实施例的流程示意图;
图3为本申请系统监控方法第二示例性实施例的流程示意图;
图4为本申请系统监控方法整体结构和工作流程图;
图5为本申请系统监控方法第三示例性实施例的流程示意图;
图6为本申请系统监控方法面向切面编程技术工作流程图;
图7为本申请系统监控方法第四示例性实施例的流程示意图;
图8为本申请系统监控方法第五示例性实施例的流程示意图;
图9为本申请系统监控方法第六示例性实施例的流程示意图;
图10为本申请系统监控方法第七示例性实施例的流程示意图;
图11为本申请系统监控方法场景化诊断脚本管理流程图;
图12为本申请系统监控方法一键根因诊断流程图;
图13为本申请系统监控方法一种场景化诊断流程示例流程图;
图14为本申请系统监控方法第八示例性实施例的流程示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。本申请实施例的主要解决方案是:根据预先定义的结构化的规范输出日志;通过预设的分布式统一链路,对所述输出日志进行收集;通过预设的场景化诊断脚本配置的规则结合收集到的日志数据对业务系统的前后端链路进行问题根因诊断;输出自定义问题根因诊断结果报告。该方案基于场景化诊断脚本配置和结构化的规范输出日志对业务系统的前后端链路进行问题根因诊断,有效解决分布式系统特定场景下的复杂异常诊断问题,实现业务系统场景化问题根因诊断。
本申请涉及的技术术语:
结构化规范输出:是指统一的结构化数据格式来标准化系统日志的输出,包括统一的日志格式、日志级别设置以及关键日志信息的输出,用于日志输出。
分布式统一链路:在分布式架构环境下,通过记录请求在整个服务调用过程中所经过的每个节点和路径,并将这些信息统一管理和展示的技术,用于对输出的日志进行收集。
场景化诊断脚本:基于Groovy动态脚本的一种针对特定场景配置诊断规则的脚本,用于根据特定场景需求自由定义诊断逻辑。
前后端链路:是指用户的请求从前端发起,经过多个后端服务的处理,最终返回前端的一个完整响应的过程,用于诊断定位到问题根因。
面向切面编程:是指本申请中一种无代码侵入的日志增强方案,用于以业务系统的接口作为切面进行日志定制输出。
本申请实施例考虑到,相关技术方案基于监控和诊断的动态性和适应性不足,信息碎片化,难以满足特定场景下的异常诊断需求和难以准确诊断分布式系统中复杂异常情况。
基于此,本申请实施例提出一种解决方案,可以实现分布式系统对不同场景下复杂异常情况的实时监控和诊断,从而实现业务系统场景化问题根因诊断。
具体地,参照图1,图1为本申请系统监控装置所属终端设备的功能模块示意图。该系统监控装置可以为独立于终端设备的、能够进行数据处理的装置,其可以通过硬件或者软件的形式承载于终端设备上。该终端设备可以为手机、平板电脑等具有数据处理功能的智能移动设备,还可以为具有数据处理功能的固定终端设备或服务器等。
在本实施例中,该系统监控装置所属终端设备至少包括输出模块110、处理器120、存储器130以及通信模块140。
存储器130中存储有操作系统以及系统监控程序,系统监控装置可以将接收到的和处理的数据,以及消息处理集群的配置模板等信息存储于该存储器130中;输出模块110可为显示屏、扬声器等。通信模块140可以包括WIFI模块、移动通信模块以及蓝牙模块等,通过通信模块140与外部设备或服务器进行通信。
其中,存储器130中的系统监控程序被处理器执行时实现以下步骤:
根据预先定义的结构化的规范输出日志;
通过预设的分布式统一链路,对所述输出日志进行收集;
通过预设的场景化诊断脚本配置的规则结合收集到的日志数据对业务系统的前后端链路进行问题根因诊断;
输出自定义问题根因诊断结果报告。
进一步地,存储器130中的系统监控程序被处理器执行时还实现以下步骤:
通过面向切面编程技术,对业务系统进行无代码侵入的日志增强。
进一步地,存储器130中的系统监控程序被处理器执行时还实现以下步骤:
启动所述面向切面编程技术并加载所述面向切面编程的配置;
根据所述面向切面编程配置,对所述业务系统的接口进行调用;
若所述接口符合进行诊断的切点,则对所述接口进行日志定制输出;
若所述接口不符合进行诊断的切点,则退出所述接口。
进一步地,存储器130中的系统监控程序被处理器执行时还实现以下步骤:
通过用户交互界面的交互指令,获取场景化诊断脚本的配置规则;
执行所述场景化诊断脚本。
进一步地,存储器130中的系统监控程序被处理器执行时还实现以下步骤:
将所述场景化诊断脚本的配置规则存储到后端进行管理;
在接收到诊断指令时,拉取符合条件的所述场景化诊断脚本,执行所述步骤:执行所述场景化诊断脚本。
进一步地,存储器130中的系统监控程序被处理器执行时还实现以下步骤:
若进行诊断的业务场景是产品级或微服务级场景,则接收到的是定时调度执行诊断指令,并在发现异常时通过IM或邮件告警;
若进行诊断的业务场景是API级或调用链路级或固定业务场景,则接收到的是监控页面主动诊断指令,并在所述监控页面展示诊断结果。
进一步地,存储器130中的系统监控程序被处理器执行时还实现以下步骤:
根据所述场景化诊断脚本配置规则中的关键日志搜索定位和判断规则组合,调用诊断脚本预设的函数库中对应的函数,对所述业务系统前后端日志数据报错和响应时长超阈值的情况进行诊断。
进一步地,存储器130中的系统监控程序被处理器执行时还实现以下步骤:
调根据诊断脚本配置规则中的输出规则决策结果和定制输出内容模板规则,输出所述诊断结果报告。
本实施例通过上述方案,具体通过根据预先定义的结构化的规范输出日志;通过预设的分布式统一链路,对所述输出日志进行收集;通过预设的场景化诊断脚本配置的规则结合收集到的日志数据对业务系统的前后端链路进行问题根因诊断;输出自定义问题根因诊断结果报告。方案基于场景化诊断脚本配置和结构化的规范输出日志,对业务系统的前后端链路进行问题根因诊断,可以解决分布式系统特定场景下的复杂异常诊断问题。基于本方案,从现有技术的系统监控无法实现对分布式系统不同场景下复杂的异常情况进行实时监控和诊断的问题出发,结合分布式统一链路日志收集和前后端链路诊断定位问题根因,设计了一种系统监控方法,并在系统监控中验证了本发明的系统监控方法的有效性,最后经过本发明方法进行系统监控的效率得到了明显提高。
基于上述终端设备架构但不限于上述架构,提出本发明方法实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。本实施例方法的执行主体可以是一种系统监控装置,也可以是一种系统监控终端设备或服务器,本实施例以系统监控装置进行举例,该系统监控装置可以集成在具有数据处理功能终端设备上。
参照图2,图2为本申请系统监控方法第一示例性实施例的流程示意图。
本发明一实施例提供一种系统监控方法,该方法包括:
步骤S10:根据预先定义的结构化的规范输出日志。
其中,为了分布式系统特定场景下的复杂异常诊断,实现场景化问题根因诊断,本实施例设计相应的系统监控程序。
其中,作为一种实施方式,可以通过预先定义的结构化的规范输出日志,通过分布式统一链路对日志进行收集,再通过场景化诊断脚本配置的规则和收集到的日志数据对业务系统的前后端链路进行问题根因诊断,输出自定义的问题根因诊断结果报告。从而实现对分布式系统不同场景下复杂的异常情况进行实时监控和诊断,提高系统监控的效率。
其中,为了实现高效的场景化诊断,本发明要求日志输出遵循一定的规范。规范包括统一的日志格式、日志级别设置以及关键日志信息的输出。通过规范化的日志输出,可以确保诊断脚本准确地定位和分析相关日志,提高诊断效率。
步骤S20:通过预设的分布式统一链路,对所述输出日志进行收集。
通过调用预设的分布式统一链路对业务系统的输出日志进行收集。
为了对分布式架构和容器化部署的系统进行问题根因诊断,需要通过分布式统一链路对业务系统多个节点之间的调用串联起来,形成一个完整的请求调用链路,对节点输出的日志进行收集。通过这种方式,能够基于输出日志的异常报错进行问题根因诊断。
其中,分布式统一链路日志收集可使用现有的链路收集方案,如kafka+spark。
步骤S30:通过预设的场景化诊断脚本配置的规则结合收集到的日志数据对业务系统的前后端链路进行问题根因诊断。
通过预设的场景化诊断脚本配置中的规则结合收集到的日志数据对业务系统的前后端链路连接进行问题根因诊断。
为了场景化的问题根因诊断,需要根据对不同的特定场景配置相应的规则,对日志数据中的异常进行判断和定位,从而实现特定场景的根因诊断。
步骤S40:输出自定义问题根因诊断结果报告。
其中,为了使业务系统问题根因诊断结果报告让用户更易于理解和使用,本发明支持用户根据业务需求定制诊断结果的输出内容和格式,提高问题解决效率。
根据诊断脚本配置规则中的输出规则决策结果和定制输出内容模板规则,输出所述诊断结果报告。
如图3所示,首先结构化的规范输出日志,通过分布式统一链路对日志进行收集,然后配置场景化诊断脚本,手动或定时启动问题根因诊断,最后输出自定义的诊断结果报告。
本实施例通过上述方案,具体通过根据预先定义的结构化的规范输出日志;通过预设的分布式统一链路,对所述输出日志进行收集;通过预设的场景化诊断脚本配置的规则结合收集到的日志数据对业务系统的前后端链路进行问题根因诊断;输出自定义问题根因诊断结果报告。实现分布式系统对不同场景下复杂异常情况的实时监控和诊断,从而实现业务系统场景化问题根因诊断。
参照图4,图4为本申请系统监控方法一示例性实施例的流程示意图。
基于第一实施例,提出本申请第二实施例,本申请第二实施例与第一实施例的区别在于:
在本实施例中,所述根据预先定义的结构化的规范输出日志的步骤之前还包括:
步骤S101:通过面向切面编程技术,对业务系统进行无代码侵入的日志增强。
为了降低对现有业务系统的影响,本发明提供了一种无代码侵入的日志增强方案。通过使用AOP(Aspect-Oriented Programming,面向切面编程)技术,可以在不修改原有业务代码的情况下,对系统进行日志增强。这使得现有业务系统无需进行大量修改就能适应场景化诊断技术的需求。
本实施例通过上述方案,具体通过面向切面编程技术,对业务系统进行无代码侵入的日志增强,提高了问题根因诊断的效率。
参照图5,图5为本申请系统监控方法一示例性实施例的流程示意图。
基于第一实施例,提出本申请第三实施例,本申请第三实施例与第一实施例的区别在于:
在本实施例中,所述通过面向切面编程技术,对业务系统进行无代码侵入的日志增强的步骤包括:
步骤S1011:启动所述面向切面编程技术并加载所述面向切面编程的配置。
步骤S1012:根据所述面向切面编程配置,对所述业务系统的接口进行调用。
步骤S1013:若所述接口符合进行诊断的切点,则对所述接口进行日志定制输出。
步骤S1014:若所述接口不符合进行诊断的切点,则退出所述接口。
首先,在启动面向切面编程技术后,需要在系统中加载面向切面编程的配置文件,以实现对各个切面的定义和配置。
然后,根据业务需求设定的面向切面编程配置,调用业务系统中的接口。
然后,判断调用到的业务系统接口是否符合进行诊断的切点,若符合进行诊断的切点,则根据面向切面编程配置对所述接口进行日志定制输出;若不符合进行诊断的切点,则退出该切面。
如图6所示,面向切面编程应用启动后,加载AOP配置即面向切面编程的配置文件,调用业务系统的API接口,对API接口进行切面判断,若符合对应切点的是控制层或Restful请求,根据API接口的请求Url和http方法属性定制输出日志;若符合对应切点的是控制层、服务层、数据访问层、Restful请求或注解白名单中的一种根据API接口的跟踪ID、请求参数、响应、类名、方法名和响应时间等属性定制输出日志;若API接口不符合切点,则退出当前的切面。
Restful请求主要作用是定义API接口的一些基本属性,如Url路径和http方法等。这些属性可以被用来匹配对应的切点,并决定是否对API请求进行日志输出等操作。具体地,当AOP应用启动后,加载对应的配置文件和切面通知,然后根据Restful请求中定义的属性,来拦截和处理相应的API请求。如果符合对应的切点和切面表达式,则会根据API接口的属性,记录和输出相应的日志,方便用户进行系统监控和故障排查。因此,Restful请求在AOP应用中能够帮助用户快速定位和解决问题,提高系统的可用性和稳定性。
基于面向切面编程技术,用户通过配置即可实现业务系统定制日志输出,业务系统无需进行大量修改就能适应场景化诊断技术的需求。
本实施例通过上述方案,具体通过面向切面编程技术及其配置,对业务系统的接口进行判断,根据配置实现定制输出日志,从而实现诊断脚本准确定位和日志分析,对分散在多个节点和存储系统中的日志和监控数据进行整合,提高问题根因诊断的效率和准确性。
参照图7,图7为本申请系统监控方法一示例性实施例的流程示意图。
基于第一实施例,提出本申请第四实施例,本申请第四实施例与第一实施例的区别在于:
在本实施例中,所述通过预设的场景化诊断脚本配置的规则结合收集到的日志数据对业务系统的前后端链路进行问题根因诊断的步骤之前还包括:
步骤S301:通过用户交互界面的交互指令,获取场景化诊断脚本的配置规则;
步骤S302:执行所述场景化诊断脚本。
首先,响应用户交互界面的交互指令,获取交互指令中对相应的场景化诊断脚本规则的配置信息,通过动态脚本的规则配置对场景化诊断流程的固化。
然后,根据获取到的场景化诊断脚本,执行相关的场景化诊断脚本。
为了满足特定场景下的异常诊断需求,提供了一个简洁易用的前端界面,使用户无需专业知识即可轻松配置场景化诊断脚本,支持用户根据特定场景需求自由定义诊断逻辑,实现高度定制化的诊断模型。这有助于提高诊断准确性,减少误报和漏报。
其中,本发明允许用户根据具体需求自由组合判断规则,实现高度定制化的诊断逻辑。这有助于适应不同业务场景下的异常诊断需求;除了判断规则组合,本发明还支持流程化的决策过程。这使得诊断过程更加灵活,能够处理复杂的场景。
其中,基于Groovy的动态脚本在线配置实现诊断流程的固化,用户通过友好的交互界面,灵活配置场景化诊断所需的关键日志搜索定位、判断规则组合、输出规则决策结果和定制输出内容模板。用户可以根据特定场景需求自由定义诊断逻辑。
本实施例通过上述方案,具体通过前端用户交互界面对场景化问题根因诊断脚本规则进行配置,再对脚本进行执行操作,实现了问题根因诊断脚本的配置化,提高了不同场景下问题根因诊断的准确性。
参照图8,图8为本申请系统监控方法一示例性实施例的流程示意图。
基于第四实施例,提出本申请第五实施例,本申请第五实施例与第四实施例的区别在于:
在本实施例中,所述通过用户交互界面的交互指令,获取场景化诊断脚本的配置规则的步骤之后还包括:
步骤S3011:将所述场景化诊断脚本存储到后端进行管理;
步骤S3012:在接收到诊断指令时,拉取符合条件的所述场景化诊断脚本,执行所述步骤:执行所述场景化诊断脚本。
首先,将含有诊断配置规则的场景化诊断脚本存储到后端进行管理。
然后,在接收到进行问题根因诊断的指令时,拉取后端符合对应场景条件的问题根因诊断脚本,执行步骤:执行所述场景化诊断脚本。
其中,后端将存储和管理用户创建的场景化诊断脚本。当需要进行诊断时,系统会拉取所有符合条件的脚本并执行,根据脚本定义的判断规则分析日志数据,输出诊断结果。用户可以根据需要手动执行诊断脚本,也可以配置定时任务自动运行脚本并输出告警,能极大的减少重复的问题定位过程。
本实施例通过上述方案,具体通过场景化诊断脚本存储到后端进行管理,在进行问题根因诊断使再对脚本进行拉取,实现场景化诊断脚本在问题根因诊断的灵活使用,提高问题处理的效率和准确性。后端能够充分利用已有的资源和数据,从而实现快速有效的诊断。
参照图9,图9为本申请系统监控方法一示例性实施例的流程示意图。
基于第一实施例,提出本申请第六实施例,本申请第六实施例与第一实施例的区别在于:
在本实施例中,所述在接收到诊断指令时,拉取所有符合条件的所述场景化诊断脚本的步骤包括:
步骤S3013:若进行诊断的业务场景是产品级或微服务级场景,则接收到的是定时调度执行诊断指令,并在发现异常时通过IM或邮件告警。
步骤S3014:若进行诊断的业务场景是API级或调用链路级或固定业务场景,则接收到的是监控页面主动诊断指令,并在所述监控页面展示诊断结果。
具体地,场景化诊断脚本的执行指令包括定时调度执行诊断和监控页面主动诊断,不同的问题根因诊断指令适用于不同的业务场景。
若进行诊断的业务场景是产品级或微服务级场景,则接收到的是定时调度执行诊断指令,会拉取所有符合条件的产品级或微服务级场景的诊断脚本,并在发现异常时通过IM或邮件告警。
若进行诊断的业务场景是API级或调用链路级或固定业务场景,则接收到的是监控页面主动诊断指令,会拉取所有符合条件的API级或调用链路级或固定业务场景的诊断脚本,并在监控页面展示诊断结果。
本实施例通过上述方案,具体通过在不同业务场景采用相适应的定时调度执行诊断或监控页面主动诊断指令,从而实现特定场景拉取并执行相应的不同的诊断脚本的操作,提高了场景化问题根因诊断的准确性和效率。
参照图10,图10为本申请系统监控方法一示例性实施例的流程示意图。
基于第一实施例,提出本申请第七实施例,本申请第七实施例与第一实施例的区别在于:
在本实施例中,所述通过预设的场景化诊断脚本配置的规则结合收集到的日志数据对业务系统的前后端链路进行问题根因诊断的步骤包括:
步骤S303:根据所述场景化诊断脚本配置规则中的关键日志搜索定位和判断规则组合,调用诊断脚本预设的函数库中对应的函数,对所述业务系统前后端日志数据报错和响应时长超阈值的情况进行诊断。
场景化诊断脚本配置的规则包括:关键日志搜索定位、判断规则组合、输出规则决策结果和定制输出内容模板的一种或多种。
具体地,所述场景化诊断脚本配置规则中的关键日志搜索定位和判断规则组合是实现诊断过程的两条规则,根据这两条诊断脚本配置规则调用诊断脚本预设的函数库中对应的函数,对所述业务系统前后端日志数据报错和响应时长超阈值的情况进行诊断。
如图11所示,在产品级、微服务级、API级、调用链路级和固定业务场景五种分级场景中接收定时调度执行诊断和监控页面主动诊断指令进行诊断,拉取不同场景相应的脚本执行,根据诊断脚本配置规则中的关键日志搜索定位和判断规则组合是实现诊断过程的规则,调用诊断脚本预设的脚本函数库中对应的函数,如关键日志搜索定位会调用日志链路搜索和日志关键词搜索函数,判断规则组合则会调用异常工单搜索函数。对所述业务系统前后端日志数据报错和响应时长超阈值的情况进行诊断。
没有上下文的独立报错信息对于生产问题排查作用很有限,而本专利方法通过前后端的链路连接,自动遍历整个链路分析出异常发源地,影响的业务以及根因位置的负责人,不仅能展示异常消息和上下文日志,同时还能一键诊断定位到问题根因,极大提高了问题定位效率。
如图12所示,对业务系统前后端日志数据报错和响应时长超阈值的情况进行诊断通过前后端链路连接实现,前后端链路连接的顺序为:前端Ajax、后端API、服务层和链路下钻,链路下钻分为三层:数据访问层、远程接口和无下钻链路。当收集到的日志数据中含有日志报错的情况时,判断前后端链路中是否有Ajax请求;当前后端链路中无Ajax请求时输出JS异常消息;当前后端链路中有Ajax请求时,请求后端API,将后端API类名方法名出参;然后前后端链路来到服务层,将服务层异常的类名方法名出参;前后端链路来到链路下钻,当数据访问层异常时输出sql,当远程接口异常时输出远程接口API和参数,当无下钻异常时输出服务层异常;最后根据诊断脚本配置规则汇总输出异常根因。当出现响应时长超阈值的情况时,根据前后端链路连接的顺序汇总各层的响应时长,根据各层时长占比判断耗时根因。
如图13所示,进行场景化的问题根因诊断,首先业务提供客户的信息关键词,然后通过传入时间和关键词模糊搜索找到匹配的调用链路ID,根据链路ID搜索链路中所有的日志数据,对日志数据进行是否有接口异常和关键指标和输出是否匹配的根因判断,最后将输出指标和结果反馈给业务。
本实施例通过上述方案,具体通过诊断脚本配置规则和日志数据,调用对应的规则函数,通过前后端链路连接实现对所述业务系统前后端日志数据报错和响应时长超阈值的情况的诊断。从而实现对整个业务系统的问题根因诊断,实现分布式系统特定场景中复杂异常情况的准确诊断,能够应对分布式系统组件和服务的变化,提高了问题解决的效率。
参照图14,图14为本申请系统监控方法一示例性实施例的流程示意图。
基于第一实施例,提出本申请第八实施例,本申请第八实施例与第一实施例的区别在于:
在本实施例中,所述输出自定义问题根因诊断结果报告的步骤包括:
步骤S401:根据诊断脚本配置规则中的输出规则决策结果和定制输出内容模板规则,输出所述诊断结果报告。
根据问题根因诊断脚本配置的输出规则决策结果和定制输出内容模板规则,调用诊断脚本预设的脚本函数库中对应的函数对问题根因诊断结果进行输出内容和格式定制,输出定制的诊断结果报告。
为了生成符合业务需求的定制化诊断结果报告,用户能够快速找出出现问题的根本原因和出现问题的位置,并采取相应的措施来解决问题,用户可以更好地理解诊断结果和分析过程,提高问题的排查效率和解决质量。
本实施例通过上述方案,具体通过诊断脚本配置规则中的输出规则对诊断结果报告进行输出定制,生成符合用户需求的定制化诊断结果报告,实现根据业务需求定制诊断结果,使得诊断结果更易于理解和使用,提高问题解决效率。
此外,本申请实施例还提出一种系统监控装置,所述系统监控装置包括:
日志收集模块,用于通过分布式统一链路对系统进行日志收集;
日志增强模块,用于通过面向切面编程技术对系统进行日志增强;
脚本配置模块,用于通过用户交互界面对场景化诊断脚本进行规则配置和管理;
根因诊断模块,用于通过业务系统前后端的链路连接,根据场景化诊断脚本的判断规则和日志数据进行问题根因诊断;
诊断输出模块,用于根据预设的输出规则输出自定义诊断结果报告并告警。
本实施例实现系统监控的原理及实施过程,请参照上述各实施例,在此不再赘述。
此外,本申请实施例还提出一种终端设备,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的系统监控程序,所述系统监控程序被所述处理器执行时实现如上所述的系统监控方法的步骤。
由于本系统监控程序被处理器执行时,采用了前述所有实施例的全部技术方案,因此至少具有前述所有实施例的全部技术方案所带来的所有有益效果,在此不再一一赘述。
此外,本申请实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有系统监控程序,所述系统监控程序被处理器执行时实现如上所述的系统监控方法的步骤。
由于本系统监控程序被处理器执行时,采用了前述所有实施例的全部技术方案,因此至少具有前述所有实施例的全部技术方案所带来的所有有益效果,在此不再一一赘述。
相比现有技术,本申请实施例提出的系统监控方法、装置、终端设备以及存储介质,通过所述消息接入层接收源系统的待处理数据;通过预先配置的所述消息中间件中的消息处理集群配置模板,对所述待处理数据进行处理;根据预设的分发规则将处理后的数据通过所述消息推送层分发给对应的目标系统。方案基于分布式消息中间件,有效解决异构系统数据对接问题,实现系统间或系统内部解耦。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,被控终端,或者网络设备等)执行本申请每个实施例的方法。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (12)

1.一种系统监控方法,其特征在于,所述方法包括:
根据预先定义的结构化的规范输出日志;
通过预设的分布式统一链路,对所述输出日志进行收集;
通过预设的场景化诊断脚本配置的规则结合收集到的日志数据对业务系统的前后端链路进行问题根因诊断;
输出自定义问题根因诊断结果报告。
2.根据权利要求1所述的系统监控方法,其特征在于,所述根据预先定义的结构化的规范输出日志的步骤之前还包括:
通过面向切面编程技术,对业务系统进行无代码侵入的日志增强。
3.根据权利要求2所述的系统监控方法,其特征在于,所述通过面向切面编程技术,对业务系统进行无代码侵入的日志增强的步骤包括:
启动所述面向切面编程技术并加载所述面向切面编程的配置;
根据所述面向切面编程的配置,对所述业务系统的接口进行调用;
若所述接口符合进行诊断的切点,则对所述接口进行日志定制输出;
若所述接口不符合进行诊断的切点,则退出所述接口。
4.根据权利要求1所述的系统监控方法,其特征在于,所述场景化诊断脚本配置的规则包括:关键日志搜索定位、判断规则组合、输出规则决策结果和定制输出内容模板的一种或多种。
5.根据权利要求1所述的系统监控方法,其特征在于,所述通过预设的场景化诊断脚本配置的规则结合收集到的日志数据对业务系统的前后端链路进行问题根因诊断的步骤之前还包括:
通过用户交互界面的交互指令,获取场景化诊断脚本的配置规则;
执行所述场景化诊断脚本。
6.根据权利要求5所述的系统监控方法,其特征在于,所述通过用户交互界面的交互指令,获取场景化诊断脚本的配置规则的步骤之后还包括:
将所述场景化诊断脚本存储到后端进行管理;
在接收到诊断指令时,拉取符合条件的所述场景化诊断脚本,执行所述步骤:执行所述场景化诊断脚本。
7.根据权利要求6所述的系统监控方法,其特征在于,所述场景化诊断脚本的执行指令包括定时调度执行诊断和监控页面主动诊断,所述在接收到诊断指令时,拉取符合条件的所述场景化诊断脚本的步骤包括:
若进行诊断的业务场景是产品级或微服务级场景,则接收到的是定时调度执行诊断指令,并在发现异常时通过IM或邮件告警;
若进行诊断的业务场景是API级或调用链路级或固定业务场景,则接收到的是监控页面主动诊断指令,并在监控页面展示诊断结果。
8.根据权利要求1所述的系统监控方法,其特征在于,所述通过预设的场景化诊断脚本配置的规则结合收集到的日志数据对业务系统的前后端链路进行问题根因诊断的步骤包括:
根据所述场景化诊断脚本配置的规则中的关键日志搜索定位和判断规则组合,调用诊断脚本预设的函数库中对应的函数,对所述业务系统前后端日志数据报错和响应时长超阈值的情况进行诊断。
9.根据权利要求1所述的系统监控方法,其特征在于,所述输出自定义问题根因诊断结果报告的步骤包括:
根据诊断脚本配置规则中的输出规则决策结果和定制输出内容模板规则,输出所述诊断结果报告。
10.一种系统监控装置,其特征在于,所述系统监控装置包括:
日志收集模块,用于通过分布式统一链路对系统进行日志收集;
日志增强模块,用于通过面向切面编程技术对系统进行日志增强;
脚本配置模块,用于通过用户交互界面对场景化诊断脚本进行规则配置和管理;
根因诊断模块,用于通过业务系统前后端的链路连接,根据场景化诊断脚本的判断规则和日志数据进行问题根因诊断;
诊断输出模块,用于根据预设的输出规则输出自定义诊断结果报告并告警。
11.一种终端设备,其特征在于,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的系统监控程序,所述系统监控程序被所述处理器执行时实现如权利要求1-9中任一项所述的系统监控方法的步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有系统监控程序,所述系统监控程序被处理器执行时实现如权利要求1-9中任一项所述的系统监控方法的步骤。
CN202310738363.4A 2023-06-20 2023-06-20 一种系统监控方法、装置、终端设备以及存储介质 Pending CN116719697A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310738363.4A CN116719697A (zh) 2023-06-20 2023-06-20 一种系统监控方法、装置、终端设备以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310738363.4A CN116719697A (zh) 2023-06-20 2023-06-20 一种系统监控方法、装置、终端设备以及存储介质

Publications (1)

Publication Number Publication Date
CN116719697A true CN116719697A (zh) 2023-09-08

Family

ID=87873104

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310738363.4A Pending CN116719697A (zh) 2023-06-20 2023-06-20 一种系统监控方法、装置、终端设备以及存储介质

Country Status (1)

Country Link
CN (1) CN116719697A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117520040A (zh) * 2024-01-05 2024-02-06 中国民航大学 一种微服务故障根因确定方法、电子设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117520040A (zh) * 2024-01-05 2024-02-06 中国民航大学 一种微服务故障根因确定方法、电子设备及存储介质
CN117520040B (zh) * 2024-01-05 2024-03-08 中国民航大学 一种微服务故障根因确定方法、电子设备及存储介质

Similar Documents

Publication Publication Date Title
US11314574B2 (en) Techniques for managing and analyzing log data
US11244233B2 (en) Intelligent adaptor service in unified automation platforms for robotic process automation
US8510720B2 (en) System landscape trace
EP3404542A1 (en) Data pipeline architecture for analytics processing stack
CN107729139B (zh) 一种并发获取资源的方法和装置
US10726045B2 (en) Resource-efficient record processing in unified automation platforms for robotic process automation
US20160350173A1 (en) Automatic anomaly detection and resolution system
US20100205583A1 (en) Request-based activation of debugging and tracing
US10445335B2 (en) Computing environment connectivity system
US10698745B2 (en) Adapter extension for inbound messages from robotic automation platforms to unified automation platform
CN110309005B (zh) 一种功能调用方法、装置、终端设备及存储介质
CN110286892B (zh) 一种基于业务流程设计的快速开发引擎系统
US10901573B2 (en) Generating predictive action buttons within a graphical user interface
CN112313627B (zh) 事件到无服务器函数工作流实例的映射机制
US20150161123A1 (en) Techniques to diagnose live services
CN116719697A (zh) 一种系统监控方法、装置、终端设备以及存储介质
CN110610376A (zh) 行为数据的响应方法、装置、计算机设备及存储介质
US9208058B2 (en) Providing directional debugging breakpoints
CN106610845B (zh) 信息管理方法、装置、服务器及系统
CN110893616B (zh) 一种远程控制方法、装置、计算机设备和存储介质
CN115062084B (zh) 基于数据库元数据构建api接口方法及装置
US9542171B2 (en) Managing an application modification process
CN113779026A (zh) 业务数据表的处理方法和装置
CN114020565A (zh) 日志智能采集处理方法、装置、电子设备及存储介质
CN112558968A (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