Nothing Special   »   [go: up one dir, main page]

CN107370806B - Http状态码监控方法、装置、存储介质和电子设备 - Google Patents

Http状态码监控方法、装置、存储介质和电子设备 Download PDF

Info

Publication number
CN107370806B
CN107370806B CN201710567392.3A CN201710567392A CN107370806B CN 107370806 B CN107370806 B CN 107370806B CN 201710567392 A CN201710567392 A CN 201710567392A CN 107370806 B CN107370806 B CN 107370806B
Authority
CN
China
Prior art keywords
preset
http
status code
http status
monitoring method
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
CN201710567392.3A
Other languages
English (en)
Other versions
CN107370806A (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.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information 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 Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201710567392.3A priority Critical patent/CN107370806B/zh
Publication of CN107370806A publication Critical patent/CN107370806A/zh
Application granted granted Critical
Publication of CN107370806B publication Critical patent/CN107370806B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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/14Network analysis or design
    • H04L41/142Network analysis or design using statistical or mathematical methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Pure & Applied Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)

Abstract

本公开是关于一种HTTP状态码监控方法、装置、存储介质和电子设备。该方法包括:网页服务器接收客户端发送的至少一个HTTP请求,响应所述至少一个HTTP请求而生成对应的至少一个HTTP响应;解析判断所述至少一个HTTP响应中是否携带有预设HTTP状态码,若是则根据预设配置文件将所述预设HTTP状态码转发至对应的缓存服务器;其中,所述预设配置文件至少包括不同的预设HTTP状态码与对应的缓存服务器之间的转发路径关系;所述缓存服务器根据所述预设HTTP状态码返回对应的预设页面至所述客户端。本公开在HTTP状态码的采集监控方式上,对于不同的业务类型具有很强的通用性和普适性。

Description

