一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

网站实时监控方法、系统、设备及存储介质与流程

2021-12-14 21:06:00 来源:中国专利 TAG:


1.本发明涉及网站监控技术领域,尤其涉及一种网站实时监控方法、系统、设备及存储介质。


背景技术:

2.现有网站监控系统大多数采用web服务调用业务逻辑实现,调用成功和失败的结果都上报到监控服务器,并且设置监控阈值,在被监控参数低于监控阈值时发出告警。例如,对于一些重要的网站服务,在网站监控系统的监控服务器设置请求次数监控,如果请求次数超出监控阈值,或者如果在设定时间内web服务器没有上报数据到监控服务器,则进行告警。
3.在问题解决的过程中,需要运维人员凭借开发和运维经验来人为判断系统可能在什么时候经由什么操作导致报警,需要在项目中嵌入代码来保证网站监控系统能够正常的报警,造成系统臃肿,并且只有在报警时才能够采取应对策略,应对时机较晚。
4.对网页监控比较成熟的技术是定时监控,即由用户设定间隔时间,网站监控系统按时对需监控的网页文件轮询一遍,来判断文件是否被非法删除或篡改。若发现,立即用备份盘上的备份文件进行恢复。这样的监控存在一个缺陷:被非法删除或篡改的网页不能得到及时的恢复。
5.此外,现有的网站监控方法比较单一,并且一般通过邮件通知。在需要告警时,一般通过发邮件通知运维人员,邮件通知的实时性较差,可能会影响报警问题的及时解决。并且解决报警问题所花的时间也完全是由开发人员决定的,可能无法满足需求。


技术实现要素:

