CN106649033A - web系统健康状态检查方法及装置 - Google Patents

web系统健康状态检查方法及装置 Download PDF

Info

Publication number
CN106649033A
CN106649033A CN201610977802.7A CN201610977802A CN106649033A CN 106649033 A CN106649033 A CN 106649033A CN 201610977802 A CN201610977802 A CN 201610977802A CN 106649033 A CN106649033 A CN 106649033A
Authority
CN
China
Prior art keywords
container
web
normal
service
time interval
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
CN201610977802.7A
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.)
Nubia Technology Co Ltd
Original Assignee
Nubia Technology 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 Nubia Technology Co Ltd filed Critical Nubia Technology Co Ltd
Priority to CN201610977802.7A priority Critical patent/CN106649033A/zh
Publication of CN106649033A publication Critical patent/CN106649033A/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/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/875Monitoring of systems including the internet

Abstract

本发明公开了一种web系统健康状态检查装置,包括:数据库检查模块,用于按照预设时间间隔检查web系统的数据库服务是否正常;容器检查模块,用于按照预设时间间隔检查web系统的容器服务是否正常,其中容器服务是否正常的表征参数包括CPU使用率、内存使用率和/或web容器的可用性;日志生成模块,用于根据数据库检查模块和容器检查模块的检查结果生成对应的检查日志;输出模块,用于当检查结果为异常时,将检查结果为异常时所对应的检查日志输出给运维人员。本发明还公开了一种web系统健康状态检查方法。本发明实现了运维人员及时的了解web系统的健康状态,且运维人员无需对所有的日志进行查找即可知道发生问题时对应的检查日志,可以快速的定位问题。

Description

