应用容器监控方法、装置、设备及存储介质与流程

文档序号:29256591发布日期:2022-03-16 11:16阅读:95来源:国知局
应用容器监控方法、装置、设备及存储介质与流程

1.本发明涉及计算机技术领域,尤其涉及一种应用容器监控方法、装置、设备及存储介质。


背景技术:

2.目前,越来越多的企业逐渐将容器技术应用于自身的it架构并广泛投入生产实践,容器监控变得愈发重要。而相比于传统主机,容器需要监控的指标将成倍增加,如何监控并管理好系统中大批量的容器已成为运维人员必修的重要课题。而现有的容器监控方案仅仅可以提供各种主机单独的监控指标,无法针对业务应用进行监控,难以发现业务应用的异常。
3.上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。


技术实现要素:

4.本发明的主要目的在于提供一种应用容器监控方法、装置、设备及存储介质,旨在解决现有技术无法针对业务应用进行监控,难以发现业务应用的异常的技术问题。
5.为实现上述目的,本发明提供了一种应用容器监控方法,所述方法包括以下步骤:
6.在检测到运行环境信息满足任务触发条件时,获取所述任务触发条件对应的监控任务;
7.根据所述监控任务确定目标应用容器,并对所述目标应用容器进行数据采集,获得监控指标数据;
8.在监控到所述监控指标数据满足预设告警条件时,根据所述目标应用容器及所述监控指标数据进行风险告警。
9.可选的,所述根据所述监控任务确定目标应用容器,包括:
10.对所述监控任务进行解析,获得容器指定条件;
11.对所述容器指定条件进行关键字检测,确定容器指定模式;
12.获取所述容器指定模式对应的条件解析规则;
13.根据所述条件解析规则对所述容器指定条件进行解析,获得若干个容器标识;
14.根据所述若干个容器标识确定目标应用容器。
15.可选的,所述对所述目标应用容器进行数据采集,获得监控指标数据,包括:
16.对所述监控任务进行解析,获得目标监控指标;
17.获取所述目标监控指标对应的指标标识;
18.根据所述指标标识在预设采集脚本库中查找对应的指标采集脚本;
19.根据所述指标采集脚本对所述目标应用容器进行数据采集,获得监控指标数据。
20.可选的,所述根据所述指标采集脚本对所述目标应用容器进行数据采集,获得监控指标数据,包括:
21.检测预设监控线程池中是否存在空闲的指标监控线程;
22.若存在,则从所述预设监控线程中获取指标监控线程;
23.通过所述指标监控线程根据所述指标采集脚本对所述目标应用容器进行数据采集,获得监控指标数据。
24.可选的,所述检测预设监控线程池中是否存在空闲线程之后,还包括:
25.若不存在,则创建指标监控线程,并通过创建的所述指标监控线程根据所述指标采集脚本对所述目标应用容器进行数据采集,获得监控指标数据;
26.在数据采集完毕时,将创建的所述指标监控线程添加至所述预设监控线程池中。
27.可选的,所述通过所述指标监控线程根据所述指标采集脚本对所述目标应用容器进行数据采集,获得监控指标数据之后,还包括:
28.获取所述预设监控线程池的空闲线程数及线程总数;
29.根据所述空闲线程数及所述线程总数确定线程空闲百分比;
30.若所述线程空闲百分比大于或等于预设空闲阈值,且持续时长大于或等于预设时长阈值,则获取预设线程调控比例;
31.根据所述预设线程调控比例对所述预设监控线程池中的指标监控线程进行数量调整。
32.可选的,所述根据所述监控任务确定目标应用容器,并对所述目标应用容器进行数据采集,获得监控指标数据之后,还包括:
33.将所述监控指标数据存储至预设指标数据库中;
34.根据当前系统时刻及预设统计时长确定统计时刻区间;
35.根据所述统计时刻区间在所述预设指标数据库中查找对应的监控指标数据,获得待分析数据;
36.根据所述待分析数据确定各应用容器对应的指标变化趋势;
37.在所述指标变化趋势满足预设警示条件时,根据所述指标变化趋势进行风险预警。
38.此外,为实现上述目的,本发明还提出一种应用容器监控装置,所述应用容器监控装置包括以下模块:
39.信息采集模块,用于在检测到运行环境信息满足任务触发条件时,获取所述任务触发条件对应的监控任务;
40.数据采集模块,用于根据所述监控任务确定目标应用容器,并对所述目标应用容器进行数据采集,获得监控指标数据;
41.风险告警模块,用于在监控到所述监控指标数据满足预设告警条件时,根据所述目标应用容器及所述监控指标数据进行风险告警。
42.此外,为实现上述目的,本发明还提出一种应用容器监控设备,所述应用容器监控设备包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的应用容器监控程序,所述应用容器监控程序被处理器执行时实现如上所述的应用容器监控方法的步骤。
43.此外,为实现上述目的,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有应用容器监控程序,所述应用容器监控程序执行时实现如上所述的应用
容器监控方法的步骤。
44.本发明通过在检测到运行环境信息满足任务触发条件时,获取任务触发条件对应的监控任务;根据监控任务确定目标应用容器,并对目标应用容器进行数据采集,获得监控指标数据;在监控到监控指标数据满足预设告警条件时,根据目标应用容器及监控指标数据进行风险告警。由于根据监控任务可以直接确定需要监控的业务应用对应的目标应用容器,然后对目标应用容器进行数据采集,再在监控到的监控指标数据满足预设告警条件时进行风险告警,从而保证了可及时发现业务应用的异常,便于运维人员快速应对发生的异常。
附图说明
45.图1是本发明实施例方案涉及的硬件运行环境的电子设备的结构示意图;
46.图2为本发明应用容器监控方法第一实施例的流程示意图;
47.图3为本发明应用容器监控方法第二实施例的流程示意图;
48.图4为本发明应用容器监控方法第三实施例的流程示意图;
49.图5为本发明应用容器监控装置第一实施例的结构框图。
50.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
51.应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
52.参照图1,图1为本发明实施例方案涉及的硬件运行环境的应用容器监控设备结构示意图。
53.如图1所示,该电子设备可以包括:处理器1001,例如中央处理器(central processing unit,cpu),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(wireless-fidelity,wi-fi)接口)。存储器1005可以是高速的随机存取存储器(random access memory,ram),也可以是稳定的非易失性存储器(non-volatile memory,nvm),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
54.本领域技术人员可以理解,图1中示出的结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
55.如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及应用容器监控程序。
56.在图1所示的电子设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明电子设备中的处理器1001、存储器1005可以设置在应用容器监控设备中,所述电子设备通过处理器1001调用存储器1005中存储的应用容器监控程序,并执行本发明实施例提供的应用容器监控方法。
57.本发明实施例提供了一种应用容器监控方法,参照图2,图2为本发明一种应用容器监控方法第一实施例的流程示意图。
58.本实施例中,所述应用容器监控方法包括以下步骤:
59.步骤s10:在检测到运行环境信息满足任务触发条件时,获取所述任务触发条件对应的监控任务。
60.需要说明的是,本实施例的执行主体可以是所述应用容器监控设备,所述应用容器监控设备可以是个人电脑、服务器等电子设备,还可以为其他可实现相同或相似功能的设备,本实施例对此不加以限制,在本实施例及下述各实施例中,以应用容器监控设备为例对本发明应用容器监控方法进行说明。
61.需要说明的是,运行环境信息可以包括应用容器监控设备的系统时刻、检测到的指令等信息,任务触发条件可以由运维人员在创建监控任务时进行设置,任务触发条件可以设定为特定时刻触发,则此时任务触发条件可以使用时间表达式进行设置,例如:设置时间表达式为“0****?”,则表示每次0秒时触发,即每1分钟触发一次;设置时间表达式为“*/2****?”则表示在启动之后,以2秒为周期,每2秒触发一次。当然,任务触发条件也可以设置为其他条件触发,例如:在检测到某功能执行完毕后生成的指令时触发,或在检测到某主机运行异常生成的指令时触发。
62.在实际使用中,任务触发条件与监控任务是一一对应的,获取任务触发条件对应的监控任务可以是获取与任务触发条件对应的任务标识,根据任务标识在监控任务表中查找对应的监控任务。
63.步骤s20:根据所述监控任务确定目标应用容器,并对所述目标应用容器进行数据采集,获得监控指标数据。
64.需要说明的是,目标应用容器可以是监控任务中预先设定的需要进行监控的业务应用对应的容器。对目标应用容器进行数据采集,获得监控指标数据可以是根据监控任务确定需要采集的监控指标,采集目标应用容器中与监控指标对应的监控指标数据。其中,监控指标可以包括:内存、读写(i/o)、处理器(cpu)、网络流量等指标中的至少一种。
65.在实际使用中,为了采集的目标应用容器的监控指标数据的准确性,需要调整容器的层级,使不同的集群中的容器分布于不同的主容器中,令一个主容器仅设置某一个集群中的应用容器,避免不同集群中的应用容器的的监控指标交叉,影响监控指标数据的准确性,例如:以k8s容器框架为例,可以调整各个应用容器的层级,是不同的集群的应用容器分布于k8s中不同的node中,即一个node中只设置一个集群的应用容器,由一个或多个node中的应用容器组成一个集群。
66.进一步的,为了便于运维人员设置监控任务时指定需要监控的目标应用容器,还可以对各容器的容器标识进行调整,使得各容器的容器标识规律化,从而为了减少运维人员设定监控任务时的复杂度,可以获取容器对应的容器类型、集群类型、容器编号,以“容器类型-集群类型-容器编号”为顺序组合为容器的容器标识,例如:以k8s为例,容器类型可以包括node、pod、container等不同类型,假设容器标识为“node-business-1”,则该容器为管理交易功能的business集群中排序第一的node容器,相应的,本实施例所述根据所述监控任务确定目标应用容器的步骤,可以包括:
67.对所述监控任务进行解析,获得容器指定条件;
68.对所述容器指定条件进行关键字检测,确定容器指定模式;
69.获取所述容器指定模式对应的条件解析规则;
70.根据所述条件解析规则对所述容器指定条件进行解析,获得若干个容器标识;
71.根据所述若干个容器标识确定目标应用容器。
72.需要说明的是,容器标识可以是容器的名称或标号等唯一标识。容器指定条件可以由运维人员预先进行设置,容器指定条件用于限定监控任务对应的目标应用容器。容器指定模式可以分为单独指定模式、多项指定模式及批量指定模式等模式,不同的容器指定模式对应的关键字不同,且针对不同容器指定模式的容器指定条件的解析方式也不相同。
73.例如:假设容器指定条件为“node-business-1”,则此时该容器指定条件对应的容器指定模式为单独指定模式,此时容器指定模式对应的条件解析规则为直接将容器指定条件作为容器标识;假设容器指定条件为“node-business-1/2/4”,则此时该容器指定条件对应的容器指定模式为多项指定模式,该容器指定条件中的关键字为“/”,根据多项指定模式对应的条件解析规则将容器指定条件进行拆分可以获得“node-business-1”、“node-business-2”及“node-business-4”三个容器标识;假设容器指定条件为“node-business-1~3”,则此时该容器指定条件对应的容器指定模式为批量指定模式,该容器指定条件中的关键字为“~”,根据批量指定模式对应的条件解析规则将容器指定条件进行解析,可以获得“node-business-1”、“node-business-2”及“node-business-3”三个容器标识。
74.步骤s30:在监控到所述监控指标数据满足预设告警条件时,根据所述目标应用容器及所述监控指标数据进行风险告警。
75.需要说明的是,若监控指标数据满足预设告警条件,说明在当前时刻目标应用容器的监控指标数据并非处于正常运行时的指标数据区间中,则此时目标应用容器有极大的可能会出现卡顿、宕机等现象,甚至可能导致数据丢失或企业业务运行异常,需要进行相应处理,因此,此时可以根据目标应用容器及监控指标数据进行风险告警,令相关运维人员明确可能有风险发生,并进行相应的应对。
76.在实际使用中,判断监控指标数据是否满足预设告警条件可以是获取监控指标数据对应的正常指标区间,检测监控指标数据是否处于正常指标区间中,若是,则判定监控指标数据不满足预设告警条件,若不是,则判定监控指标数据满足预设告警条件。
77.进一步的,为了令运维人员在风险出现之前可及时应对,本实施例所述步骤s20之后,还可以包括:
78.将所述监控指标数据存储至预设指标数据库中;
79.根据当前系统时刻及预设统计时长确定统计时刻区间;
80.根据所述统计时刻区间在所述预设指标数据库中查找对应的监控指标数据,获得待分析数据;
81.根据所述待分析数据确定各应用容器对应的指标变化趋势;
82.在所述指标变化趋势满足预设警示条件时,根据所述指标变化趋势进行风险预警。
83.需要说明的是,预设指标数据库可以是时序数据库,将监控指标数据存储至预设指标数据库中可以是获取监控指标数据对应的采集时刻,根据采集时刻将监控指标数据存储至预设指标数据库中。预设统计时长可以由运维人员预先进行设置。当前系统时刻可以是当前时刻中应用容器监控设备的设备运行时刻,根据当前系统时刻及预设统计时长确定统计时刻区间可以是根据当前系统时刻及预设统计时长确定统计起始时刻,根据统计起始
时刻及当前系统时刻确定统计时刻区间,例如:假设当前系统时刻为9:00,预设统计时长为30分钟,则统计起始时刻为8:30,则此时统计时刻区间为8:30-9:00。
84.在实际使用中,根据统计时刻区间在预设指标数据库中查找对应的监控指标数据,获得待分析数据可以是查找预设指标数据库中对应的采集时刻处于统计时刻区间中的监控指标数据,并将查找到的监控指标数据作为待分析数据。根据待分析数据确定各应用容器对应的指标变化趋势可以是根据对应的采集时刻对待分析数据进行排序,求取排序相邻的两条待分析数据的指标差值,根据所有获得的指标差值确定指标变化趋势,例如:假设待分析数据共5条,对应的指标数据分别为4、7、3、5、8,则指标变化趋势为+3、-4、+2、-3。
85.需要说明的是,根据指标变化趋势可以发现潜在的风险,例如:以cpu为例,若cpu使用率的指标变化趋势为逐步升高,则表示可能资源分布异常或即将有大量访问来临需要处理,业务应用的负载量可能不够。若指标变化趋势满足预设警示条件,则表示可能存在潜在风险,因此,可以根据指标变化趋势进行风险预警,提示运维人员进行相应的异常排查。其中,预设警示条件可以由运维人员根据实际情况预先进行设置。
86.在实际使用中,还可以周期性从预设指标数据库中提取监控指标数据在数据展示界面(dashbroad)上进行展示,数据展示界面可以将监控指标数据转化为图形化进行展示,使得运维人员或管理人员更加直观的观察到各个应用容器的相关监控指标数据的变化情况,相比仅仅观察监控数据,更容易发现容器应用的资源利用情况,可以快速发现访问高峰或容器异常,从而进行相应的应对,例如:在访问高峰出现时,快速增加相关的集群中的应用容器数量,提高集群负载能力,以应对访问高峰;在容器异常时快速构建备用容器对该异常的容器进行替换,从而使得集群功能维持正常运行。至于展示周期,可以根据实际需要进行设置,例如:将较为重要的部分数据设置为1s提取一次监控指标数据,将重要性较低的部分数据设置为5s提取一次监控指标数据。
87.本实施例通过在检测到运行环境信息满足任务触发条件时,获取任务触发条件对应的监控任务;根据监控任务确定目标应用容器,并对目标应用容器进行数据采集,获得监控指标数据;在监控到监控指标数据满足预设告警条件时,根据目标应用容器及监控指标数据进行风险告警。由于根据监控任务可以直接确定需要监控的业务应用对应的目标应用容器,然后对目标应用容器进行数据采集,再在监控到的监控指标数据满足预设告警条件时进行风险告警,从而保证了可及时发现业务应用的异常,便于运维人员快速应对发生的异常。
88.参考图3,图3为本发明一种应用容器监控方法第二实施例的流程示意图。
89.基于上述第一实施例,本实施例应用容器监控方法的所述步骤s20,包括:
90.步骤s201:根据所述监控任务确定目标应用容器,并对所述监控任务进行解析,获得目标监控指标。
91.需要说明的是,目标监控指标可以是在对目标应用容器进行监控时需要采集的监控指标,监控指标可以包括:内存、读写(i/o)、处理器(cpu)、网络流量等指标中的至少一种。对监控任务进行解析,获得目标监控指标可以是对监控任务进行解析,提取监控任务中的任务信息,根据任务信息确定目标监控指标。
92.步骤s202:获取所述目标监控指标对应的指标标识。
93.需要说明的是,指标标识可以由运维人员预先进行设置,例如:以1-4共4个数字作
为指标标识,分别与内存、读写(i/o)、处理器(cpu)、网络流量对应。
94.在实际使用中,获取目标监控指标对应的指标标识可以是在预设监控指标信息表中查找目标监控指标的监控指标信息,根据监控指标信息确定目标监控指标对应的指标标识。其中,预设监控指标信息表中可以存有各监控指标的监控指标信息,预设监控指标信息表可以由运维人员预先设置。
95.步骤s203:根据所述指标标识在预设采集脚本库中查找对应的指标采集脚本。
96.需要说明的是,预设采集脚本库可以是存储有多个不同的指标采集脚本的数据库,预设采集脚本库可以由运维人员预先设置。根据指标标识在预设采集脚本库中查找对应的指标采集脚本可以是将指标标识作为查询条件,根据该查询条件在预设采集校本库中查找对应的指标采集脚本。
97.在实际使用中,不同的应用容器中的系统可能也不相同,在系统不同时,即使需要采集的监控指标相同,采集的方式也会不同,即对应的指标采集脚本也可能不同,因此,在查找指标采集脚本时还可以获取目标应用容器的系统类型,根据系统类型及指标标识在预设采集脚本库中查找对应的指标采集脚本。
98.步骤s204:根据所述指标采集脚本对所述目标应用容器进行数据采集,获得监控指标数据。
99.需要说明的是,根据指标采集脚本对目标应用容器进行数据采集,获得监控指标数据可以是通过执行指标采集脚本对目标应用容器进行数据采集,获得监控指标数据。当然,也可以是根据指标采集脚本生成数据提取指令,将数据提取指令发送至目标应用容器,使目标应用容器反馈监控指标数据。
100.本实施例通过根据所述监控任务确定目标应用容器,并对所述监控任务进行解析,获得目标监控指标;获取所述目标监控指标对应的指标标识;根据所述指标标识在预设采集脚本库中查找对应的指标采集脚本;根据所述指标采集脚本对所述目标应用容器进行数据采集,获得监控指标数据。由于不同的监控指标对应的监控指标数据的采集方式不同,在对目标应用容器进行数据采集时先根据监控任务对应的目标监控指标在预设采集校本库中查找对应的指标采集脚本,再根据查找到的指标采集脚本对目标应用容器进行数据采集,保证了针对不同的目标监控指标依旧可正常采集监控指标数据。
101.参考图3,图3为本发明一种应用容器监控方法第三实施例的流程示意图。
102.基于上述第二实施例,本实施例应用容器监控方法的所述步骤s204,包括:
103.步骤s2041:检测预设监控线程池中是否存在空闲的指标监控线程。
104.需要说明的是,根据指标采集脚本对目标应用容器进行数据采集时为了避免对应用容器监控设备的主线程造成影响,可以创建子线程根据指标采集脚本对目标应用容器进行数据,获得监控指标数据。
105.但是,由于线程的创建及销毁会消耗大量的系统资源,若每次采集监控指标数据均需要创建子线程,会造成大量的性能损耗,因此,可以在目标应用容器中预先设定一预设监控线程池,在需要采集监控指标数据时,从预设监控线程池中获取指标监控线程,然后通过指标监控线程采集监控指标数据。但是,由于同时被触发的监控任务难以确定,预设监控线程池中的指标监控线程可能不够,因此,在从预设监控线程池中获取指标监控线程之前,需要检测预设监控线程池中是否存在空闲的指标监控线程。
106.步骤s2042:若存在,则从所述预设监控线程中获取指标监控线程。
107.可以理解的是,若预设监控线程池中存在空闲的指标监控线程,则说明预设监控线程池的线程资源充足,因此,可以直接从预设监控线程池中获取指标监控线程。
108.进一步的,由于使用了线程池,在实际使用场景中,具体需要的指标监控线程数量难以估量,可能会出现预设线程池中线程数量不够,监控任务执行需要等待空闲线程的现象,而对于部分企业,对业务监控的失效率要求极高,发现异常仅仅迟缓一秒可能都会造成巨大的损失,为了避免此种现象,本实施例所述步骤s2041之后,还可以包括:
109.若不存在,则创建指标监控线程,并通过创建的所述指标监控线程根据所述指标采集脚本对所述目标应用容器进行数据采集,获得监控指标数据;
110.在数据采集完毕时,将创建的所述指标监控线程添加至所述预设监控线程池中。
111.需要说明的是,若预设监控线程池中不存在空闲的指标监控线程,则说明说明随着监控任务的变化,当前预设监控线程池中的指标监控线程的数量已经不足以负载当前时刻的监控任务,因此,为了避免因等待造成的异常发现迟缓,可以新建指标监控线程,并通过创建的指标监控线程根据所述指标采集脚本对目标应用容器进行数据采集,获得监控指标数据,从而保证指标监控数据可顺利进行采集。
112.可以理解的是,为了避免后续的监控任务触发时预设监控线程池中依旧不存在空闲的线程继续创建指标监控线程,造成不必要的性能损耗,可以在数据采集完毕时,将创建的指标监控线程添加至预设监控线程池中,提高预设监控线程池中的指标监控线程的数量。
113.步骤s2043:通过所述指标监控线程根据所述指标采集脚本对所述目标应用容器进行数据采集,获得监控指标数据。
114.需要说明的是,通过所述指标监控线程根据指标采集脚本对目标应用容器进行数据采集,获得监控指标数据可以是将指标采集脚本传入指标监控线程中,令指标监控线程运行指标采集脚本,从而对目标应用容器进行数据采集。
115.进一步的,由于线程池中的线程依旧会占用设备的资源,为了合理的利用设备的资源,本实施例所述步骤s2043之后,还包括:
116.获取所述预设监控线程池的空闲线程数及线程总数;
117.根据所述空闲线程数及所述线程总数确定线程空闲百分比;
118.若所述线程空闲百分比大于或等于预设空闲阈值,且持续时长大于或等于预设时长阈值,则获取预设线程调控比例;
119.根据所述预设线程调控比例对所述预设监控线程池中的指标监控线程进行数量调整。
120.需要说明的是,空闲线程数可以是预设监控线程池中空闲的指标监控线程的数量,线程总数可以是预设监控线程池中指标监控线程的总数。根据空闲线程数及线程总数确定线程空闲百分比可以是获取空闲线程数与线程总数的比值,将获取的比值作为线程空闲百分比。预设空闲阈值可以是由运维人员预先设置的百分比阈值,预设时长阈值及预设线程调控比例可以由运维人员预先进行设置。
121.在实际使用中,若空闲百分比大于或等于预设空闲阈值,且连续持续的持续时长大于或等于预设时长阈值,则说明预设监控线程池连续较长一段时间内对预设监控线程池
中的指标监控线程的利用率一直都较低,可以判定预设监控线程池中的线程数量过多,造成了资源浪费,因此,需要对预设监控线程池进行数量调整。
122.在具体实现中,根据预设线程调控比例对预设监控线程池中的指标监控线程进行数量调整可以是将预设线程调控比例与预设监控线程池的线程总数相乘,获得调整数量,从预设监控线程池中移除数量与调整数量一致的指标监控线程。
123.本实施例通过检测预设监控线程池中是否存在空闲的指标监控线程;若存在,则从所述预设监控线程中获取指标监控线程;通过所述指标监控线程根据所述指标采集脚本对所述目标应用容器进行数据采集,获得监控指标数据。由于在对目标应用容器进行数据采集时是采用了独立于主线程的指标监控线程进行数据采集,避免了对主线程功能的干扰,且获取指标监控线程是从预设监控线程池中获取,避免了线程的创建与销毁时对设备的资源的浪费。
124.此外,本发明实施例还提出一种存储介质,所述存储介质上存储有应用容器监控程序,所述应用容器监控程序被处理器执行时实现如上文所述的应用容器监控方法的步骤。
125.参照图5,图5为本发明应用容器监控装置第一实施例的结构框图。
126.如图5所示,本发明实施例提出的应用容器监控装置包括:
127.信息采集模块10,用于在检测到运行环境信息满足任务触发条件时,获取所述任务触发条件对应的监控任务;
128.数据采集模块20,用于根据所述监控任务确定目标应用容器,并对所述目标应用容器进行数据采集,获得监控指标数据;
129.风险告警模块30,用于在监控到所述监控指标数据满足预设告警条件时,根据所述目标应用容器及所述监控指标数据进行风险告警。
130.本实施例通过在检测到运行环境信息满足任务触发条件时,获取任务触发条件对应的监控任务;根据监控任务确定目标应用容器,并对目标应用容器进行数据采集,获得监控指标数据;在监控到监控指标数据满足预设告警条件时,根据目标应用容器及监控指标数据进行风险告警。由于根据监控任务可以直接确定需要监控的业务应用对应的目标应用容器,然后对目标应用容器进行数据采集,再在监控到的监控指标数据满足预设告警条件时进行风险告警,从而保证了可及时发现业务应用的异常,便于运维人员快速应对发生的异常。
131.进一步的,所述数据采集模块20,还用于对所述监控任务进行解析,获得容器指定条件;对所述容器指定条件进行关键字检测,确定容器指定模式;获取所述容器指定模式对应的条件解析规则;根据所述条件解析规则对所述容器指定条件进行解析,获得若干个容器标识;根据所述若干个容器标识确定目标应用容器。
132.进一步的,所述数据采集模块20,还用于对所述监控任务进行解析,获得目标监控指标;获取所述目标监控指标对应的指标标识;根据所述指标标识在预设采集脚本库中查找对应的指标采集脚本;根据所述指标采集脚本对所述目标应用容器进行数据采集,获得监控指标数据。
133.进一步的,所述数据采集模块20,还用于检测预设监控线程池中是否存在空闲的指标监控线程;若存在,则从所述预设监控线程中获取指标监控线程;通过所述指标监控线
程根据所述指标采集脚本对所述目标应用容器进行数据采集,获得监控指标数据。
134.进一步的,所述数据采集模块20,还用于若不存在,则创建指标监控线程,并通过创建的所述指标监控线程根据所述指标采集脚本对所述目标应用容器进行数据采集,获得监控指标数据;在数据采集完毕时,将创建的所述指标监控线程添加至所述预设监控线程池中。
135.进一步的,所述数据采集模块20,还用于获取所述预设监控线程池的空闲线程数及线程总数;根据所述空闲线程数及所述线程总数确定线程空闲百分比;若所述线程空闲百分比大于或等于预设空闲阈值,且持续时长大于或等于预设时长阈值,则获取预设线程调控比例;根据所述预设线程调控比例对所述预设监控线程池中的指标监控线程进行数量调整。
136.进一步的,所述数据采集模块20,还用于将所述监控指标数据存储至预设指标数据库中;根据当前系统时刻及预设统计时长确定统计时刻区间;根据所述统计时刻区间在所述预设指标数据库中查找对应的监控指标数据,获得待分析数据;根据所述待分析数据确定各应用容器对应的指标变化趋势;在所述指标变化趋势满足预设警示条件时,根据所述指标变化趋势进行风险预警。
137.应当理解的是,以上仅为举例说明,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
138.需要说明的是,以上所描述的工作流程仅仅是示意性的,并不对本发明的保护范围构成限定,在实际应用中,本领域的技术人员可以根据实际的需要选择其中的部分或者全部来实现本实施例方案的目的,此处不做限制。
139.另外,未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的应用容器监控方法,此处不再赘述。
140.此外,需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
141.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
142.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器(read only memory,rom)/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
143.以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1