CN110427294B - 系统集成环境监控方法、装置、可读存储介质和程序产品 - Google Patents

系统集成环境监控方法、装置、可读存储介质和程序产品 Download PDF

Info

Publication number
CN110427294B
CN110427294B CN201910520713.3A CN201910520713A CN110427294B CN 110427294 B CN110427294 B CN 110427294B CN 201910520713 A CN201910520713 A CN 201910520713A CN 110427294 B CN110427294 B CN 110427294B
Authority
CN
China
Prior art keywords
script
online
time
execution
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.)
Active
Application number
CN201910520713.3A
Other languages
English (en)
Other versions
CN110427294A (zh
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.)
Ping An Puhui Enterprise Management Co Ltd
Original Assignee
Ping An Puhui Enterprise Management 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 Ping An Puhui Enterprise Management Co Ltd filed Critical Ping An Puhui Enterprise Management Co Ltd
Priority to CN201910520713.3A priority Critical patent/CN110427294B/zh
Publication of CN110427294A publication Critical patent/CN110427294A/zh
Application granted granted Critical
Publication of CN110427294B publication Critical patent/CN110427294B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0631Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0811Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Environmental & Geological Engineering (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请提供了一种系统集成环境监控方法、装置、可读存储介质和程序产品,本申请涉及基架运维技术领域。本申请的方法每隔预设时间,获取系统参数,并将系统参数存储至本地数据库;获取历史时间段内本地数据库存储的系统参数;根据历史时间段内各时间点是否存储有系统参数,确定任一时间点的在线状态为在线或者不在线;根据系统在历史时间段内各时间点的在线状态监控系统的在线情况,在线情况包括重启次数、在线时长、在线时长占比;获取脚本的执行信息;根据脚本的执行信息监控脚本的执行情况;当根据执行情况监控到出现堵塞后,对堵塞进行定位,得到堵塞系统,并根据堵塞系统的重启次数、在线时长、在线时长占比进行预警。

Description

系统集成环境监控方法、装置、可读存储介质和程序产品
技术领域
本发明涉及基架运维技术领域,尤其涉及系统集成环境监控方法、装置、可读存储介质和程序产品。
背景技术
CI(Continuous integration,持续集成)是一种软件开发实践,每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件。
目前CI是敏捷开发方法中的重要的一个实践活动,CI不是孤立存在的,它和软件开发过程中方方面面都有关联。把持续集成中的代码获取、代码编译、构造打包、注入编译、测试编译、单元测试、做盘安装、部署环境、结果采集、分析报告等活动串起来,实现敏捷的快速集成、快速验证、快速发布的目标。
随着现在软件项目复杂度的增加,意味着软件结构越来越复杂、规模越来越大,这时通常会把一个产品分成若干个甚至十几个开发模块来进行开发、集成,而每个开发模块又被划分为几个阶段来进行:代码同步、代码编译、构造打包,注入编译,测试编译,单元测试等等,并且每天每个产品的每个开发模块都会频繁地进行多次集成。上述的持续集成过程,主要存在如下问题:每个开发模块的集成状态及其每个持续集成阶段的状态如何监控。
但目前没有一个统一管理平台进行监控与管理。当CI环境执行自动化脚本后,只能通过邮件通知或在持续集成(如jenkins)平台上查看每次的执行结果,再通过每个系统的开发同事进行排查定位,耗时耗力效率低。
因此,如何能够有效、准确地实现在产品开发过程中对持续集成状态的监控成为亟待解决的技术问题。
发明内容
为解决上述问题,本申请实施例提供了一种系统集成环境监控方法,所述方法包括:
每隔预设时间,获取系统参数,并将所述系统参数存储至本地数据库;
获取历史时间段内本地数据库存储的系统参数;
根据所述历史时间段内各时间点是否存储有系统参数,确定任一时间点的在线状态为在线或者不在线;
根据系统在历史时间段内各时间点的在线状态监控系统的在线情况,所述在线情况包括重启次数、在线时长、在线时长占比;其中,重启次数为按时间顺序统计的在线状态从不在线到在线的总次数;在线时长为历史时间段内在线状态为在线的时间点的总时长;在线时长占比为(历史时间段内在线状态为在线的时间点的总时长/历史时间段的总时长)*100%;
获取脚本的执行信息,所述脚本为所有系统支持的全业务流程脚本和/或每个系统的自检脚本;
根据所述脚本的执行信息监控所述脚本的执行情况;
当根据执行情况监控到出现堵塞后,对所述堵塞进行定位,得到堵塞系统;所述堵塞包括系统异常和业务异常;其中,根据执行情况监控到出现堵塞的方法包括:获取执行情况中的日志文件,当根据所述日志文件中的全局标识确定调用超时或异常时,确定监控到出现系统异常;所述日志文件用于记录以全局标识为脚本唯一标识的脚本调用数据,所述全局标识为脚本在被调用后,由第一个接收请求的系统服务器生成的脚本标识;获取执行情况中的监测平台数据,当监测平台数据中存在脚本调用接口返回错误码,但,脚本调用正常时,确定监控到出现业务异常;所述监测平台数据用于记录各接口返回的错误码,错误码位于各接口返回的超文本传输协议请求的体中;
若堵塞系统的第一数值大于或者等于第二数值,则进行预警;所述第一数值=重启次数/在线时长;第二数值=在线时长占比*堵塞系数;若系统异常,则堵塞系数=预先设置的系统重要等级*在线时长占比/系统总数量;若业务异常,则堵塞系数=预先设置的系统重要等级*在线时长占比/脚本调用接口数量。
可选地,所述获取系统参数包括:
通过超文本传输协议请求调用智能分析平台的实时查询接口,获取每秒钟内完成的请求数和堆内存使用率;其中,智能分析平台用于监控各系统的在线情况;
所述根据所述历史时间段内各时间点是否存储有系统参数,确定任一时间点的在线状态为在线或者不在线,包括:
若任一时间点存储有系统参数,且堆内存使用率不大于预设的使用率阈值,且任一时间点完成的请求数不大于第三值,则确定任一时间点的在线状态为在线;所述第三值为(预设的每天处理请求数*预设的请求百分比)/(24*60*60*预设的时间百分比);
否则确定任一时间点的在线状态为不在线。
可选地,所述获取脚本的执行信息包括:
向自动化脚本执行的持续集成平台发送脚本执行信息获取消息,以使所述持续集成平台基于所述执行信息获取消息,在预设时间点执行所述脚本,每次执行后均通过超文本传输协议请求方式返回脚本的执行信息;
获取返回的脚本的执行信息。
可选地,所述对所述堵塞进行定位,得到堵塞系统包括:
根据执行情况监控到出现系统异常,则在日志文件中查找包含所述全局标识的日志信息;其中,日志信息包括所述全局标识,调用触发时间,接收请求的系统服务器标识,反馈信息;将反馈信息为调用超时或异常的日志信息确定堵塞信息;将堵塞定位至堵塞信息中接收请求的系统服务器标识对应的系统服务器,所述堵塞系统为定位为堵塞的系统服务器所对应的系统;
根据执行情况监控到出现业务异常,则确定堵塞请求,所述堵塞请求为体中包括错误码的超文本传输协议请求,超文本传输协议请求还包括头;从堵塞请求的头中获取反馈所述堵塞请求的脚本调用接口的调用接口标识;将堵塞定位至与调用接口标识对应的接口所连接的系统服务器,所述堵塞系统为定位为堵塞的系统服务器所对应的系统。
可选地,所述预设时间为1分钟;
所述历史时间段为1个月,或者,1周。
可选地,所述根据系统在历史时间段内各时间点的在线状态监控系统的在线情况之后,还包括:
以时间点为横轴,以在线情况为纵轴绘制曲线图;展示所述曲线图;
所述获取脚本的执行信息之后,还包括:
若所述脚本为全业务流程脚本,则脚本的执行信息包括业务模式标识和执行结果;将相同业务模式标识的脚本执行信息按执行结果进行汇总,以业务模式标识为第一列,以汇总的结果为第二列绘制第一表格,显示所述第一表格;
若所述脚本为自检脚本,则脚本的执行信息包括检测维度标识和执行结果;将相同检测维度标识的脚本执行信息按执行结果进行汇总,以检测维度标识为第一列,以汇总的结果为第二列绘制第二表格,显示所述第二表格。
可选地,所述当根据执行情况监控到出现堵塞后还包括:
统计各系统堵塞次数;
统计各系统堵塞总时长;
根据脚本的执行情况,按日,周,月汇总执行情况报表;
其中,所述执行情况报表包括如下的一项或多项:全业务流程脚本执行次数,全业务流程脚本执行通过次数,各系统执行自检脚本的次数,各系统执行自检脚本通过次数,各系统执行自检脚本失败次数,各系统执行自检脚本通过率,各系统堵塞次数,各系统堵塞总时长。
本申请实施例还提供了一种系统集成环境监控装置,所述装置包括:
存储模块,用于每隔预设时间,获取系统参数,并将所述系统参数存储至本地数据库;
第一获取模块,用于获取历史时间段内本地数据库存储的系统参数;
确定模块,用于根据所述历史时间段内各时间点是否存储有系统参数,确定任一时间点的在线状态为在线或者不在线;
第一监控模块,用于根据系统在历史时间段内各时间点的在线状态监控系统的在线情况,所述在线情况包括重启次数、在线时长、在线时长占比;其中,重启次数为按时间顺序统计的在线状态从不在线到在线的总次数;在线时长为历史时间段内在线状态为在线的时间点的总时长;在线时长占比为(历史时间段内在线状态为在线的时间点的总时长/历史时间段的总时长)*100%;
第二获取模块,用于获取脚本的执行信息,所述脚本为所有系统支持的全业务流程脚本和/或每个系统的自检脚本;
第二监控模块,用于根据所述脚本的执行信息监控所述脚本的执行情况;
定位模块,用于当根据执行情况监控到出现堵塞后,对所述堵塞进行定位,得到堵塞系统;
所述堵塞包括系统异常和业务异常;其中,根据执行情况监控到出现堵塞的方法包括:获取执行情况中的日志文件,当根据所述日志文件中的全局标识确定调用超时或异常时,确定监控到出现系统异常;所述日志文件用于记录以全局标识为脚本唯一标识的脚本调用数据,所述全局标识为脚本在被调用后,由第一个接收请求的系统服务器生成的脚本标识;获取执行情况中的监测平台数据,当监测平台数据中存在脚本调用接口返回错误码,但,脚本调用正常时,确定监控到出现业务异常;所述监测平台数据用于记录各接口返回的错误码,错误码位于各接口返回的超文本传输协议请求的体中;
预警模块,用于当堵塞系统的第一数值大于或者等于第二数值时,进行预警;所述第一数值=重启次数/在线时长;第二数值=在线时长占比*堵塞系数;若系统异常,则堵塞系数=预先设置的系统重要等级*在线时长占比/系统总数量;若业务异常,则堵塞系数=预先设置的系统重要等级*在线时长占比/脚本调用接口数量。
本申请实施例还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储有计算机指令,所述计算机指令使所述计算机执行本申请上述系统集成环境监控方法。
本申请实施例还提供了一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行本申请上述系统集成环境监控方法。
有益效果如下:
每隔预设时间,获取系统参数,并将系统参数存储至本地数据库;获取历史时间段内本地数据库存储的系统参数;根据历史时间段内各时间点是否存储有系统参数,确定任一时间点的在线状态为在线或者不在线;根据系统在历史时间段内各时间点的在线状态监控系统的在线情况,在线情况包括重启次数、在线时长、在线时长占比;获取脚本的执行信息;根据脚本的执行信息监控脚本的执行情况;当根据执行情况监控到出现堵塞后,对堵塞进行定位,得到堵塞系统,并根据堵塞系统的重启次数、在线时长、在线时长占比进行预警,实现了有效、准确地在产品开发过程中对持续集成状态进行监控。
附图说明
下面将参照附图描述本申请的具体实施例,其中:
图1示出了本申请一实施例提供的一种系统集成环境监控方法的流程示意图;
图2示出了本申请一实施例提供的一种系统集成环境监控装置的结构示意图;
图3示出了本申请一实施例提供的一种计算机设备的示意图。
具体实施方式
随着现在软件项目复杂度的增加,意味着软件结构越来越复杂、规模越来越大,这时通常会把一个产品分成若干个甚至十几个开发模块来进行开发、集成,而每个开发模块又被划分为几个阶段来进行:代码同步、代码编译、构造打包,注入编译,测试编译,单元测试等等,并且每天每个产品的每个开发模块都会频繁地进行多次集成。上述的持续集成过程,主要存在如下问题:每个开发模块的集成状态及其每个持续集成阶段的状态如何监控。但目前没有一个统一管理平台进行监控与管理。当CI环境执行自动化脚本后,只能通过邮件通知或在jenkins等持续集成平台上查看每次的执行结果,再通过每个系统的开发同事进行排查定位,耗时耗力效率低。
基于此,本申请提供一种系统集成环境监控方法,每隔预设时间,获取系统参数,并将系统参数存储至本地数据库;获取历史时间段内本地数据库存储的系统参数;根据历史时间段内各时间点是否存储有系统参数,确定任一时间点的在线状态为在线或者不在线;根据系统在历史时间段内各时间点的在线状态监控系统的在线情况,在线情况包括重启次数、在线时长、在线时长占比;获取脚本的执行信息;根据脚本的执行信息监控脚本的执行情况;当根据执行情况监控到出现堵塞后,对堵塞进行定位,得到堵塞系统,并根据堵塞系统的重启次数、在线时长、在线时长占比进行预警,实现了有效、准确地在产品开发过程中对持续集成状态进行监控。
本申请所提供的系统集成环境监控方法可以对系统在线情况进行监控,还可以对脚本执行情况进行监控。具体的,如图1所示,本实施例提供的系统集成环境监控方法的实现流程如下:
101,每隔预设时间,获取系统参数,并将系统参数存储至本地数据库。
其中,预设时间可以为1分钟,也可以为半分钟,或者其他时长。
获取系统参数的方法包括但不限于:通过HTTP(超文本传输协议)请求调用智能分析平台(如argus平台)的实时查询接口,获取每秒钟内完成的请求数(如CompletedRequestCount字段)和heap(堆内存)使用率(如UsedHeap字段)。
其中,智能分析平台可以监控各应用系统的在线情况。
通过本步骤,可以每隔预设时间采集一次系统参数,将采集到的数据存储至本地数据库作为后续监控的分析数据。
102,获取历史时间段内本地数据库存储的系统参数。
其中,历史时间段为1个月,或者,1周,或者,其他时长。
103,根据历史时间段内各时间点是否存储有系统参数,确定任一时间点的在线状态为在线或者不在线。
确定历史时间段内各时间点是否存储有系统参数,若任一时间点存储有系统参数,则确定任一时间点的在线状态为在线,若任一时间点未存储有系统参数,则确定任一时间点的在线状态为不在线。
由于步骤101中,每隔预设时间,获取一次系统参数,因此历史时间段内的数据也是每隔预设时间(即步骤103中所称的时间点)存储一次系统数据。
例如,步骤101中,每隔1分钟,获取一次系统参数,因此历史时间段内的数据也是每隔1分钟(1分钟即步骤103中所称的时间点)存储一次系统数据。
另外,系统在线时会产生系统参数,如果系统不在线,则不会产生系统参数,因此,若步骤101在获取系统参数时,系统在线,则会获取到系统参数,并将获取到的系统参数进行存储,若步骤101在获取系统参数时,系统不在线,则不会获取到系统参数,也不会存储该时间点的系统参数。因此,根据每个时间点是否存储有系统参数即可确定系统是否在线。
例如,若任一时间点A存储有系统参数,则确定任一时间点A的在线状态为在线,若任一时间点B未存储有系统参数,则确定任一时间点B的在线状态为不在线。
由于步骤101中会获取每秒钟内完成的请求数和堆内存使用率,每秒钟内完成的请求数越高,代表系统处理压力越大,堆内存使用率越大,也代表系统处理压力越大。在系统处理压力大的情况下,即使存储有系统参数,也可能发生由于系统处理压力过大出现卡顿等现象,影响处理效率。考虑到系统卡顿现象,步骤103除上述方式之外,实现方式还可以为:若任一时间点存储有系统参数,且堆内存使用率不大于预设的使用率阈值(例如,预设的使用率阈值=80%),且任一时间点完成的请求数不大于,则确定任一时间点的在线状态为在线;否则确定任一时间点的在线状态为不在线。
其中,第三值为(预设的每天处理请求数*预设的请求百分比)/(24小时*60分钟*60秒钟*预设的时间百分比)。
请求百分比描述了每天集中处理的请求数量占全天处理请求的数量的比例。时间百分比描述了每天集中处理请求的时间占24小时的比例。
如果每天的80%的请求是在50%的时间内处理的。那么预设的请求百分比=80%,预设的时间百分比=50%。那么对于每天可以处理500万请求的系统,其每分秒钟内完成的请求数为:(500万*80%)/(24小时*60分钟*60秒钟*50%)=92.6。即第三值为92.6。
当然在具体实践时,可以根据实际情况确定使用率阈值,集中处理请求的时间百分比和集中处理的请求量的请求百分比。
通过步骤103可以得到历史时间段内每隔预设时间的系统是否在线趋势。
104,根据系统在历史时间段内各时间点的在线状态监控系统的在线情况。
其中,在线情况包括重启次数、在线时长、在线时长占比。
1、重启次数的确定方式
重启次数为按时间顺序统计的在线状态从不在线到在线的总次数。
由于步骤103中,会确定历史时间段内每个时间点的在线状态,将每一次在线状态从不在线到在线确定为一次重启,因此按时间顺序统计的在线状态从不在线到在线的总次数即为重启次数。
例如,历史时间段内每个时间点的在线状态如表1所示。
表1
Figure BDA0002096583810000101
时间点2、时间点3、时间点4构成一次在线状态从不在线到在线,其为一次重启。时间点7、时间点8构成一次在线状态从不在线到在线,其为一次重启。时间点9、时间点10构成一次在线状态从不在线到在线,其为一次重启。因此,表1所示的历史时间段内的重启次数为3次。
2、在线时长的确定方式
在线时长为历史时间段内在线状态为在线的时间点的总时长。
仍以表1为例,时间点1、时间点4、时间点5、时间点6、时间点8、时间点10的在线状态均为在线,若1分钟作为1个时间点,则总时长为6分钟,在线时长为6分钟。
3、在线时长占比的确定方式
在线时长占比为(历史时间段内在线状态为在线的时间点的总时长/历史时间段的总时长)*100%。
仍以表1为例,在线时长为6分钟,历史时间段总时长为10分钟,在线时长占比为(6/10)*100%=60%。
另外,在执行步骤104根据系统在历史时间段内各时间点的在线状态监控系统的在线情况之后,还会展示系统的在线情况,以方便用户查看。
例如,以时间点为横轴,以在线情况为纵轴绘制曲线图;展示所述曲线图。
执行步骤101至104之后,会实现对系统在线情况的监控。
105,获取脚本的执行信息。
本步骤会获取每个脚本的每次执行信息。
本实施例所监控的脚本有2种所有系统支持的全业务流程脚本,每个系统的自检脚本。因此,本步骤中获取的执行信息的脚本,可以为所有系统支持的全业务流程脚本,也可以为每个系统的自检脚本,还可以为所有系统支持的全业务流程脚本和每个系统的自检脚本。本实施例不对获取的具体脚本进行限定,只要监控的脚本即可。
本步骤的实现方式,包括但不限于:1)向自动化脚本执行的持续集成平台(如Jenkins)发送脚本执行信息获取消息,以使持续集成平台基于执行信息获取消息,在预设时间点(如每日2点,10点半,16点半)执行脚本,每次执行后均通过HTTP(超文本传输协议)请求方式返回脚本的执行信息。2)获取返回的脚本的执行信息。
例如,持续集成平台执行的自动化脚本分为两种,一种是需所有系统支持的全业务流程脚本,另一种是每个系统的自检脚本。持续集成平台每天定时3次(2点,10点半,16点半)执行这两类脚本,通过HTTP请求方式调用执行本实施例提供的持续集成环境监控方法的系统(如CI环境看板系统)返回执行结果,将每个脚本的执行情况反馈。步骤105即对接自动化脚本执行的持续集成平台,获取每次执行脚本情况。具体的,向自动化脚本执行的持续集成平台发送脚本执行信息获取消息,在持续集成平台基于执行信息获取消息,在每日2点,10点半,16点半均执行脚本,每次执行后均通过HTTP请求方式返回脚本的执行信息之后,获取返回的脚本的执行信息。
在获取到脚本的执行信息之后,还会对于全业务流程脚本,按业务模式展示执行信息;对于自检脚本,按系统维度展示执行信息,以方便用户查看。
106,根据脚本的执行信息监控脚本的执行情况。
本步骤根据脚本的执行信息监控脚本的执行情况的目的是确定是否出现堵塞。如出现堵塞,则执行步骤107,若未出现堵塞,则循环执行步骤106。
其中,堵塞包括系统异常和业务异常。
根据执行情况监控到出现堵塞的方法包括:
1、根据执行情况监控到出现系统异常的方法
获取执行情况中的日志文件(如RPClog文件),当根据日志文件中的全局标识(如traceID)确定调用超时或异常时,确定监控到出现系统异常。
其中,日志文件用于记录以全局标识为脚本唯一标识的脚本调用数据,全局标识为脚本在被调用后,由第一个接收请求的系统服务器生成的脚本标识。
例如,当脚本每个环节的接口调用开始,会在第一个接收请求的应用系统服务器中生成唯一的全局标识,并透传到该调用链的下游系统中,所有透传记录会存储在日志文件中,随后会进行简单清洗后再倒排索引,调用超时或异常则为堵塞系统或堵塞环节。
2、根据执行情况监控到出现业务异常的方法
获取执行情况中的监测平台(如detector)数据,当监测平台数据中存在脚本调用接口返回错误码,但,脚本调用正常时,确定监控到出现业务异常。
其中,监测平台数据用于记录各接口返回的错误码,错误码位于各接口返回的http(超文本传输协议)请求的体(body)中。
监测平台是基于pinpoint开源封装的APM监控系统,并结合PAFA服务和EJB服务调用等做了客制化。
例如,业务异常体现为接口调用成功,但业务不通造成堵塞所以无法通过以上方式定位。
各业务系统在监测平台上配置各接口的返回错误码,在调用链中,如调用正常但返回码为配置的错误码,则认为该接口业务异常。
返回在http请求的body中,可通过监测平台获取到。
本实施例中的业务异常判断方法不同于现有阿里的鹰眼方案,可定位接口调用成功但业务异常的场景。
107,当根据执行情况监控到出现堵塞后,对堵塞进行定位,得到堵塞系统。
由于堵塞包括系统异常和业务异常,因此本步骤的定位方法根据具体堵塞的情况不同而有所不同,具体的:
1、如果根据执行情况监控到出现系统异常,则意味着在步骤106中已经获取执行情况中的日志文件,并根据日志文件中的全局标识确定调用超时或异常,此时,1)在日志文件中查找包含全局标识的日志信息。其中,日志信息包括全局标识,调用触发时间,接收请求的系统服务器标识,反馈信息(反馈信息的内容为:调用正常,调用超时,或异常)。2)将反馈信息为调用超时或异常的日志信息确定堵塞信息,3)将堵塞定位至堵塞信息中接收请求的系统服务器标识对应的系统服务器,堵塞系统为定位为堵塞的系统服务器所对应的系统。
即在日志文件中,将步骤106中确定调用超时或异常的日志信息确定为堵塞信息,将步骤106中确定调用超时或异常的日志信息中的接收请求的系统服务器标识所对应的系统确定为堵塞系统。
也就是哪个接收请求的系统服务器返回了调用超时或异常的日志信息,就将堵塞定位至哪个系统服务器,定位的系统服务器所对应的系统就是堵塞系统。
2、如果根据执行情况监控到出现业务异常,则意味着在步骤106中已经监测到平台数据中存在脚本调用接口返回错误码,但,脚本调用正常时,此时,1)确定堵塞请求,堵塞请求为体中包括错误码的超文本传输协议请求,超文本传输协议请求还包括头。2)从堵塞请求的头中获取反馈堵塞请求的脚本调用接口的调用接口标识。3)将堵塞定位至与调用接口标识对应的接口所连接的系统服务器,堵塞系统为定位为堵塞的系统服务器所对应的系统。
即将步骤106中确定的返回错误码的超文本传输协议请求确定为堵塞请求,将与步骤106中确定的返回错误码的超文本传输协议请求的头中调用接口标识所对应的接口连接的系统确定为堵塞系统。
也就是在脚本调用正常的情况下,哪个http请求的body中返回了错误码,就将堵塞定位至哪个与http请求的head中调用接口标识所对应的接口连接的系统服务器,定位的系统服务器所对应的系统就是堵塞系统。
其中,超文本传输协议请求,即http请求的结构(如head,body结构)均为现有结构,此处不再赘述。
通过上述流程可以在监控到出现堵塞时,进行堵塞的准确定位。
另外,当根据执行情况监控到出现堵塞后还会执行如下的一步或多步,以进行统计和展示:1、统计各系统堵塞次数。2、统计各系统堵塞总时长。3、根据脚本的执行情况,按日,周,月汇总执行情况报表。3、通过发邮件等渠道通知对应系统负责人或接口人等。
其中,执行情况报表的内容包括但不限于如下的一项或多项:全业务流程脚本执行次数,全业务流程脚本执行通过次数,各系统执行自检脚本的次数,各系统执行自检脚本通过次数,各系统执行自检脚本失败次数,各系统执行自检脚本通过率,各系统堵塞次数,各系统堵塞总时长。
例如,全流程脚本执行几次,通过几次,堵塞系统及次数是多少。系统自检脚本,各系统分别跑了几次,成功几次,失败几次,通过率是多少。
执行步骤105至107之后,会实现对脚本执行情况的监控。例如,展示脚本最新执行情况,对出现的堵塞问题精准定位。
除此之外,对于较为严重堵塞系统,还可以执行步骤108进行预警。
108,若堵塞系统的第一数值大于或者等于第二数值,则进行预警。
其中,第一数值=重启次数/在线时长。
第二数值=在线时长占比*堵塞系数。
若系统异常,则堵塞系数=预先设置的系统重要等级*在线时长占比/系统总数量;若业务异常,则堵塞系数=预先设置的系统重要等级*在线时长占比/脚本调用接口数量。
此处的系统总数量为持续集成环境中监控的所有系统的数量。脚本调用接口数量可以为一个脚本所调用的所有接口数量,也可以为,一个系统执行所有脚本所调用的所有脚本的数量,还可以为,所有系统执行所有脚本所调用的所有脚本的数量。可以跟具体实施情况酌情选择。
第一数值描述了单位时长内的重启次数。第二数值描述了有效工作比例,如果单位时长内重启次数比有效工作比例还高,说明堵塞系统重启频繁,需要进行预警。
而在评估有效工作比例时,不仅考虑到在线时长占比,还考虑到了堵塞情况,使得作为对比的有效工作比例根据系统异常或业务异常而变化,符合堵塞系统的实际情况。
执行步骤108之后,会对满足条件的堵塞系统进行主动预警,如发邮件给对应系统负责人或接口人等。
通过本实施例提供的持续集成环境监控方法可以监控各系统的在线情况和脚本执行情况,提升持续集成环境可用率。
本实施例提供的持续集成环境监控方法具有以下功能:
1、展示各个系统的在线情况。
2、统计各个系统的重启次数,在线时长,在线时长占比。
3、对接自动化脚本执行的持续集成平台,获取每次执行脚本情况。
4、展示脚本最新执行情况,对出现的堵塞问题精准定位(通过搜索日志、记录历史出错情况的表格等设置定位关系),可以自动找出问题,并发邮件给对应系统负责人或接口人。
5、统计各系统堵塞次数,总时长等信息,可以按日,周,月汇总成报表。
通过本实施例提供的持续集成环境监控方法可以提升持续集成环境可用率,快速定位堵塞,提升开发代码质量。
有益效果:
每隔预设时间,获取系统参数,并将系统参数存储至本地数据库;获取历史时间段内本地数据库存储的系统参数;根据历史时间段内各时间点是否存储有系统参数,确定任一时间点的在线状态为在线或者不在线;根据系统在历史时间段内各时间点的在线状态监控系统的在线情况,在线情况包括重启次数、在线时长、在线时长占比;获取脚本的执行信息;根据脚本的执行信息监控脚本的执行情况;当根据执行情况监控到出现堵塞后,对堵塞进行定位,得到堵塞系统,并根据堵塞系统的重启次数、在线时长、在线时长占比进行预警,实现了有效、准确地在产品开发过程中对持续集成状态进行监控。
基于与图1所示的系统集成环境监控方法同一发明构思,本实施例还提供一种系统集成环境监控装置,参见图2,该装置包括:
存储模块701,用于每隔预设时间,获取系统参数,并将系统参数存储至本地数据库;
第一获取模块702,用于获取历史时间段内本地数据库存储的系统参数;
确定模块703,用于根据历史时间段内各时间点是否存储有系统参数,确定任一时间点的在线状态为在线或者不在线;
第一监控模块704,用于根据系统在历史时间段内各时间点的在线状态监控系统的在线情况,在线情况包括重启次数、在线时长、在线时长占比;其中,重启次数为按时间顺序统计的在线状态从不在线到在线的总次数;在线时长为历史时间段内在线状态为在线的时间点的总时长;在线时长占比为(历史时间段内在线状态为在线的时间点的总时长/历史时间段的总时长)*100%;
第二获取模块705,用于获取脚本的执行信息,脚本为所有系统支持的全业务流程脚本和/或每个系统的自检脚本;
第二监控模块706,用于根据脚本的执行信息监控脚本的执行情况;
定位模块707,用于当根据执行情况监控到出现堵塞后,对堵塞进行定位,得到堵塞系统;
堵塞包括系统异常和业务异常;其中,根据执行情况监控到出现堵塞的方法包括:获取执行情况中的日志文件,当根据日志文件中的全局标识确定调用超时或异常时,确定监控到出现系统异常;日志文件用于记录以全局标识为脚本唯一标识的脚本调用数据,全局标识为脚本在被调用后,由第一个接收请求的系统服务器生成的脚本标识;获取执行情况中的监测平台数据,当监测平台数据中存在脚本调用接口返回错误码,但,脚本调用正常时,确定监控到出现业务异常;监测平台数据用于记录各接口返回的错误码,错误码位于各接口返回的超文本传输协议请求的体中;
预警模块708,用于当堵塞系统的第一数值大于或者等于第二数值时,进行预警;第一数值=重启次数/在线时长;第二数值=在线时长占比*堵塞系数;若系统异常,则堵塞系数=预先设置的系统重要等级*在线时长占比/系统总数量;若业务异常,则堵塞系数=预先设置的系统重要等级*在线时长占比/脚本调用接口数量。
存储模块701,用于通过超文本传输协议请求调用智能分析平台的实时查询接口,获取每秒钟内完成的请求数和堆内存使用率;其中,智能分析平台用于监控各系统的在线情况;
确定模块703,用于根据历史时间段内各时间点是否存储有系统参数,确定任一时间点的在线状态为在线或者不在线,包括:
若任一时间点存储有系统参数,且堆内存使用率不大于预设的使用率阈值,且任一时间点完成的请求数不大于第三值,则确定任一时间点的在线状态为在线;第三值为(预设的每天处理请求数*预设的请求百分比)/(24*60*60*预设的时间百分比);
否则确定任一时间点的在线状态为不在线。
第二获取模块705,用于向自动化脚本执行的持续集成平台发送脚本执行信息获取消息,以使持续集成平台基于执行信息获取消息,在预设时间点执行脚本,每次执行后均通过超文本传输协议请求方式返回脚本的执行信息;获取返回的脚本的执行信息。
定位模块707,用于根据执行情况监控到出现系统异常,则在日志文件中查找包含全局标识的日志信息;其中,日志信息包括全局标识,调用触发时间,接收请求的系统服务器标识,反馈信息;将反馈信息为调用超时或异常的日志信息确定堵塞信息;将堵塞定位至堵塞信息中接收请求的系统服务器标识对应的系统服务器,堵塞系统为定位为堵塞的系统服务器所对应的系统;根据执行情况监控到出现业务异常,则确定堵塞请求,堵塞请求为体中包括错误码的超文本传输协议请求,超文本传输协议请求还包括头;从堵塞请求的头中获取反馈堵塞请求的脚本调用接口的调用接口标识;将堵塞定位至与调用接口标识对应的接口所连接的系统服务器,堵塞系统为定位为堵塞的系统服务器所对应的系统。
其中,预设时间为1分钟;
历史时间段为1个月,或者,1周。
另外,该系统集成环境监控装置还包括:
第一展示模块,用于以时间点为横轴,以在线情况为纵轴绘制曲线图;展示曲线图;
系统集成环境监控装置还包括:
第二展示模块,用于若脚本为全业务流程脚本,则脚本的执行信息包括业务模式标识和执行结果;将相同业务模式标识的脚本执行信息按执行结果进行汇总,以业务模式标识为第一列,以汇总的结果为第二列绘制第一表格,显示第一表格;若脚本为自检脚本,则脚本的执行信息包括检测维度标识和执行结果;将相同检测维度标识的脚本执行信息按执行结果进行汇总,以检测维度标识为第一列,以汇总的结果为第二列绘制第二表格,显示第二表格。
系统集成环境监控装置还包括:
统计模块,用于统计各系统堵塞次数;统计各系统堵塞总时长;
报表模块,用于根据脚本的执行情况,按日,周,月汇总执行情况报表;
其中,执行情况报表包括如下的一项或多项:全业务流程脚本执行次数,全业务流程脚本执行通过次数,各系统执行自检脚本的次数,各系统执行自检脚本通过次数,各系统执行自检脚本失败次数,各系统执行自检脚本通过率,各系统堵塞次数,各系统堵塞总时长。
有益效果:
每隔预设时间,获取系统参数,并将系统参数存储至本地数据库;获取历史时间段内本地数据库存储的系统参数;根据历史时间段内各时间点是否存储有系统参数,确定任一时间点的在线状态为在线或者不在线;根据系统在历史时间段内各时间点的在线状态监控系统的在线情况,在线情况包括重启次数、在线时长、在线时长占比;获取脚本的执行信息;根据脚本的执行信息监控脚本的执行情况;当根据执行情况监控到出现堵塞后,对堵塞进行定位,得到堵塞系统,并根据堵塞系统的重启次数、在线时长、在线时长占比进行预警,实现了有效、准确地在产品开发过程中对持续集成状态进行监控。
本实施例还提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储有计算机指令,所述计算机指令使所述计算机执行上述图1所示的方法实施例所提供的方法。
如:
每隔预设时间,获取系统参数,并将系统参数存储至本地数据库;
获取历史时间段内本地数据库存储的系统参数;
根据历史时间段内各时间点是否存储有系统参数,确定任一时间点的在线状态为在线或者不在线;
根据系统在历史时间段内各时间点的在线状态监控系统的在线情况,在线情况包括重启次数、在线时长、在线时长占比;其中,重启次数为按时间顺序统计的在线状态从不在线到在线的总次数;在线时长为历史时间段内在线状态为在线的时间点的总时长;在线时长占比为(历史时间段内在线状态为在线的时间点的总时长/历史时间段的总时长)*100%;
获取脚本的执行信息,脚本为所有系统支持的全业务流程脚本和/或每个系统的自检脚本;
根据脚本的执行信息监控脚本的执行情况;
当根据执行情况监控到出现堵塞后,对堵塞进行定位,得到堵塞系统;堵塞包括系统异常和业务异常;其中,根据执行情况监控到出现堵塞的方法包括:获取执行情况中的日志文件,当根据日志文件中的全局标识确定调用超时或异常时,确定监控到出现系统异常;日志文件用于记录以全局标识为脚本唯一标识的脚本调用数据,全局标识为脚本在被调用后,由第一个接收请求的系统服务器生成的脚本标识;获取执行情况中的监测平台数据,当监测平台数据中存在脚本调用接口返回错误码,但,脚本调用正常时,确定监控到出现业务异常;监测平台数据用于记录各接口返回的错误码,错误码位于各接口返回的超文本传输协议请求的体中;
若堵塞系统的第一数值大于或者等于第二数值,则进行预警;第一数值=重启次数/在线时长;第二数值=在线时长占比*堵塞系数;若系统异常,则堵塞系数=预先设置的系统重要等级*在线时长占比/系统总数量;若业务异常,则堵塞系数=预先设置的系统重要等级*在线时长占比/脚本调用接口数量。
可选地,获取系统参数包括:
通过超文本传输协议请求调用智能分析平台的实时查询接口,获取每秒钟内完成的请求数和堆内存使用率;其中,智能分析平台用于监控各系统的在线情况;
根据历史时间段内各时间点是否存储有系统参数,确定任一时间点的在线状态为在线或者不在线,包括:
若任一时间点存储有系统参数,且堆内存使用率不大于预设的使用率阈值,且任一时间点完成的请求数不大于第三值,则确定任一时间点的在线状态为在线;第三值为(预设的每天处理请求数*预设的请求百分比)/(24*60*60*预设的时间百分比);
否则确定任一时间点的在线状态为不在线。
可选地,获取脚本的执行信息包括:
向自动化脚本执行的持续集成平台发送脚本执行信息获取消息,以使持续集成平台基于执行信息获取消息,在预设时间点执行脚本,每次执行后均通过超文本传输协议请求方式返回脚本的执行信息;
获取返回的脚本的执行信息。
可选地,对堵塞进行定位,得到堵塞系统包括:
根据执行情况监控到出现系统异常,则在日志文件中查找包含全局标识的日志信息;其中,日志信息包括全局标识,调用触发时间,接收请求的系统服务器标识,反馈信息;将反馈信息为调用超时或异常的日志信息确定堵塞信息;将堵塞定位至堵塞信息中接收请求的系统服务器标识对应的系统服务器,堵塞系统为定位为堵塞的系统服务器所对应的系统;
根据执行情况监控到出现业务异常,则确定堵塞请求,堵塞请求为体中包括错误码的超文本传输协议请求,超文本传输协议请求还包括头;从堵塞请求的头中获取反馈堵塞请求的脚本调用接口的调用接口标识;将堵塞定位至与调用接口标识对应的接口所连接的系统服务器,堵塞系统为定位为堵塞的系统服务器所对应的系统。
可选地,预设时间为1分钟;
历史时间段为1个月,或者,1周。
可选地,根据系统在历史时间段内各时间点的在线状态监控系统的在线情况之后,还包括:
以时间点为横轴,以在线情况为纵轴绘制曲线图;展示曲线图;
获取脚本的执行信息之后,还包括:
若脚本为全业务流程脚本,则脚本的执行信息包括业务模式标识和执行结果;将相同业务模式标识的脚本执行信息按执行结果进行汇总,以业务模式标识为第一列,以汇总的结果为第二列绘制第一表格,显示第一表格;
若脚本为自检脚本,则脚本的执行信息包括检测维度标识和执行结果;将相同检测维度标识的脚本执行信息按执行结果进行汇总,以检测维度标识为第一列,以汇总的结果为第二列绘制第二表格,显示第二表格。
可选地,当根据执行情况监控到出现堵塞后还包括:
统计各系统堵塞次数;
统计各系统堵塞总时长;
根据脚本的执行情况,按日,周,月汇总执行情况报表;
其中,执行情况报表包括如下的一项或多项:全业务流程脚本执行次数,全业务流程脚本执行通过次数,各系统执行自检脚本的次数,各系统执行自检脚本通过次数,各系统执行自检脚本失败次数,各系统执行自检脚本通过率,各系统堵塞次数,各系统堵塞总时长。
有益效果:
每隔预设时间,获取系统参数,并将系统参数存储至本地数据库;获取历史时间段内本地数据库存储的系统参数;根据历史时间段内各时间点是否存储有系统参数,确定任一时间点的在线状态为在线或者不在线;根据系统在历史时间段内各时间点的在线状态监控系统的在线情况,在线情况包括重启次数、在线时长、在线时长占比;获取脚本的执行信息;根据脚本的执行信息监控脚本的执行情况;当根据执行情况监控到出现堵塞后,对堵塞进行定位,得到堵塞系统,并根据堵塞系统的重启次数、在线时长、在线时长占比进行预警,实现了有效、准确地在产品开发过程中对持续集成状态进行监控。
本实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述图1所示的方法实施例所提供的方法。
如:
每隔预设时间,获取系统参数,并将系统参数存储至本地数据库;
获取历史时间段内本地数据库存储的系统参数;
根据历史时间段内各时间点是否存储有系统参数,确定任一时间点的在线状态为在线或者不在线;
根据系统在历史时间段内各时间点的在线状态监控系统的在线情况,在线情况包括重启次数、在线时长、在线时长占比;其中,重启次数为按时间顺序统计的在线状态从不在线到在线的总次数;在线时长为历史时间段内在线状态为在线的时间点的总时长;在线时长占比为(历史时间段内在线状态为在线的时间点的总时长/历史时间段的总时长)*100%;
获取脚本的执行信息,脚本为所有系统支持的全业务流程脚本和/或每个系统的自检脚本;
根据脚本的执行信息监控脚本的执行情况;
当根据执行情况监控到出现堵塞后,对堵塞进行定位,得到堵塞系统;堵塞包括系统异常和业务异常;其中,根据执行情况监控到出现堵塞的方法包括:获取执行情况中的日志文件,当根据日志文件中的全局标识确定调用超时或异常时,确定监控到出现系统异常;日志文件用于记录以全局标识为脚本唯一标识的脚本调用数据,全局标识为脚本在被调用后,由第一个接收请求的系统服务器生成的脚本标识;获取执行情况中的监测平台数据,当监测平台数据中存在脚本调用接口返回错误码,但,脚本调用正常时,确定监控到出现业务异常;监测平台数据用于记录各接口返回的错误码,错误码位于各接口返回的超文本传输协议请求的体中;
若堵塞系统的第一数值大于或者等于第二数值,则进行预警;第一数值=重启次数/在线时长;第二数值=在线时长占比*堵塞系数;若系统异常,则堵塞系数=预先设置的系统重要等级*在线时长占比/系统总数量;若业务异常,则堵塞系数=预先设置的系统重要等级*在线时长占比/脚本调用接口数量。
可选地,获取系统参数包括:
通过超文本传输协议请求调用智能分析平台的实时查询接口,获取每秒钟内完成的请求数和堆内存使用率;其中,智能分析平台用于监控各系统的在线情况;
根据历史时间段内各时间点是否存储有系统参数,确定任一时间点的在线状态为在线或者不在线,包括:
若任一时间点存储有系统参数,且堆内存使用率不大于预设的使用率阈值,且任一时间点完成的请求数不大于第三值,则确定任一时间点的在线状态为在线;第三值为(预设的每天处理请求数*预设的请求百分比)/(24*60*60*预设的时间百分比);
否则确定任一时间点的在线状态为不在线。
可选地,获取脚本的执行信息包括:
向自动化脚本执行的持续集成平台发送脚本执行信息获取消息,以使持续集成平台基于执行信息获取消息,在预设时间点执行脚本,每次执行后均通过超文本传输协议请求方式返回脚本的执行信息;
获取返回的脚本的执行信息。
可选地,对堵塞进行定位,得到堵塞系统包括:
根据执行情况监控到出现系统异常,则在日志文件中查找包含全局标识的日志信息;其中,日志信息包括全局标识,调用触发时间,接收请求的系统服务器标识,反馈信息;将反馈信息为调用超时或异常的日志信息确定堵塞信息;将堵塞定位至堵塞信息中接收请求的系统服务器标识对应的系统服务器,堵塞系统为定位为堵塞的系统服务器所对应的系统;
根据执行情况监控到出现业务异常,则确定堵塞请求,堵塞请求为体中包括错误码的超文本传输协议请求,超文本传输协议请求还包括头;从堵塞请求的头中获取反馈堵塞请求的脚本调用接口的调用接口标识;将堵塞定位至与调用接口标识对应的接口所连接的系统服务器,堵塞系统为定位为堵塞的系统服务器所对应的系统。
可选地,预设时间为1分钟;
历史时间段为1个月,或者,1周。
可选地,根据系统在历史时间段内各时间点的在线状态监控系统的在线情况之后,还包括:
以时间点为横轴,以在线情况为纵轴绘制曲线图;展示曲线图;
获取脚本的执行信息之后,还包括:
若脚本为全业务流程脚本,则脚本的执行信息包括业务模式标识和执行结果;将相同业务模式标识的脚本执行信息按执行结果进行汇总,以业务模式标识为第一列,以汇总的结果为第二列绘制第一表格,显示第一表格;
若脚本为自检脚本,则脚本的执行信息包括检测维度标识和执行结果;将相同检测维度标识的脚本执行信息按执行结果进行汇总,以检测维度标识为第一列,以汇总的结果为第二列绘制第二表格,显示第二表格。
可选地,当根据执行情况监控到出现堵塞后还包括:
统计各系统堵塞次数;
统计各系统堵塞总时长;
根据脚本的执行情况,按日,周,月汇总执行情况报表;
其中,执行情况报表包括如下的一项或多项:全业务流程脚本执行次数,全业务流程脚本执行通过次数,各系统执行自检脚本的次数,各系统执行自检脚本通过次数,各系统执行自检脚本失败次数,各系统执行自检脚本通过率,各系统堵塞次数,各系统堵塞总时长。
有益效果:
每隔预设时间,获取系统参数,并将系统参数存储至本地数据库;获取历史时间段内本地数据库存储的系统参数;根据历史时间段内各时间点是否存储有系统参数,确定任一时间点的在线状态为在线或者不在线;根据系统在历史时间段内各时间点的在线状态监控系统的在线情况,在线情况包括重启次数、在线时长、在线时长占比;获取脚本的执行信息;根据脚本的执行信息监控脚本的执行情况;当根据执行情况监控到出现堵塞后,对堵塞进行定位,得到堵塞系统,并根据堵塞系统的重启次数、在线时长、在线时长占比进行预警,实现了有效、准确地在产品开发过程中对持续集成状态进行监控。
图3是本发明实施例提供的一种计算机设备的示意图。如图3所示,该实施例的计算机设备50包括:处理器51、存储器52以及存储在存储器52中并可在处理器51上运行的计算机程序53,该计算机程序53被处理器51执行时实现图1所示的实施例中的系统集成环境监控方法,为避免重复,此处不一一赘述。或者,该计算机程序被处理器51执行时实现图2所示的实施例中系统集成环境监控装置中各模型/单元的功能,为避免重复,此处不一一赘述。
计算机设备50可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。计算机设备可包括,但不仅限于,处理器51、存储器52。本领域技术人员可以理解,图3仅仅是计算机设备50的示例,并不构成对计算机设备50的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如计算机设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器51可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器52可以是计算机设备50的内部存储单元,例如计算机设备50的硬盘或内存。存储器52也可以是计算机设备50的外部存储设备,例如计算机设备50上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器52还可以既包括计算机设备50的内部存储单元也包括外部存储设备。存储器52用于存储计算机程序以及计算机设备所需的其他程序和数据。存储器52还可以用于暂时地存储已经输出或者将要输出的数据。
有益效果:
每隔预设时间,获取系统参数,并将系统参数存储至本地数据库;获取历史时间段内本地数据库存储的系统参数;根据历史时间段内各时间点是否存储有系统参数,确定任一时间点的在线状态为在线或者不在线;根据系统在历史时间段内各时间点的在线状态监控系统的在线情况,在线情况包括重启次数、在线时长、在线时长占比;获取脚本的执行信息;根据脚本的执行信息监控脚本的执行情况;当根据执行情况监控到出现堵塞后,对堵塞进行定位,得到堵塞系统,并根据堵塞系统的重启次数、在线时长、在线时长占比进行预警,实现了有效、准确地在产品开发过程中对持续集成状态进行监控。