web系统健康状态检查方法及装置
技术领域
本发明涉及移动通信技术领域,尤其涉及一种web系统健康状态检查方法及装置。
背景技术
随着传统的电信系统业务、以及近几年逐渐普及的互联网和大数据业务的迅速发展,各种产品和业务门户web系统的数量迅速增多,而这些web系统都有一个共同点,即业务量和用户量巨大。这些数量众多的web系统在管理方面逐渐暴露出多方面的问题:现场维护工程师或客户对web系统运行状态、性能变化趋势缺乏必要的监控和运行状况分析手段;web系统在提供服务时,由于种种突发情况,可能造成访问web系统时间过长,以致用户体验不好,而现场维护工程师却不能及时的发现和解决问题;web系统在长时间超负载的运行即将宕机的情况下,现场维护工程师或客户无法在第一时间知道并进行处理,导致web系统发生故障,无法提供服务;当现场维护工程师或客户发现web系统无法提供服务时,通常需要一系列的检查,所以无法快速的定位到故障发生的原因。
目前,在定位web系统的故障或问题时,通常需要借助各种辅助工具来进行,最常用到的辅助工具就是日志,常用的日志有系统日志、运行日志、操作日志、安全日志等。然而运维人员虽然能够从日志中看出一些问题,但是日志只是用于在出现问题后,辅助运维人员查找问题,而不能够帮助运维人员及时的了解web系统的健康状态,且在出现问题时也不能主动通知运维人员。
因此,有必要提供一种web系统健康状态检查方法及装置来解决上述技术问题。
发明内容
本发明的主要目的在于提出一种web系统健康状态检查装置,旨在解决现有技术中通过日志定位问题时,无法及时的发现问题并通知运维人员的技术问题。
为实现上述目的,本发明提供一种web系统健康状态检查装置,应用于web系统,所述web系统健康状态检查装置包括:
数据库检查模块,用于按照预设时间间隔检查所述web系统的数据库服务是否正常;
容器检查模块,用于按照预设时间间隔检查所述web系统的容器服务是否正常,其中所述容器服务是否正常的表征参数包括CPU使用率、内存使用率和/或web容器的可用性;
日志生成模块,用于根据所述数据库检查模块和所述容器检查模块的检查结果生成对应的检查日志,所述检查结果包括正常和异常;
输出模块,用于当检查结果为异常时,将检查结果为异常时所对应的检查日志输出给运维人员。
可选地,当所述容器服务是否正常的表征参数包括CPU使用率时,所述容器检查模块用于:
按照预设时间间隔检查所述CPU使用率是否大于预设CPU使用阈值,若所述CPU使用率大于所述预设CPU使用阈值,则判定检查结果为异常。
可选地,当所述容器服务是否正常的表征参数包括内存使用率时,所述容器检查模块用于:
按照预设时间间隔检查所述内存使用率是否大于预设内存使用阈值,若所述内存使用率大于所述预设内存使用阈值,则判定检查结果为异常。
可选地,当所述容器服务是否正常的表征参数包括web容器的可用性时,所述容器检查模块用于:
按照预设时间间隔向所述web容器发送http请求,根据所述web容器的反馈结果判断所述web容器的可用性;
若所述web容器可用,则判定所述检查结果为正常;
若所述web容器不可用,则重复执行N次按照预设时间间隔向所述web容器发送http请求,根据所述web容器的反馈结果判断所述web容器的可用性的步骤,若N次判断结果均为所述web容器不可用,则判定所述检查结果为异常,其中所述N为自然数。
可选地,所述数据库检查模块用于:
按照预设时间间隔通过JDBC方式与所述数据库建立连接,操作所述数据库服务并根据所述数据库的反馈结果判断所述数据库服务是否正常;
若所述数据库服务正常,则判定所述检查结果为正常;
若所述数据库服务不正常,则重复执行N次按照预设时间间隔通过JDBC方式与所述数据库建立连接,操作所述数据库服务并根据所述数据库的反馈结果判断所述数据库服务是否正常的步骤,若N次判断结果均为所述数据库服务不正常,则判定所述检查结果为异常,其中所述N为自然数。
相较于现有技术,本发明所提出的web系统健康状态检查装置首先按照预设时间间隔检查所述web系统的数据库服务和容器服务是否正常,然后根据检查结果生成对应的检查日志,所述检查结果包括正常和异常,且当检查结果为异常时,将所述检查日志输出给运维人员,从而实现了运维人员及时的了解web系统的健康状态,且运维人员无需对所有的日志进行查找即可知道发生问题时对应的检查日志,可以快速的定位问题。
此外,为实现上述目的,本发明还提供一种web系统健康状态检查方法,应用于web系统,所述web系统健康状态检查方法包括以下步骤:
按照预设时间间隔检查所述web系统的数据库服务和容器服务是否正常,其中所述容器服务是否正常的表征参数包括CPU使用率、内存使用率和/或web容器的可用性;
根据检查结果生成对应的检查日志,所述检查结果包括正常和异常;
当检查结果为异常时,将检查结果为异常时所对应的检查日志输出给运维人员。
可选地,当所述容器服务是否正常的表征参数包括CPU使用率时,所述按照预设时间间隔检查所述web系统的容器服务是否正常的步骤包括:
按照预设时间间隔检查所述CPU使用率是否大于预设CPU使用阈值,若所述CPU使用率大于所述预设CPU使用阈值,则判定检查结果为异常。
可选地,当所述容器服务是否正常的表征参数包括内存使用率时,所述按照预设时间间隔检查所述web系统的容器服务是否正常的步骤包括:
按照预设时间间隔检查所述内存使用率是否大于预设内存使用阈值,若所述内存使用率大于所述预设内存使用阈值,则判定检查结果为异常。
可选地,当所述容器服务是否正常的表征参数包括web容器的可用性时,所述按照预设时间间隔检查所述web系统的容器服务是否正常的步骤包括:
按照预设时间间隔向所述web容器发送http请求,根据所述web容器的反馈结果判断所述web容器的可用性;
若所述web容器可用,则判定所述检查结果为正常;
若所述web容器不可用,则重复执行N次按照预设时间间隔向所述web容器发送http请求,根据所述web容器的反馈结果判断所述web容器的可用性的步骤,若N次判断结果均为所述web容器不可用,则判定所述检查结果为异常,其中所述N为自然数。
可选地,所述按照预设时间间隔检查所述web系统的数据库服务是否正常的步骤包括:
按照预设时间间隔通过JDBC方式与所述数据库建立连接,操作所述数据库服务并根据所述数据库的反馈结果判断所述数据库服务是否正常;
若所述数据库服务正常,则判定所述检查结果为正常;
若所述数据库服务不正常,则
重复执行N次按照预设时间间隔通过JDBC方式与所述数据库建立连接,操作所述数据库服务并根据所述数据库的反馈结果判断所述数据库服务是否正常的步骤,若N次判断结果均为所述数据库服务不正常,则判定所述检查结果为异常,其中所述N为自然数。
相较于现有技术,本发明所提出的web系统健康状态检查方法首先按照预设时间间隔检查所述web系统的数据库服务和容器服务是否正常,然后根据检查结果生成对应的检查日志,所述检查结果包括正常和异常,且当检查结果为异常时,将所述检查日志输出给运维人员,从而实现了运维人员及时的了解web系统的健康状态,且运维人员无需对所有的日志进行查找即可知道发生问题时对应的检查日志,可以快速的定位问题。
附图说明
图1为本发明所述的web系统健康状态检查装置第一实施例的模块示意图;
图2为本发明所述的web系统健康状态检查方法第一实施例的实施流程示意图;
图3为本发明按照预设时间间隔检查所述web系统的数据库服务是否正常时一实施例的实施流程示意图;
图4为当容器服务是否正常的表征参数包括CPU使用率时,按照预设时间间隔检查所述web系统的容器服务是否正常时一实施例的实施流程示意图;
图5为当容器服务是否正常的表征参数包括内存使用率时,按照预设时间间隔检查所述web系统的容器服务是否正常时一实施例的实施流程示意图;
图6为当容器服务是否正常的表征参数包括web容器的可用性时,按照预设时间间隔检查所述web系统的容器服务是否正常时一实施例的实施流程示意图;
图7为本发明设置容器服务是否正常的表征参数时一实施例的用户界面示意图。
附图标记:
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
现在将参考附图描述实现本发明各个实施例的web系统健康状态检查方法及装置。在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身并没有特定的意义。因此,“模块”与“部件”可以混合地使用。
本发明的目的是提供一种web系统健康状态检查方法及装置,用以实现对web系统的运行状态的实时检查。Web(World Wide Web,也称WWW或万维网)是Internet上集文本、声音、动画、视频等多种媒体信息于一身的信息服务系统,整个web系统由Web服务器、浏览器(Browser)及通信协议等3部分组成。Web系统采用的通信协议是超文本传输协议(HTTP,HyperText Transfer Protocol),它可以传输任意类型的数据对象,是Internet发布多媒体信息的主要协议。WWW中的信息资源主要由一篇篇的网页为基本元素构成,所有网页采用超文本标记语言(HTML,HyperText Markup Language)来编写,HTML对Web页的内容、格式及Web页中的超链进行描述。Web页间采用超级文本(HyperText)的格式互相链接。当鼠标的光标移到这些链接上时,光标形状变成一手掌状,点击即可从这一网页跳转到另一网页上,这也就是所谓的超链。
Web服务器是指驻留于因特网上某种类型计算机的程序。当Web浏览器(客户端)连到web服务器上并请求文件时,web服务器将处理该请求并将文件反馈到该浏览器上,附带的信息会告诉浏览器如何查看该文件(即文件类型)。
首先,本发明提出一种web系统健康状态检查装置400,所述web系统健康状态检查装置400适用于任一web系统中。如图1所示,是本发明所述的web系统健康状态检查装置400第一实施例的模块示意图。在本实施例中,所述web系统健康状态检查装置400可以被分割成一个或多个模块,所述一个或多个模块被存储于存储器中,并由一个或多个控制器所执行,以完成本发明。例如,在图1中,所述web系统健康状态检查装置400可以被分割成数据库检查模块401、容器检查模块402、日志生成模块403以及输出模块404。其中本发明所称的模块是指一种能够完成特定功能的一系列计算机程序指令段,比程序更适合于描述所述web系统健康状态检查装置400在执行web系统健康状态检查时的实现过程。以下将就上述各模块401-404的具体功能进行详细描述,首先需要说明的是,本发明中web系统健康状态检查分为两部分:数据库服务检查和容器服务检查,当两者中有一者异常时,则判定检查结果为异常,只有两者均正常时,检查结果才为正常。
所述数据库检查模块401,用于按照预设时间间隔检查所述web系统的数据库服务是否正常。具体的,数据库检查模块401的具体实现过程如下:(1)按照预设时间间隔通过JDBC方式与所述数据库建立连接,操作所述数据库;(2)根据所述数据库的反馈结果判断所述数据库服务是否正常,若所述数据库服务正常,则判定所述检查结果为正常,若所述数据库服务不正常,则判定检查结果为异常。而为了提高检查结果的准确性,当检查到一次数据库服务不正常时,为了验证当前数据库服务确实不正常,可以重复检查多次,只有多次检查到数据库服务都不正常时,才判定数据库服务不正常,检查结果为异常。如:当检查到一次数据库服务不正常时,对检查次数进行计数得到一计数值,然后判断计数值是否大于等于预设检查次数N,若判断结果为是,则判定检查结果为异常,反之则重复执行按照预设时间间隔通过JDBC方式与所述数据库建立连接,操作所述数据库并根据所述数据库的反馈结果判断所述数据库服务是否正常的步骤,直至N次判断结果均为所述数据库不正常时,则判定所述检查结果为异常,其中所述N是根据实际评估确定的自然数,如N的取值为2、3、4等。其中,预设时间间隔也是根据实际评估确定的,如预设时间间隔为3s,当然预设时间间隔的取值还可以为其他数值。JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。简单地说,JDBC可做三件事:与数据库建立连接、发送操作数据库的语句并处理结果。有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。换言之,有了JDBC API,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问Informix数据库又编写另一个程序等等,程序员只需用JDBCAPI写一个程序就够了,它可向相应数据库发送SQL调用。同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言编写一次,处处运行的优势。
所述容器检查模块402,用于按照预设时间间隔检查所述web系统的容器服务是否正常,其中所述容器服务是否正常的表征参数包括CPU使用率、内存使用率和/或web容器的可用性。检查时,只要判断容器服务是否正常的表征参数中有一者为异常,则判定检查结果为异常,只有当容器服务是否正常的所有表征参数均正常时,容器服务检查结果才为正常。需要说明的是,容器服务是否正常的表征参数可以由程序员预先设计,对于不同的web系统,其可以提供一个选择界面,由运维人员选择采用哪些参数来表征容器服务是否正常,如图7所示,用户可以选择容器服务是否正常的表征参数包括CPU使用率、内存使用率以及web容器的可用性,则本发明web系统健康状态检查方法在应用时,会检查CPU使用率、内存使用率以及web容器的可用性这些参数的健康状态。当然,所述容器服务是否正常的表征参数不仅仅可以为以上几种实现形式,其还可以包括其他参数,此处不再一一举例说明。
具体的,当所述容器服务是否正常的表征参数包括CPU使用率时,所述容器检查模块用于:按照预设时间间隔检查所述CPU使用率;判断所述CPU使用率是否大于预设CPU使用阈值,若所述CPU使用率大于所述预设CPU使用阈值,则判定CPU使用率对应的检查结果为异常,其中预设CPU使用阈值是根据数据量以及系统的配置等因素评估得到的一个CPU使用饱和的值,如70%或其他数值。此外,预设时间间隔是根据实际评估确定的,如预设时间间隔的取值3s、4s、5s等,当预设时间间隔为3s时,则每隔3s检查一次CPU使用率。具体的,可以通过操作系统命令sar、ps等命令来读取CPU使用情况,即CPU使用率。
当所述容器服务是否正常的表征参数包括内存使用率时,所述容器检查模块用于:按照预设时间间隔检查所述内存使用率;判断所述内存使用率是否大于预设内存使用阈值,若所述内存使用率大于所述预设内存使用阈值,则判定检查结果为异常。其中,预设内存使用阈值是根据数据量以及系统的配置等因素评估得到的一个内存使用饱和的值,如70%或其他数值;预设时间间隔是根据实际评估确定的,如预设时间间隔的取值3s、4s、5s等,当预设时间间隔为3s时,则每隔3s检查一次内存使用率。具体的,可以通过操作系统命令top、vmstat等命令来读取内存使用情况,如内存使用率。
当所述容器服务是否正常的表征参数包括web容器的可用性时,所述容器检查模块用于:(1)按照预设时间间隔向所述web容器发送http请求;(2)根据所述web容器的反馈结果判断所述web容器的可用性,若所述web容器可用,则判定所述检查结果为正常;若所述web容器不可用,则判定检查结果为异常。而为了提高检查结果的准确性,当检查到一次web容器不可用时,为了验证当前web容器确实不可用,可以重复检查多次,只有多次检查到web容器不可用时,才判定web容器不可用,检查结果为异常。如:当检查到一次web容器不可用时,对检查次数进行计数得到一计数值,然后判断计数值是否大于等于预设检查次数N,若判断结果为是,则判定检查结果为异常,反之则重复执行按照预设时间间隔向所述web容器发送http请求;根据所述web容器的反馈结果判断所述web容器的可用性的步骤,直至N次判断结果均为所述web容器不可用时,则判定所述检查结果为异常,其中所述N是根据实际评估确定的自然数,如N的取值为2、3、4等。其中,预设时间间隔也是根据实际评估确定的,如预设时间间隔为3s,当然预设时间间隔的取值还可以为其他数值。
其中,当所述容器服务是否正常的表征参数包括CPU使用率、内存使用率以及web容器的可用性这三者中的任意两者或多者时,只要判定其中一者异常,则判定检查结果为异常。且数据库服务和容器服务,当两者中有一者异常时,检查结果就为异常。
所述日志生成模块403,用于根据所述数据库检查模块和所述容器检查模块的检查结果生成对应的检查日志,所述检查结果包括正常和异常。具体的,检查结果的对象包括数据库服务检查结果和容器服务检查结果,检查结果的状态包括正常和异常,当检查结果为正常时,只需生成对应的检查日志,而当检测结果为异常时,不仅需要生成对应的检查日志,还需要将检查日志输出给运维人员。对于CPU使用率,当检查到CPU使用率大于CPU预设阈值时,其检查日志包括当时线程、Thread Dump、数据库日志等文件内容。对于内存使用率,当检查到内存使用率大于内存预设阈值时,其检查日志包括当时线程、Thread Dump、数据库日志等文件内容。
所述输出模块404,用于当检查结果为异常时,将检查结果为异常时所对应的检查日志输出给运维人员。如以发送消息或发送邮件的方式通知运维人员,方便运维人员及时的了解web系统的健康状态,且无需查找即可知道发生问题时对应的检查日志,可以快速的定位问题。
通过上述模块401-404,本发明所提出的web系统健康状态检查装置首先按照预设时间间隔检查所述web系统的数据库服务和容器服务是否正常,然后根据检查结果生成对应的检查日志,所述检查结果包括正常和异常,且当检查结果为异常时,将所述检查日志输出给运维人员,从而实现了运维人员及时的了解web系统的健康状态,且运维人员无需对所有的日志进行查找即可知道发生问题时对应的检查日志,可以快速的定位问题。
可选地,本发明提出一种web系统健康状态检查方法,该方法应用于任一web系统中。如图2所示,是本发明所述的web系统健康状态检查方法第一实施例的实施流程图。在本实施例中,根据不同的需求,图2所示的流程图中的步骤的执行顺序可以改变,某些步骤可以省略。
步骤S510,按照预设时间间隔检查所述web系统的数据库服务和容器服务是否正常,其中所述容器服务是否正常的表征参数包括CPU使用率、内存使用率和/或web容器的可用性。具体的,本发明中web系统健康状态检查分为两部分:数据库服务检查和容器服务检查,当两者中有一者异常时,则判定检查结果为异常,只有两者均正常时,检查结果才为正常。而所述容器服务是否正常的表征参数包括CPU使用率、内存使用率以及web容器的可用性中的任意一者、两者或多者,只要容器服务是否正常的表征参数中有一者为异常,则判定检查结果为异常,只有当容器服务是否正常的所有表征参数均正常时,检查结果才为正常。需要说明的是,容器服务是否正常的表征参数可以由程序员预先设计,对于不同的web系统,其可以提供一个选择界面,由运维人员选择采用哪些参数来表征容器服务是否正常,如图7所示,用户可以选择容器服务是否正常的表征参数包括CPU使用率、内存使用率以及web容器的可用性,则本发明web系统健康状态检查方法在应用时,会检查CPU使用率、内存使用率以及web容器的可用性这些参数的健康状态。当然,所述容器服务是否正常的表征参数不仅仅可以为以上几种实现形式,其还可以包括其他参数,此处不再一一举例说明。
请参考图3,图3为步骤S510中按照预设时间间隔检查所述web系统的数据库服务是否正常时一实施例的实施流程示意图。如图3所示,其包括以下步骤:
S610,按照预设时间间隔通过JDBC方式与所述数据库建立连接,操作所述数据库。其中预设时间间隔是根据实际评估确定的,如预设时间间隔的取值为3s、4s、5s等。JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。简单地说,JDBC可做三件事:与数据库建立连接、发送操作数据库的语句并处理结果。有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。换言之,有了JDBC API,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问Informix数据库又编写另一个程序等等,程序员只需用JDBC API写一个程序就够了,它可向相应数据库发送SQL调用。同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言编写一次,处处运行的优势。本发明中通过Shell脚本循环调用Java程序即可完成数据库服务检查。
步骤S620,根据所述数据库的反馈结果判断所述数据库服务是否正常,若判断结果为是,则判定所述检查结果为正常,返回步骤S610,反之,则执行步骤S630。
步骤S630,对检查次数进行计数得到一计数值。即对执行步骤S610-620的执行次数进行计数,当第一次检查到所述数据库服务异常时,计数值为1。
步骤S640,判断计数值是否大于等于预设检查次数N,若判断结果为是,则执行步骤S650,反之返回步骤S610。其中,N是根据实际评估确定的自然数,如N的取值为2、3、4等。当N的取值为3时,则重复3次检查到数据库服务异常时,判定数据库服务检查为异常,检查结果为异常。
步骤S650,判定检查结果为异常。
本实施例中,当检查到一次数据库服务不正常时,为了提高检查结果的准确性,可以重复检查多次(即预设检查次数),只有多次检查到数据库服务都不正常时,才判定检查结果为异常。
请参考图4,图4为当判断容器服务是否正常的表征参数包括CPU使用率时,所述按照预设时间间隔检查所述web系统的容器服务是否正常时一实施例的子流程图。如图4所示,包括以下步骤:
步骤S710,按照预设时间间隔检查所述CPU使用率。其中预设时间间隔是根据实际评估确定的,如预设时间间隔的取值3s、4s、5s等,当预设时间间隔为3s时,则每隔3s检查一次CPU使用率。具体的,可以通过操作系统命令sar、ps等命令来读取CPU使用情况,如内存使用率。
步骤S720,判断所述CPU使用率是否大于预设CPU使用阈值,若判断结果为是,则执行步骤S730,反之重复执行步骤S710。其中,预设CPU使用阈值是根据数据量以及系统的配置等因素评估得到的一个CPU使用饱和的值,如70%或其他数值。
步骤S730,判定检查结果为异常。
请参考图5,图5为当判断容器服务是否正常的表征参数包括内存使用率时,所述按照预设时间间隔检查所述web系统的容器服务是否正常时一实施例的子流程图。如图5所示,包括以下步骤:
步骤S810,按照预设时间间隔检查所述内存使用率。
步骤S820,判断所述内存使用率是否大于预设内存使用阈值,若判断结果为是,则执行步骤S830,反之重复执行步骤S810。其中,预设内存使用阈值是根据数据量以及系统的配置等因素评估得到的一个内存使用饱和的值,如70%或其他数值。
步骤S830,判定检查结果为异常。
请参考图6,图6为当判断容器服务是否正常的表征参数包括web容器的可用性时,所述按照预设时间间隔检查所述web系统的容器服务是否正常时一实施例的子流程图。如图6所示,包括以下步骤:
步骤S910,按照预设时间间隔向所述web容器发送http请求,其中预设时间间隔是根据实际评估确定的,如预设时间间隔的取值为3s、4s、5s等。其中,web容器是一种服务程序,在服务器一个端口就有一个提供相应服务的程序,而这个程序就是处理从客户端发出的请求,如JAVA中的Tomcat容器,ASP的IIS或PWS都是这样的容器,一个服务器可以包括多个web容器。
步骤S920,根据所述web容器的反馈结果判断所述web容器的可用性,若判断结果为web容器可用,则判定所述检查结果为正常,返回步骤S910,若判断结果为web容器不可用,则执行步骤S930。具体的,向所述web容器发送http请求后,如果返回成功则表示web容器服务可用,如果返回失败则表示web容器停止服务。需要说明的是,当判断结果为web容器不可用时,在再次执行步骤S910之前,需要重启服务,然后执行步骤S910。
步骤S930,对检查次数进行计数得到一计数值。即对执行步骤S910-920的执行次数进行计数,当第一次检查到所述web容器不可用时,计数值为1。
步骤S940,判断计数值是否大于等于预设检查次数N,若判断结果为是,则执行步骤S950,反之返回步骤S910。其中,N是根据实际评估确定的自然数,如N的取值为2、3、4等。当N的取值为3时,则重复3次检查到web容器不可用时,判定web容器可用性为异常,检查结果为异常。
步骤S950,判定检查结果为异常。
本实施例中,当检查到一次web容器不可用时,为了提高检查结果的准确性,可以重复检查多次(即预设检查次数),只有多次检查到web容器不可用时,才判定检查结果为异常。
步骤S520,根据检查结果生成对应的检查日志,所述检查结果包括正常和异常。具体的,检查结果的对象包括数据库服务检查结果和容器服务检查结果,检查结果的状态包括正常和异常,当检查结果为正常时,只需生成对应的检查日志,而当检测结果为异常时,不仅需要生成对应的检查日志,还需要将检查日志输出给运维人员。对于CPU使用率,当检查到CPU使用率大于CPU预设阈值时,其检查日志包括当时线程、Thread Dump、数据库日志等文件内容。对于内存使用率,当检查到内存使用率大于内存预设阈值时,其检查日志包括当时线程、Thread Dump、数据库日志等文件内容。
步骤S530,当检查结果为异常时,将检查结果为异常时所对应的检查日志输出给运维人员。如以发送消息或发送邮件的方式通知运维人员,方便运维人员及时的了解web系统的健康状态,且无需查找即可知道发生问题时对应的检查日志,可以快速的定位问题。
通过上述步骤S510-S530,本发明所提出的web系统健康状态检查方法首先按照预设时间间隔检查所述web系统的数据库服务和容器服务是否正常,然后根据检查结果生成对应的检查日志,所述检查结果包括正常和异常,且当检查结果为异常时,将所述检查日志输出给运维人员,从而实现了运维人员及时的了解web系统的健康状态,且运维人员无需对所有的日志进行查找即可知道发生问题时对应的检查日志,可以快速的定位问题。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种web系统健康状态检查装置,应用于web系统,其特征在于,所述web系统健康状态检查装置包括:
数据库检查模块,用于按照预设时间间隔检查所述web系统的数据库服务是否正常;
容器检查模块,用于按照预设时间间隔检查所述web系统的容器服务是否正常,其中所述容器服务是否正常的表征参数包括CPU使用率、内存使用率和/或web容器的可用性;
日志生成模块,用于根据所述数据库检查模块和所述容器检查模块的检查结果生成对应的检查日志,所述检查结果包括正常和异常;
输出模块,用于当检查结果为异常时,将检查结果为异常时所对应的检查日志输出给运维人员。
2.如权利要求1所述的web系统健康状态检查装置,其特征在于,当所述容器服务是否正常的表征参数包括CPU使用率时,所述容器检查模块用于:
按照预设时间间隔检查所述CPU使用率是否大于预设CPU使用阈值,若所述CPU使用率大于所述预设CPU使用阈值,则判定检查结果为异常。
3.如权利要求1所述的web系统健康状态检查装置,其特征在于,当所述容器服务是否正常的表征参数包括内存使用率时,所述容器检查模块用于:
按照预设时间间隔检查所述内存使用率是否大于预设内存使用阈值,若所述内存使用率大于所述预设内存使用阈值,则判定检查结果为异常。
4.如权利要求1所述的web系统健康状态检查装置,其特征在于,当所述容器服务是否正常的表征参数包括web容器的可用性时,所述容器检查模块用于:
按照预设时间间隔向所述web容器发送http请求,根据所述web容器的反馈结果判断所述web容器的可用性;
若所述web容器可用,则判定所述检查结果为正常;
若所述web容器不可用,则重复执行N次按照预设时间间隔向所述web容器发送http请求,根据所述web容器的反馈结果判断所述web容器的可用性的步骤,若N次判断结果均为所述web容器不可用,则判定所述检查结果为异常,其中所述N为自然数。
5.如权利要求1所述的web系统健康状态检查装置,其特征在于,所述数据库检查模块用于:
按照预设时间间隔通过JDBC方式与所述数据库建立连接,操作所述数据库服务并根据所述数据库的反馈结果判断所述数据库服务是否正常;
若所述数据库服务正常,则判定所述检查结果为正常;
若所述数据库服务不正常,则重复执行N次按照预设时间间隔通过JDBC方式与所述数据库建立连接,操作所述数据库服务并根据所述数据库的反馈结果判断所述数据库服务是否正常的步骤,若N次判断结果均为所述数据库服务不正常,则判定所述检查结果为异常,其中所述N为自然数。
6.一种web系统健康状态检查方法,应用于web系统,其特征在于,包括以下步骤:
按照预设时间间隔检查所述web系统的数据库服务和容器服务是否正常,其中所述容器服务是否正常的表征参数包括CPU使用率、内存使用率和/或web容器的可用性;
根据检查结果生成对应的检查日志,所述检查结果包括正常和异常;
当检查结果为异常时,将检查结果为异常时所对应的检查日志输出给运维人员。
7.如权利要求6所述的web系统健康状态检查方法,其特征在于,当所述容器服务是否正常的表征参数包括CPU使用率时,所述按照预设时间间隔检查所述web系统的容器服务是否正常的步骤包括:
按照预设时间间隔检查所述CPU使用率是否大于预设CPU使用阈值,若所述CPU使用率大于所述预设CPU使用阈值,则判定检查结果为异常。
8.如权利要求6所述的web系统健康状态检查方法,其特征在于,当所述容器服务是否正常的表征参数包括内存使用率时,所述按照预设时间间隔检查所述web系统的容器服务是否正常的步骤包括:
按照预设时间间隔检查所述内存使用率是否大于预设内存使用阈值,若所述内存使用率大于所述预设内存使用阈值,则判定检查结果为异常。
9.如权利要求6所述的web系统健康状态检查方法,其特征在于,当所述容器服务是否正常的表征参数包括web容器的可用性时,所述按照预设时间间隔检查所述web系统的容器服务是否正常的步骤包括:
按照预设时间间隔向所述web容器发送http请求,根据所述web容器的反馈结果判断所述web容器的可用性;
若所述web容器可用,则判定所述检查结果为正常;
若所述web容器不可用,则重复执行N次按照预设时间间隔向所述web容器发送http请求,根据所述web容器的反馈结果判断所述web容器的可用性的步骤,若N次判断结果均为所述web容器不可用,则判定所述检查结果为异常,其中所述N为自然数。
10.如权利要求6所述的web系统健康状态检查方法,其特征在于,所述按照预设时间间隔检查所述web系统的数据库服务是否正常的步骤包括:
按照预设时间间隔通过JDBC方式与所述数据库建立连接,操作所述数据库服务并根据所述数据库的反馈结果判断所述数据库服务是否正常;
若所述数据库服务正常,则判定所述检查结果为正常;
若所述数据库服务不正常,则重复执行N次按照预设时间间隔通过JDBC方式与所述数据库建立连接,操作所述数据库服务并根据所述数据库的反馈结果判断所述数据库服务是否正常的步骤,若N次判断结果均为所述数据库服务不正常,则判定所述检查结果为异常,其中所述N为自然数。
CN201610977802.7A 2016-11-08 2016-11-08 web系统健康状态检查方法及装置 Pending CN106649033A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610977802.7A CN106649033A (zh) 2016-11-08 2016-11-08 web系统健康状态检查方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610977802.7A CN106649033A (zh) 2016-11-08 2016-11-08 web系统健康状态检查方法及装置