HTTP状态码监控方法、装置、存储介质和电子设备
技术领域
本公开涉及计算机技术领域,尤其涉及一种HTTP(Hyper Text TransferProtocol)状态码监控方法、HTTP状态码监控装置以及实现所述HTTP状态码监控方法的计算机可读存储介质和电子设备。
背景技术
超文本传输协议HTTP状态码是由RFC2616协议规范的,表示网页服务器对用户请求响应状态的3位数字代码。通过对HTTP状态码的监控收集,可以有效监测应用服务的状态。根据业务的不同特性,对于HTTP状态码的分析统计和数据存储目前有多种不同的实现方式。
相关技术中,目前通常的对HTTP状态码的监控方案有两种。一是对网页服务器的日志进行采集从而分析监控HTTP状态码。具体的,网页服务器在完成一个客户端的请求响应后,会记录一条相应的日志,该方案通过收集该日志并分析日志从而达到对HTTP状态码的监控。但是在该方案中,由于不同的业务可能有不同的日志格式,对于不同的日志格式,就需要自定义不同的字段分析方法,因此该方案复杂度略高且在通用性上略差。并且日志作为一个低优先级的旁路功能,一般存储在磁盘介质中,读取磁盘所耗费的时间会略慢,所以处理速度较慢。二是对客户端请求的资源进行相应的统一埋点。当客户端的浏览器执行网页服务器返回的资源时,会触发埋点的预设统计代码分析处理,以将相应的数据传回给接收数据的服务器。由于数据在客户端执行时已经预先分析处理过,故服务器只需要统计即可达到对HTTP状态码的监控。但是该方案中,虽然埋点预先定义了一些统计分析方法,可以节省一些分析统计时间,然而该方案中需要消耗更多的网络传输开销,消耗更多的网络资源,且公网传输具有不确定性,数据的完整性和无差错性无法保证。因此,有必要提供一种新的技术方案改善上述方案中存在的一个或者多个问题。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种HTTP状态码监控方法、HTTP状态码监控装置以及实现所述HTTP状态码监控方法的计算机可读存储介质和电子设备,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的一个或者多个问题。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开实施例的第一方面,提供一种HTTP状态码监控方法,该方法包括:
网页服务器接收客户端发送的至少一个HTTP请求,响应所述至少一个HTTP请求而生成对应的至少一个HTTP响应;
解析判断所述至少一个HTTP响应中是否携带有预设HTTP状态码,若是则根据预设配置文件将所述预设HTTP状态码转发至对应的缓存服务器;其中,所述预设配置文件至少包括不同的预设HTTP状态码与对应的缓存服务器之间的转发路径关系;
所述缓存服务器根据所述预设HTTP状态码返回对应的预设页面至所述客户端。
本公开的一种示例性实施例中,该方法还包括:
将生成的所述至少一个HTTP响应临时存储在所述网页服务器的内存中;
从所述内存中读取所述至少一个HTTP响应并解析判断所述至少一个HTTP响应中是否携带有预设HTTP状态码。
本公开的一种示例性实施例中,该方法还包括:
将所述预设配置文件预先写入所述网页服务器;其中,不同类型的所述网页服务器对应不同的所述预设配置文件。
本公开的一种示例性实施例中,该方法还包括:
解析获取每个所述HTTP请求的头域和对应的HTTP响应的头域中的预设头域信息,并将所述预设头域信息与所述预设HTTP状态码一起转发至对应的缓存服务器。
本公开的一种示例性实施例中,该方法还包括:
所述缓存服务器根据预设字段对所述预设头域信息进行预处理,以将所述预设头域信息中的不同数据按照不同类别分类存储。
本公开的一种示例性实施例中,该方法还包括:
所述缓存服务器根据支持多线程的计数器对所述预设头域信息中的不同数据进行统计。
本公开的一种示例性实施例中,该方法还包括:
在数据统计完后,所述缓存服务器定时将不同统计纬度的数据写入数据库服务器存储;
在所述缓存服务器的预设内存区域执行预设逻辑,以对指定时间的数据进行统计分析形成聚合数据,且在所述聚合数据超过预设阈值时,发送告警提示信息。
根据本公开实施例的第二方面,提供一种HTTP状态码监控装置,该装置包括:
信息接收模块,用于网页服务器接收客户端发送的至少一个HTTP请求,响应所述至少一个HTTP请求而生成对应的至少一个HTTP响应;
解析转发模块,用于解析判断所述至少一个HTTP响应中是否携带有预设HTTP状态码,若是则根据预设配置文件将所述预设HTTP状态码转发至对应的缓存服务器;其中,所述预设配置文件至少包括不同的预设HTTP状态码与对应的缓存服务器之间的转发路径关系;
信息发送模块,用于所述缓存服务器根据所述预设HTTP状态码返回对应的预设页面至所述客户端。
根据本公开实施例的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任意一个实施例中所述HTTP状态码监控方法的步骤。
根据本公开实施例的第四方面,提供一种电子设备,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一个实施例中所述HTTP状态码监控方法的步骤。
本公开的实施例提供的技术方案可以包括以下有益效果:
本公开的一种实施例中,通过上述HTTP状态码监控方法及装置,网页服务器接收客户端发送的HTTP请求,响应所述HTTP请求而生成对应的HTTP响应,之后解析判断所述HTTP响应中是否携带有预设HTTP状态码,若是则根据预设配置文件将所述预设HTTP状态码转发至对应的缓存服务器,并由所述缓存服务器根据所述预设HTTP状态码返回对应的预设页面至所述客户端。这样,一方面,网页服务器是根据预设配置文件来实现对HTTP状态码的采集监控,不同业务类型的网页服务器都可以根据一个统一的预设配置文件实现对HTTP状态码的采集监控,因此在HTTP状态码的采集方式上,不管何种业务,本公开实施例方案相比现有的日志分析方式都有很强的通用性和普适性。另一方面,由于仅需简单设置一预设配置文件来实现监控,减少了技术开发的复杂度以及人力物力成本。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示意性示出本公开示例性实施例中HTTP状态码监控方法流程图;
图2示意性示出本公开示例性实施例中HTTP状态码监控方法流程图;
图3示意性示出本公开示例性实施例中HTTP状态码监控方法流程图;
图4示意性示出本公开示例性实施例中HTTP状态码监控方法流程图;
图5示意性示出本公开示例性实施例中HTTP状态码监控方法流程图;
图6示意性示出本公开示例性实施例中HTTP状态码监控方法应用场景示意图;
图7示意性示出本公开示例性实施例中一种装置示意图;
图8示意性示出本公开示例性实施例中一种计算机可读存储介质示意图;
图9示意性示出本公开示例性实施例中一种电子设备示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
本公开示例实施方式主要是对HTTP状态码采集阶段的优化,采用一种开发简单、易于配置部署的方式达到对HTTP状态码的采集,且在HTTP状态码的采集方式上,不管何种业务,都是有很强的通用性和普适性。本公开示例实施方式中是在网页服务器端响应客户端请求而发出HTTP状态码时转发HTTP状态码信息进行收集分析,而非事后从客户端或日志收集状态码信息。下面结合附图具体说明本公开的示例实施方式。
本公开示例实施方式中首先提供了一种HTTP状态码监控方法,该方法可以应用于一终端设备,例如可以是手机、笔记本电脑、平板电脑、等移动终端,也可以是台式电脑等非移动终端。参考图1中所示,该方法可以包括以下步骤:
步骤S101:网页服务器接收客户端发送的至少一个HTTP请求,响应所述至少一个HTTP请求而生成对应的至少一个HTTP响应。
步骤S102:解析判断所述至少一个HTTP响应中是否携带有预设HTTP状态码,若是则根据预设配置文件将所述预设HTTP状态码转发至对应的缓存服务器;其中,所述预设配置文件至少包括不同的预设HTTP状态码与对应的缓存服务器之间的转发路径关系。
步骤S103:所述缓存服务器根据所述预设HTTP状态码返回对应的预设页面至所述客户端。
通过上述HTTP状态码监控方法,一方面,网页服务器是根据预设配置文件来实现对HTTP状态码的采集监控,不同业务类型的网页服务器都可以根据一个统一的预设配置文件实现对HTTP状态码的采集监控,因此在HTTP状态码的采集方式上,不管何种业务,本公开实施例方案相比现有的日志分析方式都有很强的通用性和普适性。另一方面,由于仅需简单设置一预设配置文件来实现监控,减少了技术开发的复杂度以及人力物力成本。
下面,将参考图1至图6对本示例实施方式中的上述方法的各个步骤进行更详细的说明。
在步骤S101中,网页服务器接收客户端发送的至少一个HTTP请求,响应所述至少一个HTTP请求而生成对应的至少一个HTTP响应。
HTTP协议采用了请求/响应模型。本示例实施方式中,如图6所示,客户端601向网页服务器发送一个HTTP请求,该请求可以包含请求的方法、统一资源定位符URL、协议版本以及请求修饰符、客户信息和内容等等。所述网页服务器是一类响应客户端601发送的HTTP请求并进行处理,返回客户端601响应的应用程序的统称。所述HTTP响应是一种HTTP响应消息,网页服务器接收和处理一个HTTP请求消息后,发出对应的一个HTTP响应消息返回给客户端601。该HTTP响应消息可以包含状态行、状态码、响应头域以及实体信息等等。所述网页服务器可以接收并处理不同的多个客户端发送的HTTP请求。
在步骤S102中,解析判断所述至少一个HTTP响应中是否携带有预设HTTP状态码,若是则根据预设配置文件将所述预设HTTP状态码转发至对应的缓存服务器;其中,所述预设配置文件至少包括不同的预设HTTP状态码与对应的缓存服务器之间的转发路径关系。
本示例实施方式中,所述预设HTTP状态码是预先定义需要转发的HTTP状态码。具体的,由于如下文所述的将客户端的HTTP请求包含的信息进行了转发,故针对该HTTP请求的HTTP响应就不由原网页服务器返回,而是缓存服务器605返回响应,所以不是所有的HTTP请求都能对应转发收集HTTP状态码。本实施例中,正常的用户HTTP请求不能进行转发,所以这里需要定义哪类HTTP状态码才需要进行转发。举例来说,可以是非正常的HTTP状态码才需要进行转发,如状态码404等等。
另外,所述预设配置文件定义了不同的预设HTTP状态码与对应的缓存服务器605之间的转发路径关系。即定义收集HTTP状态码的缓存服务器605,也就是定义转发链路。这样后续收集的头域信息和对应的HTTP状态码可以根据之前定义的转发标准,凡是符合要求的信息都可以转发到后端的缓存服务器605。
所述缓存服务器605是一类把数据存储在内存中并简单处理的应用程序的统称,它主要是为了更加快速的处理海量的数据。它的特点是数据存储在内存中,从而处理和读取更加快速,且存储的数据的结构一般更加原始和简单。
进一步的,在本公开的一种示例性实施例中,该方法还可以包括下述步骤:将所述预设配置文件预先写入所述网页服务器;其中,不同类型的所述网页服务器对应不同的所述预设配置文件。
示例性的,如图6中所示,由于处理不同业务的网页服务器配置不尽相同,例如业务A网页服务器602、业务B网页服务器603和业务C网页服务器604的配置不尽相同,所以可以把实现上述转发功能的配置单独写成一个预设配置文件607并分发到每一台网页服务器上,如分发到业务A网页服务器602、业务B网页服务器603和业务C网页服务器604上。这样,技术开发简单,易于配置部署,处理不同业务的网页服务器配置时只需要加载同一个配置文件即可实现以上功能,可以达到很好的通用性和普适性。另外,处理不同业务的同类型网页服务器可以采用同一个配置文件。但不同类型的网页服务器,由于配置文件的语法的不同,配置文件是不一样的。本实施例中,由于网页服务器是根据预设配置文件607来实现对HTTP状态码的采集监控,不同业务类型的网页服务器都可以根据一个统一的预设配置文件607实现对HTTP状态码的采集监控,因此在HTTP状态码的采集方式上,不管何种业务,本公开实施例方案相比现有的日志分析方式都有很强的通用性和普适性。
参考图2中所示,为了提高处理速度,在上述实施例基础上,本公开的一种示例性实施例中,该方法还可以包括以下步骤:
步骤S201:将生成的所述至少一个HTTP响应临时存储在所述网页服务器的内存中。
示例性的,收集客户端601的HTTP请求实体头域或者网页服务器的HTTP响应的实体头域。所有无论是属于请求还是响应的头域信息均临时保存在网页服务器的内存区域中。
步骤S202:从所述内存中读取所述至少一个HTTP响应并解析判断所述至少一个HTTP响应中是否携带有预设HTTP状态码。
示例性的,通过网页服务器本身的变量可以读取到以上这些信息如HTTP响应的头域信息。对于网页服务器,在启动时就常驻于内存中,所以在不需要返回文件资源的情况下,不会去读取磁盘。所以读取判断后HTTP状态码的转发全在内存中完成(头域信息是元数据,不涉及文件资源),使得性能大幅提升,也提高了处理速度。另外由于只针对非正常的HTTP状态码进行转发,对于网页服务器的资源开销影响非常有限。
参考图3中所示,进一步的,在本公开的一种示例性实施例中,该方法还可以包括以下步骤:
步骤S301:解析获取每个所述HTTP请求的头域和对应的HTTP响应的头域中的预设头域信息。
示例性的,HTTP状态码是网页服务器HTTP响应实体头域中的一部分,响应实体要返回给客户端601。所以网页服务器本身可以知道每一个客户端请求的实体和对应的响应实体。由于无论何种网页服务器均自带基于HTTP协议的转发功能和自定义变量功能。因此可以把每一个客户端请求与对应的响应的头域信息设置成自定义的头域变量,转发给后端的缓存服务器605。
步骤S302:将所述预设头域信息与所述预设HTTP状态码一起转发至对应的缓存服务器。也即实现HTTP状态码以及对应头域信息的收集存储。
进一步的,为了对HTTP状态码对应信息进行存储,参考图4中所示,在本公开的一种示例性实施例中,该方法还可以包括下述步骤:
步骤S401:所述缓存服务器根据预设字段对所述预设头域信息进行预处理,以将所述预设头域信息中的不同数据按照不同类别分类存储。
示例性的,当头域信息转发到缓存服务器605后,缓存服务器605会根据自定义的变量字段进行预处理(如分割字段、识别字段)从而将数据分别存储到指定类别。所述变量字段可以是之前在网页服务器配置时自定义的变量字段,如在所述预设配置文件中定义的变量字段。
进一步的,为了对HTTP状态码对应信息进行统计,在本公开的一种示例性实施例中,该方法还可以包括以下步骤:所述缓存服务器根据支持多线程的计数器对所述预设头域信息中的不同数据进行统计。
示例性的,当上述数据根据自定义要求存储到缓存服务器605的内存中后,就需要对数据进行进一步的分析和统计。这里需要用到计数器,计数器是指根据不用的统计要求,对符合要求的数据进行自动累加。目前主流的缓存服务器均自带计数器功能,但数据结构必须是键-值类型,即统计方法为键,接收到的数据为值,最后值的条目会自动累加返回。
本实施例中,在数据量巨大的情况下为了提高处理速度,计数器支持多线程,以达到快速处理数据并保证数据的一致性。另外,由于存在不同的场景可能存在正常的非法请求比如安全扫描请求,如果出现这种情况,就需要白名单功能,这可以使用正则表达式过滤指定的非法请求,以达到排除数据样本,防止影响真实的客户端统计样本。
参考图5中所示,在上述实施例的基础上,本公开的一种示例性实施例中,该方法还可以包括以下步骤:
步骤S501:在数据统计完后,所述缓存服务器定时将不同统计纬度的数据写入数据库服务器存储。
示例性的,结合参考图6所示,当数据统计处理完毕后,可以通过定时器功能定时把不同统计纬度的数据存储至数据库服务器606,由于缓存服务器605是在内存中运行,故执行速度很快,而数据库服务器606主要读写磁盘,双方处理速度有差值,为了提高统计分析速度,对于写入数据库服务器606的数据要延迟、定时写入,而且写入数据库服务器606的逻辑要与下述统计分析逻辑分离。
步骤S502:在所述缓存服务器的预设内存区域执行预设逻辑,以对指定时间的数据进行统计分析形成聚合数据,且在所述聚合数据超过预设阈值时,发送告警提示信息。
示例性的,当数据统计处理完毕后,通过定时器功能定时根据指定的时间纬度另外进行聚合数据的累加,如果累加的数值超过告警的阈值,即发送告警提示信息。由于缓存服务器605在内存中的数据为键-值型数据,没有时间单位,故需要定时器单独执行逻辑:单独开辟一块内存区域即所述预设内存区域,单独计数并在完成聚合数据累加后置空,以防止影响下一个时间单位的统计和污染存储至数据库服务器606的累加数据。本实施例中把根据不同统计纬度的聚合数据存储至数据库服务器606,并对符合告警要求的聚合数据发送告警。且所述定时器在指定单位时间的频次上,执行以上两个独立处理逻辑。
在步骤S103中,所述缓存服务器根据所述预设HTTP状态码返回对应的预设页面至所述客户端。
示例性的,由于网页服务器通过转发不再响应客户端的请求,所以缓存服务器605还需要向客户端返回一个预设页面如资源页面,如告知客户端访问出现了何种问题并引导客户端去请求一个正确的资源等,这样不但及时监控到了HTTP状态码的信息还优化了用户体验和简化了不同业务间对于错误处理的开发工作。
本公开示例实施方式可以对客户端HTTP请求以及HTTP响应的头域信息进行转发和数据分析收集,并有配置功能以实现统一的响应资源转发返回,可以过滤对指定头域信息的统计分析、针对头域信息的累加数值达到指定阈值发送告警的功能。本公开使用一种开发简单、易于配置部署的方式达到对HTTP状态码的采集、分析和告警功能等,从而可以在更多角度发现应用程序的问题。另外,本公开相对于目前主流的HTTP状态码的数据采集方法而言,在数据的可靠性、处理速度、资源开销和通用性上做了较好的优化和平衡。
需要说明的是,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。另外,也易于理解的是,这些步骤可以是例如在多个模块/进程/线程中同步或异步执行。
进一步的,本示例实施方式中,还提供了一种HTTP状态码监控装置。参考图7中所示,装置700可以包括信息接收模块701、解析转发模块702和信息发送模块703。其中:
所述信息接收模块701,用于网页服务器接收客户端发送的至少一个HTTP请求,响应所述至少一个HTTP请求而生成对应的至少一个HTTP响应。
所述解析转发模块702,用于解析判断所述至少一个HTTP响应中是否携带有预设HTTP状态码,若是则根据预设配置文件将所述预设HTTP状态码转发至对应的缓存服务器;其中,所述预设配置文件至少包括不同的预设HTTP状态码与对应的缓存服务器之间的转发路径关系。
所述信息发送模块703,用于所述缓存服务器根据所述预设HTTP状态码返回对应的预设页面至所述客户端。
在本公开的一种示例性实施例中,该装置700还可以包括信息存取模块,用于将生成的所述至少一个HTTP响应临时存储在所述网页服务器的内存中;以及从所述内存中读取所述至少一个HTTP响应并解析判断所述至少一个HTTP响应中是否携带有预设HTTP状态码。
在本公开的一种示例性实施例中,该装置700还可以包括文件配置模块,用于将所述预设配置文件预先写入所述网页服务器;其中,不同类型的所述网页服务器对应不同的所述预设配置文件。
在本公开的一种示例性实施例中,该装置700还可以包括信息解析模块,用于解析获取每个所述HTTP请求的头域和对应的HTTP响应的头域中的预设头域信息,并将所述预设头域信息与所述预设HTTP状态码一起转发至对应的缓存服务器。
在本公开的一种示例性实施例中,该装置700还可以包括预处理模块,用于使所述缓存服务器根据预设字段对所述预设头域信息进行预处理,以将所述预设头域信息中的不同数据按照不同类别分类存储。
进一步的,在本公开的一种示例性实施例中,该装置700还可以包括数据统计模块,用于使所述缓存服务器根据支持多线程的计数器对所述预设头域信息中的不同数据进行统计。
再进一步的,在本公开的一种示例性实施例中,该装置700还可以包括数据分析模块,用于在数据统计完后,所述缓存服务器定时将不同统计纬度的数据写入数据库服务器存储;在所述缓存服务器的预设内存区域执行预设逻辑,以对指定时间的数据进行统计分析形成聚合数据,且在所述聚合数据超过预设阈值时,发送告警提示信息。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。作为模块或单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现木公开方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被例如处理器执行时可以实现上述任意一个实施例中所述HTTP状态码监控方法的步骤。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述HTTP状态码监控方法部分中描述的根据本发明各种示例性实施方式的步骤。
参考图8所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品800,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
在本公开的示例性实施例中,还提供一种电子设备,该电子设备可以包括处理器,以及用于存储所述处理器的可执行指令的存储器。其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一个实施例中所述HTTP状态码监控方法的步骤。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
下面参照图9来描述根据本发明的这种实施方式的电子设备600。图9显示的电子设备600仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图9所示,电子设备600以通用计算设备的形式表现。电子设备600的组件可以包括但不限于:至少一个处理单元610、至少一个存储单元620、连接不同系统组件(包括存储单元620和处理单元610)的总线630、显示单元640等。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元610执行,使得所述处理单元610执行本说明书上述HTTP状态码监控方法部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元610可以执行如图1中所示的步骤。
所述存储单元620可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)6201和/或高速缓存存储单元6202,还可以进一步包括只读存储单元(ROM)6203。
所述存储单元620还可以包括具有一组(至少一个)程序模块6205的程序/实用工具6204,这样的程序模块6205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线630可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备600也可以与一个或多个外部设备900(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备600交互的设备通信,和/或与使得该电子设备600能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口650进行。并且,电子设备600还可以通过网络适配器660与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器660可以通过总线630与电子设备600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本公开实施方式的上述HTTP状态码监控方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由所附的权利要求指出。

Claims (10)

1.一种HTTP状态码监控方法,其特征在于,该方法包括:
网页服务器接收客户端发送的至少一个HTTP请求,响应所述至少一个HTTP请求而生成对应的至少一个HTTP响应;
解析判断所述至少一个HTTP响应中是否携带有预设HTTP状态码,若是则根据预设配置文件将所述预设HTTP状态码转发至对应的缓存服务器;其中,所述预设HTTP状态码是预先定义需要转发的HTTP状态码,所述预设配置文件至少包括不同的预设HTTP状态码与对应的缓存服务器之间的转发路径关系;
所述缓存服务器根据所述预设HTTP状态码返回对应的预设页面至所述客户端。
2.根据权利要求1所述HTTP状态码监控方法,其特征在于,该方法还包括:
将生成的所述至少一个HTTP响应临时存储在所述网页服务器的内存中;
从所述内存中读取所述至少一个HTTP响应并解析判断所述至少一个HTTP响应中是否携带有预设HTTP状态码。
3.根据权利要求1所述HTTP状态码监控方法,其特征在于,该方法还包括:
将所述预设配置文件预先写入所述网页服务器;其中,不同类型的所述网页服务器对应不同的所述预设配置文件。
4.根据权利要求1~3任一项所述HTTP状态码监控方法,其特征在于,该方法还包括:
解析获取每个所述HTTP请求的头域和对应的HTTP响应的头域中的预设头域信息,并将所述预设头域信息与所述预设HTTP状态码一起转发至对应的缓存服务器。
5.根据权利要求4所述HTTP状态码监控方法,其特征在于,该方法还包括:
所述缓存服务器根据预设字段对所述预设头域信息进行预处理,以将所述预设头域信息中的不同数据按照不同类别分类存储。
6.根据权利要求5所述HTTP状态码监控方法,其特征在于,该方法还包括:
所述缓存服务器根据支持多线程的计数器对所述预设头域信息中的不同数据进行统计。
7.根据权利要求6所述HTTP状态码监控方法,其特征在于,该方法还包括:
在数据统计完后,所述缓存服务器定时将不同统计纬度的数据写入数据库服务器存储;
在所述缓存服务器的预设内存区域执行预设逻辑,以对指定时间的数据进行统计分析形成聚合数据,且在所述聚合数据超过预设阈值时,发送告警提示信息。
8.一种HTTP状态码监控装置,其特征在于,该装置包括:
信息接收模块,用于网页服务器接收客户端发送的至少一个HTTP请求,响应所述至少一个HTTP请求而生成对应的至少一个HTTP响应;
解析转发模块,用于解析判断所述至少一个HTTP响应中是否携带有预设HTTP状态码,若是则根据预设配置文件将所述预设HTTP状态码转发至对应的缓存服务器;其中,所述预设配置文件至少包括不同的预设HTTP状态码与对应的缓存服务器之间的转发路径关系;
信息发送模块,用于所述缓存服务器根据所述预设HTTP状态码返回对应的预设页面至所述客户端。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1~7任一项所述HTTP状态码监控方法的步骤。
10.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1~7任一项所述HTTP状态码监控方法的步骤。
CN201710567392.3A 2017-07-12 2017-07-12 Http状态码监控方法、装置、存储介质和电子设备 Active CN107370806B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710567392.3A CN107370806B (zh) 2017-07-12 2017-07-12 Http状态码监控方法、装置、存储介质和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710567392.3A CN107370806B (zh) 2017-07-12 2017-07-12 Http状态码监控方法、装置、存储介质和电子设备

Publications (2)

Publication Number Publication Date
CN107370806A CN107370806A (zh) 2017-11-21
CN107370806B true CN107370806B (zh) 2020-11-24

Family

ID=60306697

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710567392.3A Active CN107370806B (zh) 2017-07-12 2017-07-12 Http状态码监控方法、装置、存储介质和电子设备

Country Status (1)

Country Link
CN (1) CN107370806B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109408751B (zh) * 2018-09-27 2022-08-30 腾讯科技(成都)有限公司 一种数据处理方法、终端、服务器及存储介质
CN109547282B (zh) * 2018-10-22 2022-04-12 中国平安人寿保险股份有限公司 过载保护方法、装置、计算机可读存储介质及服务器
CN109831536B (zh) * 2019-03-22 2021-05-18 成都律图科技有限公司 一种前端负载均衡服务降级系统及方法
CN110166530B (zh) * 2019-04-17 2023-02-03 平安普惠企业管理有限公司 基于微服务返回值的处理方法、电子装置及计算机设备
CN111044268A (zh) * 2019-12-02 2020-04-21 北京天元创新科技有限公司 一种监控光纤通断状态的方法及装置
CN111708963B (zh) * 2020-05-22 2023-09-29 北京百度网讯科技有限公司 页面请求的处理方法、装置、电子设备和存储介质
CN112188245B (zh) * 2020-09-30 2022-07-12 武汉中科通达高新技术股份有限公司 一种前端摄像头实时视频点播方法及装置、电子设备
CN112188242B (zh) * 2020-09-30 2022-07-12 武汉中科通达高新技术股份有限公司 一种前端摄像头实时视频点播方法及装置、电子设备
CN112188244B (zh) * 2020-09-30 2022-07-12 武汉中科通达高新技术股份有限公司 一种前端摄像头实时视频点播方法及装置、电子设备
CN112188243B (zh) * 2020-09-30 2022-07-12 武汉中科通达高新技术股份有限公司 一种前端摄像头实时视频点播方法及装置、电子设备
CN113433819B (zh) * 2021-06-09 2022-05-10 浙江中控技术股份有限公司 一种系统辨识方法和计算机设备
CN114138753A (zh) * 2021-12-07 2022-03-04 深圳创维数字技术有限公司 数据处理压力的调控方法、装置及计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103297291A (zh) * 2013-05-08 2013-09-11 携程计算机技术(上海)有限公司 网站实时状态监控方法及系统
CN106357480A (zh) * 2016-11-23 2017-01-25 北京蓝海讯通科技股份有限公司 监测应用的网络性能的方法、装置及移动终端
CN106453669A (zh) * 2016-12-27 2017-02-22 Tcl集团股份有限公司 一种负载均衡方法及一种服务器

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102413141B (zh) * 2011-11-30 2014-10-08 华为技术有限公司 网络消息解析方法及通信设备
CN102904940A (zh) * 2012-09-27 2013-01-30 杭州迪普科技有限公司 一种Web服务器识别的方法及装置
CN103729477A (zh) * 2014-01-26 2014-04-16 飞狐信息技术(天津)有限公司 一种网页数据格式检测方法及装置
KR102275179B1 (ko) * 2015-04-24 2021-07-08 에스케이플래닛 주식회사 클라우드 스트리밍 서비스 기반의 웹 서버 모니터링 방법 및 이를 위한 장치
CN106649531A (zh) * 2016-10-24 2017-05-10 福建中金在线信息科技有限公司 一种网页检测方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103297291A (zh) * 2013-05-08 2013-09-11 携程计算机技术(上海)有限公司 网站实时状态监控方法及系统
CN106357480A (zh) * 2016-11-23 2017-01-25 北京蓝海讯通科技股份有限公司 监测应用的网络性能的方法、装置及移动终端
CN106453669A (zh) * 2016-12-27 2017-02-22 Tcl集团股份有限公司 一种负载均衡方法及一种服务器

Also Published As

Publication number Publication date
CN107370806A (zh) 2017-11-21

Similar Documents

Publication Publication Date Title
CN107370806B (zh) Http状态码监控方法、装置、存储介质和电子设备
CN111124819B (zh) 全链路监控的方法和装置
US9516091B2 (en) Web page script management
CN107480277B (zh) 用于网站日志采集的方法及装置
CN109408105A (zh) 用户行为数据的采集方法、装置、计算装置和存储介质
CN108334641B (zh) 采集用户行为数据的方法、系统、电子设备、存储介质
CN111309550A (zh) 应用程序的数据采集方法、系统、设备和存储介质
CN110928934A (zh) 一种用于业务分析的数据处理方法和装置
CN109271359A (zh) 日志信息处理方法、装置、电子设备及可读存储介质
CN109039787A (zh) 日志处理方法、装置及大数据集群
JP6324534B2 (ja) プロモーション状況データの監視方法、装置、デバイス及び非発揮性コンピューター記憶媒体
CN110851471A (zh) 分布式日志数据处理方法、装置以及系统
CN110650126A (zh) 一种防网站流量攻击方法、装置以及智能终端、存储介质
CN111552613A (zh) 线程超时的处理方法、装置以及电子设备
CN112631879A (zh) 数据采集方法、装置、计算机可读介质及电子设备
CN110493250A (zh) 一种web前端arcgis资源请求处理方法及装置
CN111245880A (zh) 基于行为轨迹重建的用户体验监控方法及装置
CN113794719A (zh) 一种基于Elasticsearch技术网络异常流量分析方法、装置和电子设备
CN111930385A (zh) 数据采集方法、装置、设备及存储介质
CN112241355A (zh) 链路追踪方法、系统、计算机可读存储介质及电子设备
CN117560277A (zh) 日志处理方法和系统、日志管理平台及电子设备
CN108959041B (zh) 信息发送的方法、服务器及计算机可读存储介质
CN117271584A (zh) 数据处理方法及装置、计算机可读存储介质和电子设备
CN115202973A (zh) 应用运行状态的确定方法、装置、电子设备和介质
CN111698109A (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