Claims (10)

1.一种系统集成环境监控方法,其特征在于,所述方法包括:
每隔预设时间,获取系统参数,并将所述系统参数存储至本地数据库;
获取历史时间段内本地数据库存储的系统参数;
根据所述历史时间段内各时间点是否存储有系统参数,确定任一时间点的在线状态为在线或者不在线;
根据系统在历史时间段内各时间点的在线状态监控系统的在线情况,所述在线情况包括重启次数、在线时长、在线时长占比;其中,重启次数为按时间顺序统计的在线状态从不在线到在线的总次数;在线时长为历史时间段内在线状态为在线的时间点的总时长;在线时长占比为(历史时间段内在线状态为在线的时间点的总时长/历史时间段的总时长)*100%;
获取脚本的执行信息,所述脚本为所有系统支持的全业务流程脚本和/或每个系统的自检脚本;
根据所述脚本的执行信息监控所述脚本的执行情况;
当根据执行情况监控到出现堵塞后,对所述堵塞进行定位,得到堵塞系统;所述堵塞包括系统异常和业务异常;其中,根据执行情况监控到出现堵塞的方法包括:获取执行情况中的日志文件,当根据所述日志文件中的全局标识确定调用超时或异常时,确定监控到出现系统异常;所述日志文件用于记录以全局标识为脚本唯一标识的脚本调用数据,所述全局标识为脚本在被调用后,由第一个接收请求的系统服务器生成的脚本标识;获取执行情况中的监测平台数据,当监测平台数据中存在脚本调用接口返回错误码,但,脚本调用正常时,确定监控到出现业务异常;所述监测平台数据用于记录各接口返回的错误码,错误码位于各接口返回的超文本传输协议请求的体中;
若堵塞系统的第一数值大于或者等于第二数值,则进行预警;所述第一数值=重启次数/在线时长;第二数值=在线时长占比*堵塞系数;若系统异常,则堵塞系数=预先设置的系统重要等级*在线时长占比/系统总数量;若业务异常,则堵塞系数=预先设置的系统重要等级*在线时长占比/脚本调用接口数量。
2.根据权利要求1所述的方法,其特征在于,所述获取系统参数包括:
通过超文本传输协议请求调用智能分析平台的实时查询接口,获取每秒钟内完成的请求数和堆内存使用率;其中,智能分析平台用于监控各系统的在线情况;
所述根据所述历史时间段内各时间点是否存储有系统参数,确定任一时间点的在线状态为在线或者不在线,包括:
若任一时间点存储有系统参数,且堆内存使用率不大于预设的使用率阈值,且任一时间点完成的请求数不大于第三值,则确定任一时间点的在线状态为在线;所述第三值为(预设的每天处理请求数*预设的请求百分比)/(24*60*60*预设的时间百分比);
否则确定任一时间点的在线状态为不在线。
3.根据权利要求1所述的方法,其特征在于,所述获取脚本的执行信息包括:
向自动化脚本执行的持续集成平台发送脚本执行信息获取消息,以使所述持续集成平台基于所述执行信息获取消息,在预设时间点执行所述脚本,每次执行后均通过超文本传输协议请求方式返回脚本的执行信息;
获取返回的脚本的执行信息。
4.根据权利要求1所述的方法,其特征在于,所述对所述堵塞进行定位,得到堵塞系统包括:
根据执行情况监控到出现系统异常,则在日志文件中查找包含所述全局标识的日志信息;其中,日志信息包括所述全局标识,调用触发时间,接收请求的系统服务器标识,反馈信息;将反馈信息为调用超时或异常的日志信息确定堵塞信息;将堵塞定位至堵塞信息中接收请求的系统服务器标识对应的系统服务器,所述堵塞系统为定位为堵塞的系统服务器所对应的系统;
根据执行情况监控到出现业务异常,则确定堵塞请求,所述堵塞请求为体中包括错误码的超文本传输协议请求,超文本传输协议请求还包括头;从堵塞请求的头中获取反馈所述堵塞请求的脚本调用接口的调用接口标识;将堵塞定位至与调用接口标识对应的接口所连接的系统服务器,所述堵塞系统为定位为堵塞的系统服务器所对应的系统。
5.根据权利要求1所述的方法,其特征在于,所述预设时间为1分钟;
所述历史时间段为1个月,或者,1周。
6.根据权利要求1至5任一权利要求所述的方法,其特征在于,所述根据系统在历史时间段内各时间点的在线状态监控系统的在线情况之后,还包括:
以时间点为横轴,以在线情况为纵轴绘制曲线图;展示所述曲线图;
所述获取脚本的执行信息之后,还包括:
若所述脚本为全业务流程脚本,则脚本的执行信息包括业务模式标识和执行结果;将相同业务模式标识的脚本执行信息按执行结果进行汇总,以业务模式标识为第一列,以汇总的结果为第二列绘制第一表格,显示所述第一表格;
若所述脚本为自检脚本,则脚本的执行信息包括检测维度标识和执行结果;将相同检测维度标识的脚本执行信息按执行结果进行汇总,以检测维度标识为第一列,以汇总的结果为第二列绘制第二表格,显示所述第二表格。
7.根据权利要求1至5任一权利要求所述的方法,其特征在于,所述当根据执行情况监控到出现堵塞后还包括:
统计各系统堵塞次数;
统计各系统堵塞总时长;
根据脚本的执行情况,按日,周,月汇总执行情况报表;
其中,所述执行情况报表包括如下的一项或多项:全业务流程脚本执行次数,全业务流程脚本执行通过次数,各系统执行自检脚本的次数,各系统执行自检脚本通过次数,各系统执行自检脚本失败次数,各系统执行自检脚本通过率,各系统堵塞次数,各系统堵塞总时长。
8.一种系统集成环境监控装置,其特征在于,所述装置包括:
存储模块,用于每隔预设时间,获取系统参数,并将所述系统参数存储至本地数据库;
第一获取模块,用于获取历史时间段内本地数据库存储的系统参数;
确定模块,用于根据所述历史时间段内各时间点是否存储有系统参数,确定任一时间点的在线状态为在线或者不在线;
第一监控模块,用于根据系统在历史时间段内各时间点的在线状态监控系统的在线情况,所述在线情况包括重启次数、在线时长、在线时长占比;其中,重启次数为按时间顺序统计的在线状态从不在线到在线的总次数;在线时长为历史时间段内在线状态为在线的时间点的总时长;在线时长占比为(历史时间段内在线状态为在线的时间点的总时长/历史时间段的总时长)*100%;
第二获取模块,用于获取脚本的执行信息,所述脚本为所有系统支持的全业务流程脚本和/或每个系统的自检脚本;
第二监控模块,用于根据所述脚本的执行信息监控所述脚本的执行情况;
定位模块,用于当根据执行情况监控到出现堵塞后,对所述堵塞进行定位,得到堵塞系统;
所述堵塞包括系统异常和业务异常;其中,根据执行情况监控到出现堵塞的方法包括:获取执行情况中的日志文件,当根据所述日志文件中的全局标识确定调用超时或异常时,确定监控到出现系统异常;所述日志文件用于记录以全局标识为脚本唯一标识的脚本调用数据,所述全局标识为脚本在被调用后,由第一个接收请求的系统服务器生成的脚本标识;获取执行情况中的监测平台数据,当监测平台数据中存在脚本调用接口返回错误码,但,脚本调用正常时,确定监控到出现业务异常;所述监测平台数据用于记录各接口返回的错误码,错误码位于各接口返回的超文本传输协议请求的体中;
预警模块,用于当堵塞系统的第一数值大于或者等于第二数值时,进行预警;所述第一数值=重启次数/在线时长;第二数值=在线时长占比*堵塞系数;若系统异常,则堵塞系数=预先设置的系统重要等级*在线时长占比/系统总数量;若业务异常,则堵塞系数=预先设置的系统重要等级*在线时长占比/脚本调用接口数量。
9.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行权利要求1至7任一项所述的方法。
10.一种计算机程序产品,其特征在于,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行权利要求1至7任一项所述的方法。
CN201910520713.3A 2019-06-17 2019-06-17 系统集成环境监控方法、装置、可读存储介质和程序产品 Active CN110427294B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910520713.3A CN110427294B (zh) 2019-06-17 2019-06-17 系统集成环境监控方法、装置、可读存储介质和程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910520713.3A CN110427294B (zh) 2019-06-17 2019-06-17 系统集成环境监控方法、装置、可读存储介质和程序产品