Publications (1)

Publication Number Publication Date
CN106649033A true CN106649033A (zh) 2017-05-10

Family

ID=58806625

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610977802.7A Pending CN106649033A (zh) 2016-11-08 2016-11-08 web系统健康状态检查方法及装置

Country Status (1)

Country Link
CN (1) CN106649033A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107944575A (zh) * 2017-11-28 2018-04-20 佛山中科芯蔚科技有限公司 一种软件注册码管理程序运行状态的监控方法及系统
CN109445993A (zh) * 2018-11-02 2019-03-08 郑州云海信息技术有限公司 一种文件系统健康状况的检测方法及相关装置
CN109783370A (zh) * 2018-12-25 2019-05-21 努比亚技术有限公司 一种日志抓取方法、终端及计算机可读存储介质
CN110365762A (zh) * 2019-07-10 2019-10-22 腾讯科技(深圳)有限公司 服务处理方法、装置、设备及存储介质
CN110427329A (zh) * 2019-08-13 2019-11-08 杭州有赞科技有限公司 一种数据库sql性能数据的采集方法及系统
CN112445677A (zh) * 2019-09-04 2021-03-05 中国石油化工股份有限公司 一种计算机集群的健康状态检查和修复方法及存储介质
CN113032355A (zh) * 2021-04-06 2021-06-25 上海英方软件股份有限公司 一种Web应用批量收集日志的方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150081400A1 (en) * 2013-09-19 2015-03-19 Infosys Limited Watching ARM
KR20150063868A (ko) * 2013-12-02 2015-06-10 주정한 스마트폰에서 내용복사 시 복사내용을 데이타베이스에 자동저장하는 애플리케이션기술
CN104980524A (zh) * 2015-07-10 2015-10-14 上海新炬网络信息技术有限公司 一种weblogic连接池失效监测方法
CN105204983A (zh) * 2014-06-16 2015-12-30 北京基调网络系统有限公司 Java Web应用性能诊断方法及装置
CN105589787A (zh) * 2015-12-18 2016-05-18 畅捷通信息技术股份有限公司 应用程序的健康检查方法及健康检查系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150081400A1 (en) * 2013-09-19 2015-03-19 Infosys Limited Watching ARM
KR20150063868A (ko) * 2013-12-02 2015-06-10 주정한 스마트폰에서 내용복사 시 복사내용을 데이타베이스에 자동저장하는 애플리케이션기술
CN105204983A (zh) * 2014-06-16 2015-12-30 北京基调网络系统有限公司 Java Web应用性能诊断方法及装置
CN104980524A (zh) * 2015-07-10 2015-10-14 上海新炬网络信息技术有限公司 一种weblogic连接池失效监测方法
CN105589787A (zh) * 2015-12-18 2016-05-18 畅捷通信息技术股份有限公司 应用程序的健康检查方法及健康检查系统

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107944575A (zh) * 2017-11-28 2018-04-20 佛山中科芯蔚科技有限公司 一种软件注册码管理程序运行状态的监控方法及系统
CN109445993A (zh) * 2018-11-02 2019-03-08 郑州云海信息技术有限公司 一种文件系统健康状况的检测方法及相关装置
CN109783370A (zh) * 2018-12-25 2019-05-21 努比亚技术有限公司 一种日志抓取方法、终端及计算机可读存储介质
CN110365762A (zh) * 2019-07-10 2019-10-22 腾讯科技(深圳)有限公司 服务处理方法、装置、设备及存储介质
CN110427329A (zh) * 2019-08-13 2019-11-08 杭州有赞科技有限公司 一种数据库sql性能数据的采集方法及系统
CN110427329B (zh) * 2019-08-13 2023-04-25 杭州有赞科技有限公司 一种数据库sql性能数据的采集方法及系统
CN112445677A (zh) * 2019-09-04 2021-03-05 中国石油化工股份有限公司 一种计算机集群的健康状态检查和修复方法及存储介质
CN113032355A (zh) * 2021-04-06 2021-06-25 上海英方软件股份有限公司 一种Web应用批量收集日志的方法及装置