6.针对现有技术中的问题,本发明的目的在于提供一种网站实时监控方法、系统、设备及存储介质,实时监控网站状态,并在异常时及时报警。
7.本发明实施例提供一种网站实时监控方法,包括如下步骤:
8.基于预设间隔时间定时获取被监控网站的网页状态码并记录;
9.根据记录的网页状态码判断当前获取到的被监控网站的网页状态是否为网页异常;
10.如果是网页异常,则将累计的网页异常次数加一,并判断累计的网页异常次数是否大于等于第一阈值;
11.如果累计的网页异常次数大于等于第一阈值,则确定网站访问失败;
12.如果网站访问失败,则根据网站访问失败次数判断是否需要报警;
13.如果需要报警,则将网站访问失败通知发送至所述被监控网站所对应的异常处理终端。
14.在一些实施例中,所述确定网站访问失败后,将累计的网站访问失败次数加一,所述根据网站访问失败次数判断是否需要报警,包括如下步骤:
15.判断累计的网站访问失败次数是否大于等于第二阈值;
16.如果累计的网站访问失败次数大于等于第二阈值,则确定当前需要报警。
17.在一些实施例中,所述判断当前获取到的被监控网站的网页状态是否为网页异常之后,还包括如下步骤:
18.如果网页正常,则将累计的网页异常次数清零,并将累计的网站访问失败次数清零。
19.在一些实施例中,所述判断当前获取到的被监控网站的网页状态是否为网页异常之后,还包括如下步骤:
20.如果网页正常,判断当前所述被监控网站是否有运维任务,如果是,则发送网站恢复正常通知至所述被监控网站所对应的异常处理终端。
21.在一些实施例中,如果需要报警,还包括如下步骤:
22.判断距离上次发送网站访问失败通知的时间距离当前时间的时间差是否大于等于第三阈值,且当前时间是否处于预设的运维时间范围内;
23.如果是,则将网站访问失败通知发送至所述被监控网站所对应的异常处理终端。
24.在一些实施例中,采用prometheus通过http协议周期性获取被监控网站的网页状态码并记录。
25.在一些实施例中,所述基于预设间隔时间定时获取被监控网站的网页状态,包括如下步骤:
26.根据指定的网站服务器、服务器的tcp端口或网址发现被监控网站;
27.基于预设间隔时间定时从被监控网站中获取网页状态。
28.在一些实施例中,所述将网站访问失败通知发送至所述被监控网站所对应的异常处理终端,包括将网站访问失败通知通过短信发送至所述被监控网站所对应的异常处理终端。
29.本发明实施例还提供一种网站实时监控系统,用于实现所述的网站实时监控方法,所述系统包括:
30.状态获取模块,用于基于预设间隔时间定时获取被监控网站的网页状态码并记录;
31.失败判断模块,用于根据记录的网页状态码判断当前获取到的被监控网站的网页状态是否为网页异常;如果是网页异常,则将累计的网页异常次数加一,并判断累计的网页异常次数是否大于等于第一阈值;如果累计的网页异常次数大于等于第一阈值,则确定网站访问失败;
32.报警判断模块,用于如果网站访问失败,则根据网站访问失败次数判断是否需要报警;
33.失败通知模块,用于如果需要报警,则将网站访问失败通知发送至所述被监控网站所对应的异常处理终端。
34.本发明实施例还提供一种网站实时监控设备,包括:
35.处理器;
36.存储器,其中存储有所述处理器的可执行指令;
37.其中,所述处理器配置为经由执行所述可执行指令来执行所述的网站实时监控方
法的步骤。
38.本发明实施例还提供一种计算机可读存储介质,用于存储程序,所述程序被执行时实现所述的网站实时监控方法的步骤。
39.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
40.本发明的网站实时监控方法、系统、设备及存储介质具有如下有益效果:
41.本发明通过实时获取并监控网站状态,自动判断网站运行是否正常,并且在发生访问失败且失败次数达到一定数量时自动通知异常处理终端及时处理,可以实现对网站的24小时全天候实时监控和及时报警处理,保障网站的正常访问。
附图说明
42.通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显。
43.图1是本发明一实施例的网站实时监控方法的流程图;
44.图2是本发明一实施例的判断是否需要报警的详细流程图;
45.图3是本发明一实施例的网站实时监控系统的结构示意图;
46.图4是本发明一实施例的网站实时监控设备的结构示意图;
47.图5是本发明一实施例的计算机可读存储介质的结构示意图。
具体实施方式
48.现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
49.此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
50.如图1所示,本发明实施例提供一种网站实时监控方法,包括如下步骤:
51.s100:基于预设间隔时间定时获取被监控网站的网页状态码并记录;
52.s200:根据记录的网页状态码判断当前获取到的被监控网站的网页状态是否为网页异常,例如网页状态的状态码为200时,网页状态正常,如果网页状态的状态码为其他数值时,网页异常,例如状态码是504时,表示服务器异常,状态码是404时,表示静态资源异常等;
53.s300:如果是网页异常,则将累计的网页异常次数加一,并判断累计的网页异常次数是否大于等于第一阈值;此处第一阈值的数值可以根据需要设定,例如设定为5,但本发明不限于此,其他实施方式中,第一阈值也可以设置为3、4、6等数值,均属于本发明的保护范围之内;
54.s400:如果累计的网页异常次数大于等于第一阈值,则确定网站访问失败
55.s500:如果网站访问失败,则根据网站访问失败次数判断是否需要报警;
56.s600:如果需要报警,则将网站访问失败通知发送至所述被监控网站所对应的异常处理终端。
57.此处,所述异常处理终端可以是与所述被监控网站所关联的运维人员终端。在需要将网站访问失败通知发送至所述被监控网站所对应的异常处理终端时,可以首先查询网站与运维人员通信信息的映射表,获取所述被监控网站的运维人员通信信息,将网站访问失败通知发送至所述运维人员通信信息所对应的运维人员终端。此处运维人员终端可以是运维人员用来接收消息的手机、平板电脑、笔记本电脑等。对应地,所述运维人员通信信息可以包括手机号、邮箱地址等。在发送网站访问失败通知时可以通过短信或邮箱发送。其中,短信可以比邮箱具有更好的实时性,方便运维人员第一时间发现问题和处理问题。
58.本发明通过步骤s100实时获取并监控网站状态,其中,预设间隔时间的时间长度可以根据需要选择设定,在设定得较小时,可以加强对网站监控的强度,通过步骤s200~s500自动判断网站运行是否正常,并且在发生访问失败且失败次数达到一定数量时通过步骤s600自动通知异常处理终端及时处理,可以实现对网站的24小时全天候实时监控和及时报警处理,保障网站的正常访问。
59.在该实施例中,所述步骤s100中,采用prometheus通过http协议周期性获取被监控网站的网页状态码并记录。可以设定监控周期,例如设定每五分钟开始一次调度。
60.在该实施例中,所述基于预设间隔时间定时获取被监控网站的网页状态,包括如下步骤:
61.根据指定的网站服务器、服务器的tcp端口或url网址发现被监控网站;
62.基于预设间隔时间定时从被监控网站中获取网页状态码。
63.prometheus是由soundcloud开发的开源监控报警系统和时序列数据库。prometheus的基本原理是通过http(hypertext transfer protocol,超文本传输协议)协议周期性抓取被监控组件的状态,任意组件只要提供对应的http接口就可以接入监控状态。不需要任何sdk(software development kit,软件开发工具包)或者其他的集成过程。由于,与现有技术相比,无需在网站监控系统中集成大量的代码,避免系统臃肿。这样做非常适合做虚拟化环境监控系统,比如vm docker k8s等。输出被监控组件信息的http接口被叫做exporter。目前互联网公司常用的组件大部分都有exporter可以直接使用,比如vmrnish、haproxy、nginx、mysql、linux系统信息(包括磁盘、内存、cpu、网络等)。
64.在应用prometheus进行网站状态监控时,prometheusdaemon负责定时去目标上抓取metrics(指标)数据。每个抓取目标需要暴露一个http服务的接口,以被定时抓取。prometheus支持通过配置文件、文本文件、zookeeper、consul、dns srv lookup等方式指定抓取目标。prometheus采用pull的方式进行监控,即服务器可以直接通过目标pull数据或者间接地通过中间网关来push数据。
65.prometheus在本地存储抓取的所有数据,并通过一定规则进行清理和整理数据,并把得到的结果存储到新的时间序列中。
66.prometheus通过promql和其他api可视化地展示收集的数据。prometheus支持很多方式的图标可视化,例如grafana、自带的prometheus以及自身提供的模板引擎等等。
prometheus可以提供http api(application programming interface,应用程序编程接口)的查询方式,自定义所需要的输出。pushgateway支持client主动推送metrics pushgateway,而prometheus只是定时去gateway上抓取数据。aletmanager是独立于prometheus的一个组件,可以支持prometheus的查询语句,提供十分灵活的报警方式。
67.如图2所示,在步骤s300之后,如果累计的网页异常次数小于第一阈值,则无需将累计的网站访问失败次数加一,继续返回步骤s100,继续下一时刻的扫描监控。
68.如图2所示,在该实施例中,所述步骤s400:确定网站访问失败后,将累计的网站访问失败次数加一,所述步骤s500:根据网站访问失败次数判断是否需要报警,包括如下步骤:
69.s510:判断累计的网站访问失败次数是否大于等于第二阈值,第二阈值的数值可以根据需要设定,例如设定为2,但本发明不限于此,其他实施方式中,第二阈值也可以设置为3、4、5等数值,均属于本发明的保护范围之内;此外,第二阈值设定为1也是可以的,即检测到网站访问失败即进行报警;
70.如果累计的网站访问失败次数大于等于第二阈值,则确定当前需要报警,继续步骤s600;
71.如果累计的网站访问失败次数小于第二阈值,则更新记录的网站信息,然后继续下一个网站的扫描监控。
72.在该实施例中,进一步地,所述步骤s200:判断当前获取到的被监控网站的网页状态是否为网页异常之后,还包括如下步骤:
73.如果网页正常,则将累计的网页异常次数清零,并将累计的网站访问失败次数清零,而不影响下一次网站异常和网站访问失败的监测。
74.在该实施例中,所述步骤s200:判断当前获取到的被监控网站的网页状态是否为网页异常之后,还包括如下步骤:
75.如果网页正常,判断当前所述被监控网站是否有运维任务,如果是,则发送网站恢复正常通知至所述异常处理终端。
76.如图2所示,具体地,判断当前所述被监控网站是否有运维任务,即判断在网站访问失败次数被清零之前,网站访问失败次数是否大于等于第二阈值,如果是,则说明之前已经发送过网站访问失败通知给异常处理终端,即已经存在有运维任务。此时,需要发送网站恢复正常通知至所述异常处理终端,以提供运维结果反馈给异常处理终端。
77.在该实施例中,如果需要报警,还包括如下步骤:
78.判断距离上次发送网站访问失败通知的时间距离当前时间的时间差是否大于等于第三阈值,且当前时间是否处于预设的运维时间范围内;
79.如果是,则将网站访问失败通知发送至所述被监控网站所对应的异常处理终端。
80.在该实施例中,所述将网站访问失败通知发送至所述被监控网站所对应的异常处理终端,包括将网站访问失败通知通过短信发送至所述被监控网站所对应的异常处理终端。所述异常处理终端还可以接收与网站监控相关的其他信息。
81.如图3所示,本发明实施例还提供一种网站实时监控系统,用于实现所述的网站实时监控方法,所述系统包括:
82.状态获取模块m100,用于基于预设间隔时间定时获取被监控网站的网页状态码并
记录;
83.失败判断模块m200,用于根据记录的网页状态判断网站是否访问失败;
84.报警判断模块m300,用于如果网站访问失败,则根据网站访问失败次数判断是否需要报警;
85.失败通知模块m400,用于如果需要报警,则将网站访问失败通知发送至所述被监控网站所对应的异常处理终端。
86.本发明的网站实时监控系统中,各个模块的功能可以采用如上所述的网站实时监控方法的具体实施方式来实现。例如,状态获取模块m100可以采用上述步骤s100的具体实施方式来获取网站状态和记录,失败判断模块m200通过上述步骤s200~s400的具体实施方式来判断失败网络访问失败,报警判断模块m300通过步骤s500的具体实施方式来判断是否需要报警,失败通知模块m400通过步骤s600的具体实施方式来实现需要报警时及时通知所述运维人员。
87.本发明通过状态获取模块m100实时获取并监控网站状态,通过失败判断模块m200和报警判断模块m300自动判断网站运行是否正常,并且在发生访问失败且失败次数达到一定数量时通过失败通知模块m400自动通知异常处理终端及时处理,可以实现对网站的24小时全天候实时监控和及时报警处理,保障网站的正常访问。
88.具体地,所述失败判断模块m200可以根据网页状态码判断当前获取到的被监控网站的网页状态是否为网页异常,例如网页状态的状态码为200时,网页状态正常,如果网页状态的状态码为其他数值时,网页异常,例如状态码是504时,表示服务器异常,状态码是404时,表示静态资源异常等;如果是网页异常,则所述失败判断模块m200将累计的网页异常次数加一,并所述失败判断模块m200判断累计的网页异常次数是否大于等于第一阈值,此处第一阈值的数值可以根据需要设定,例如设定为5,但本发明不限于此,其他实施方式中,第一阈值也可以设置为3、4、6等数值,均属于本发明的保护范围之内。如果累计的网页异常次数大于等于第一阈值,则所述失败判断模块m200确定网站访问失败,将累计的网站访问失败次数加一;如果累计的网页异常次数小于第一阈值,则所述失败判断模块m200无需将累计的网站访问失败次数加一。
89.具体地,所述报警判断模块m300根据网站访问失败次数判断是否需要报警,包括:所述报警判断模块m300判断累计的网站访问失败次数是否大于等于第二阈值;如果累计的网站访问失败次数大于等于第二阈值,则所述报警判断模块m300确定当前需要报警,失败通知模块m400进行报警;如果累计的网站访问失败次数小于第二阈值,则所述报警判断模块m300更新记录的网站信息。
90.进一步地,所述报警判断模块m300还用于如果网页正常,判断当前所述被监控网站是否有运维任务,如果是,则发送网站恢复正常通知至所述异常处理终端。
91.进一步地,所述失败通知模块m400将网站访问失败通知发送至所述被监控网站所对应的异常处理终端,包括将网站访问失败通知通过短信发送至所述被监控网站所对应的异常处理终端。
92.本发明实施例还提供一种网站实时监控设备,包括处理器;存储器,其中存储有所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行所述的网站实时监控方法的步骤。
93.所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“平台”。
94.下面参照图4来描述根据本发明的这种实施方式的电子设备600。图4显示的电子设备600仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
95.如图4所示,电子设备600以通用计算设备的形式表现。电子设备600的组件可以包括但不限于:至少一个处理单元610、至少一个存储单元620、连接不同系统组件(包括存储单元620和处理单元610)的总线630、显示单元640等。
96.其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元610执行,使得所述处理单元610执行本说明书上述网站实时监控方法部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元610可以执行如图1中所示的步骤。
97.所述存储单元620可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)6201和/或高速缓存存储单元6202,还可以进一步包括只读存储单元(rom)6203。
98.所述存储单元620还可以包括具有一组(至少一个)程序模块6205的程序/实用工具6204,这样的程序模块6205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
99.总线630可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
100.电子设备600也可以与一个或多个外部设备700(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备600交互的设备通信,和/或与使得该电子设备600能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口650进行。并且,电子设备600还可以通过网络适配器660与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。网络适配器660可以通过总线630与电子设备600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
101.本发明实施例还提供一种计算机可读存储介质,用于存储程序,所述程序被执行时实现所述的网站实时监控方法的步骤。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上执行时,所述程序代码用于使所述终端设备执行本说明书上述网站实时监控方法部分中描述的根据本发明各种示例性实施方式的步骤。
102.参考图5所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品800,其可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在终端设备,例如个人电脑上执行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
103.所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
104.所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。
105.可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c 等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
106.综上所述,通过采用本发明的网站实时监控方法、系统、设备及存储介质,通过实时获取并监控网站状态,自动判断网站运行是否正常,并且在发生访问失败且失败次数达到一定数量时自动通知异常处理终端及时处理,可以实现对网站的24小时全天候实时监控和及时报警处理,保障网站的正常访问。
107.以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献