Publications (2)

Publication Number Publication Date
CN110427294A CN110427294A (zh) 2019-11-08
CN110427294B true CN110427294B (zh) 2022-07-29

Family

ID=68407688

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910520713.3A Active CN110427294B (zh) 2019-06-17 2019-06-17 系统集成环境监控方法、装置、可读存储介质和程序产品

Country Status (1)

Country Link
CN (1) CN110427294B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112394979A (zh) * 2020-11-25 2021-02-23 平安普惠企业管理有限公司 软件系统的多环境同步方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105491143A (zh) * 2015-12-15 2016-04-13 国云科技股份有限公司 一种软件运行状态监控系统及其实现方法
CN106815115A (zh) * 2017-01-13 2017-06-09 郑州云海信息技术有限公司 一种服务器运行状态监控系统
WO2018076861A1 (zh) * 2016-10-25 2018-05-03 广东欧珀移动通信有限公司 数据传输的控制方法、装置、存储介质、服务器及系统
CN109768896A (zh) * 2018-12-14 2019-05-17 平安普惠企业管理有限公司 监控服务器环境状态的方法、装置和计算机设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105491143A (zh) * 2015-12-15 2016-04-13 国云科技股份有限公司 一种软件运行状态监控系统及其实现方法
WO2018076861A1 (zh) * 2016-10-25 2018-05-03 广东欧珀移动通信有限公司 数据传输的控制方法、装置、存储介质、服务器及系统
CN106815115A (zh) * 2017-01-13 2017-06-09 郑州云海信息技术有限公司 一种服务器运行状态监控系统
CN109768896A (zh) * 2018-12-14 2019-05-17 平安普惠企业管理有限公司 监控服务器环境状态的方法、装置和计算机设备