Similar Documents

Publication Publication Date Title
CN106649033A (zh) web系统健康状态检查方法及装置
CN107645562A (zh) 数据传输处理方法、装置、设备及系统
US9020907B2 (en) Method and system for ranking affinity degree among functional blocks
US8793660B2 (en) Automated testing of programming code for a web service
CN109034993A (zh) 对账方法、设备、系统及计算机可读存储介质
CN108415832A (zh) 接口自动化测试方法、装置、设备及存储介质
US20020032706A1 (en) Method and system for building internet-based applications
CN106888135A (zh) 一种任务状态的查询方法和装置
US20100145978A1 (en) Techniques to provide unified logging services
CN111666296A (zh) 基于Flink的SQL数据实时处理方法、装置、计算机设备和介质
CN110175027A (zh) 一种开发业务功能的方法和装置
CN110780856B (zh) 一种基于微服务的用电数据发布平台
US10986020B2 (en) Reconstructing message flows based on hash values
CN104424287A (zh) 数据查询方法和装置
US7363368B2 (en) System and method for transaction recording and playback
CN107515866A (zh) 一种数据操作方法、装置和系统
CN102662838B (zh) 一种浏览器中Flash的调试方法及系统
CN108243046A (zh) 一种基于数据稽核的业务质量评估方法及装置
CN103944779B (zh) 一种wap业务性能监测方法及系统
CN109299002A (zh) 测试报告的生成方法、计算机可读存储介质及终端设备
CN109597948A (zh) 访问url链接的方法、系统及存储介质
CN106471492A (zh) 索引资源的动作
CN108287876A (zh) 支持多种格式的电能质量数据服务质量检测方法和装置
CN114722789B (zh) 数据报表集成方法、装置、电子设备及存储介质
CN110825538A (zh) 一种基于mq可自定义数据类型动态进行数据交互的方法

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20170510