Also Published As

Publication number Publication date
CN110427294A (zh) 2019-11-08

Similar Documents

Publication Publication Date Title
AU2019253860B2 (en) Data quality analysis
CN108156006B (zh) 一种埋点数据上报方法、装置及电子设备
CN106656536B (zh) 一种用于处理服务调用信息的方法与设备
US20150195157A1 (en) Data Metrics Analytics
CN107025224B (zh) 一种监控任务运行的方法和设备
US11799748B2 (en) Mitigating failure in request handling
CN112631887A (zh) 异常检测方法、装置、电子设备和计算机可读存储介质
US20170132057A1 (en) Full duplex distributed telemetry system
WO2018233170A1 (zh) 日志记录方法、装置、计算机设备及存储介质
CN110427294B (zh) 系统集成环境监控方法、装置、可读存储介质和程序产品
CN112087320A (zh) 一种异常定位方法、装置、电子设备和可读存储介质
US20170270038A1 (en) Methods and systems for anomaly detection
CN107451056B (zh) 监听接口测试结果的方法及装置
JP2006331026A (ja) メッセージ分析システム及びメッセージ分析プログラム
CN110427329B (zh) 一种数据库sql性能数据的采集方法及系统
CN110633165B (zh) 故障处理方法、装置、系统服务器及计算机可读存储介质
CN114371980A (zh) 调用链路性能监控方法、装置、计算机设备及存储介质
CN111835566A (zh) 一种系统故障管理方法、装置及系统
CN111061609A (zh) 一种日志监控方法及系统
CN118331823B (zh) 航天工程业务运行日志管理与监控告警方法及系统
US9659324B1 (en) System, method, and computer program for aggregating fallouts in an ordering system
CN111679951B (zh) 基于交易支付系统的监控方法及装置
TWI677785B (zh) 核心帳務主機監控方法
CN118503042A (zh) 一种anr监控方法及装置
CN114625549A (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