CN116167556A - 作业监控方法及装置、系统、设备、计算机可读存储介质 - Google Patents
作业监控方法及装置、系统、设备、计算机可读存储介质 Download PDFInfo
- Publication number
- CN116167556A CN116167556A CN202210816064.3A CN202210816064A CN116167556A CN 116167556 A CN116167556 A CN 116167556A CN 202210816064 A CN202210816064 A CN 202210816064A CN 116167556 A CN116167556 A CN 116167556A
- Authority
- CN
- China
- Prior art keywords
- monitoring
- data
- job
- index data
- alarm
- 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
Links
- 238000012544 monitoring process Methods 0.000 title claims abstract description 573
- 238000000034 method Methods 0.000 title claims abstract description 120
- 238000003860 storage Methods 0.000 title claims abstract description 54
- 238000012806 monitoring device Methods 0.000 title description 3
- 238000012545 processing Methods 0.000 claims abstract description 119
- 238000012800 visualization Methods 0.000 claims description 37
- 238000013079 data visualisation Methods 0.000 claims description 27
- 238000012216 screening Methods 0.000 claims description 27
- 238000004590 computer program Methods 0.000 claims description 20
- 230000000007 visual effect Effects 0.000 claims description 16
- 230000005540 biological transmission Effects 0.000 claims description 14
- 238000001914 filtration Methods 0.000 claims description 13
- 238000009826 distribution Methods 0.000 claims description 8
- 238000004891 communication Methods 0.000 claims description 6
- 230000003139 buffering effect Effects 0.000 claims description 3
- 230000008030 elimination Effects 0.000 claims 2
- 238000003379 elimination reaction Methods 0.000 claims 2
- 238000007726 management method Methods 0.000 description 71
- 230000006870 function Effects 0.000 description 37
- 238000010586 diagram Methods 0.000 description 24
- 230000004083 survival effect Effects 0.000 description 24
- 230000008569 process Effects 0.000 description 22
- 238000005259 measurement Methods 0.000 description 9
- 238000011282 treatment Methods 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 7
- 238000010276 construction Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 230000006872 improvement Effects 0.000 description 6
- 230000002829 reductive effect Effects 0.000 description 6
- 230000002123 temporal effect Effects 0.000 description 6
- 230000000670 limiting effect Effects 0.000 description 4
- 230000008520 organization Effects 0.000 description 4
- 238000011084 recovery Methods 0.000 description 4
- 238000003672 processing method Methods 0.000 description 3
- 239000000243 solution Substances 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000010205 computational analysis Methods 0.000 description 2
- 238000013523 data management Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 239000002243 precursor Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000012384 transportation and delivery Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06311—Scheduling, planning or task assignment for a person or group
- G06Q10/063114—Status monitoring or status determination for a person or group
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0633—Workflow analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0639—Performance analysis of employees; Performance analysis of enterprise or organisation operations
- G06Q10/06393—Score-carding, benchmarking or key performance indicator [KPI] analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Tourism & Hospitality (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Educational Administration (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Game Theory and Decision Science (AREA)
- Data Mining & Analysis (AREA)
- Computer And Data Communications (AREA)
Abstract
本公开提供了一种作业监控方法及装置、系统、设备、计算机可读存储介质,该方法包括:将接收到的流式作业的监控指标数据,传输至预先配置的至少一个数据上报链路的数据接口;其中,不同的数据上报链路对应于不同的监控服务类型;对每个数据上报链路的流式作业的监控指标数据,执行与监控服务类型对应的监控处理,得到对应的监控处理结果。根据本公开的实施例能够提高监控处理效率。
Description
技术领域
本公开涉及数据处理技术领域,特别涉及一种作业监控方法及装置、系统、设备、计算机可读存储介质。
背景技术
随着大数据(Big Data)技术的日臻发展,实时计算在大数据技术领域得到愈加广泛的应用。“实时即未来”,随着实时技术发展趋于成熟,实时计算将在大数据领域发挥越来越重要的作用。例如,通过对流式数据的实时计算,可以实时获取来自不同数据源的大规模流动数据,并通过进行实时计算分析来获取有价值的信息。为了提高实时计算的流式作业的运行稳定性,需要对流式作业在运行过程中的作业运行状态进行监控。
发明内容
本公开提供一种作业监控方法及装置、系统、设备、计算机可读存储介质,可以提高流式作业的监控指标数据的监控处理效率。
第一方面,本公开提供了一种作业监控方法,该作业监控方法包括:将接收到的流式作业的监控指标数据,传输至预先配置的至少一个数据上报链路的数据接口;其中,不同的数据上报链路对应于不同的监控服务类型;对每个数据上报链路的流式作业的监控指标数据,执行与监控服务类型对应的监控处理,得到对应的监控处理结果。
第二方面,本公开提供了一种作业监控装置,该作业监控装置包括:传输模块,用于将接收到的流式作业的监控指标数据,传输至预先配置的至少一个数据上报链路的数据接口;其中,不同的数据上报链路对应于不同的监控服务类型;处理模块,用于对每个数据上报链路的流式作业的监控指标数据,执行与监控服务类型对应的监控处理,得到对应的监控处理结果。
第三方面,本公开提供了一种监控架构系统,该监控架构系统包括:数据实时计算平台、资源管理系统和作业监控系统;数据实时计算平台,用于向资源管理系统提交流式作业;资源管理系统,用于运行流式作业,并将流式作业运行产生的监控指标数据发送至作业监控系统;作业监控系统,用于接收流式作业监控指标数据,并执行上述的作业监控方法。
第四方面,本公开提供了一种电子设备,该电子设备包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的一个或多个计算机程序,一个或多个计算机程序被至少一个处理器执行,以使至少一个处理器能够执行上述的作业监控方法。
第五方面,本公开提供了一种计算机可读存储介质,其上存储有计算机程序,其中,计算机程序在被处理器/处理核执行时实现上述的作业监控方法。
本公开所提供的实施例中的作业监控方法,能够对流式作业的监控指标数据提供不同的数据上报链路,由于不同的数据上报链路可以对应不同的监控服务类型,所以本公开作业监控方法可以对流式作业的监控指标数据执行不同监控服务类型的监控处理,从而可以为流式作业提供不同监控服务类型的作业运行状态监控,实现作业运行状态监控的服务类型多样化,有利于提高对流式作业的监控指标数据的利用率,从而通过该监控指标数据的高效利用,提高监控处理效率;并且,根据该作业监控方法,在出现不同监控服务类型对应的系统错误时,有利于快速定位出现问题的数据上报链路,提高问题排查效率。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用来提供对本公开的进一步理解,并且构成说明书的一部分,与本公开的实施例一起用于解释本公开,并不构成对本公开的限制。通过参考附图对详细示例实施例进行描述,以上和其他特征和优点对本领域技术人员将变得更加显而易见,在附图中:
图1为相关技术中作业监控系统的架构示意图;
图2为本公开实施例提供的作业监控系统的场景示意图;
图3为本公开实施例提供的作业监控方法的流程图;
图4为本公开实施例提供的作业监控页面的示意图;
图5为本公开实施例提供的监控架构系统的结构示意图;
图6为本公开实施例提供的数据可视化平台的跳转前页面的示意图;
图7为本公开实施例提供的作业监控系统的结构示意图;
图8为本公开实施例提供的作业监控方法的流程图;
图9为本公开实施例提供的一种作业监控装置的框图;
图10为本公开实施例提供的一种电子设备的框图。
具体实施方式
为使本领域的技术人员更好地理解本公开的技术方案,以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在不冲突的情况下,本公开各实施例及实施例中的各特征可相互组合。
如本文所使用的,术语“和/或”包括一个或多个相关列举条目的任何和所有组合。
本文所使用的术语仅用于描述特定实施例,且不意欲限制本公开。如本文所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。还将理解的是,当本说明书中使用术语“包括”和/或“由……制成”时,指定存在特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或其群组。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
除非另外限定,否则本文所用的所有术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本公开的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本文明确如此限定。
随着互联网技术的发展,实时搜索、广告推荐、社交网络、日志在线分析等应用的不断发展,流式数据作为一种新的数据形态正在兴起。流式数据可以理解为是指一组大量、快速、不间断的事件序列。在不同场景下,流式数据可以具有多种数据形式,例如实时查询、用户点击、在线日志、流媒体等数据形式。
流式计算是指对流式数据进行计算。在流式计算中,数据源以数据流形式输入、输出和处理,具有较强的顺序性和连续到达性的特点;实时流计算是指对流式数据进行实时计算,实时计算强调实时,即要求数据从产生到影响最终结果的时延要低。通过实时流计算,可以实时获取来自不同数据源的大规模流动数据,并通过进行实时计算分析来获取有价值的信息。
流式计算框架是一种分布式实时处理框架,可以通过连续运行对流式作业进行处理。流式作业是指将数据转换成流,按照流来执行筛选、转换等操作的计算作业。流式计算框架通常采用开源的分布式系统,具有低延时、可扩展和容错性的优点,确保流式计算的实时性和高可用性。
在一些场景中,实时计算平台用于对流式计算框架中运行的流式作业进行管理、调度。为提高流式计算作业的运行稳定性,还需要对作业运行过程中的内部状态进行监控,以便于及时快速地对异常的流式作业的处理,保障业务的稳定性。相关技术中对流式作业的监控指标数据进行监控处理时存在资源利用率低和监控处理效率低的缺陷。具体结合下述图1进行具体说明。
图1示出了相关技术中作业监控系统的架构示意图。在图1中,该系统包括资源管理系统10,中转设备20、采集设备30和可视化平台40;其中,资源管理系统10中运行有多个流式作业,例如包括但不限于图1中示出的流式作业11、流式作业12和流式作业13。
在图1中,每个流式作业在资源管理系统10中运行时,基于流式计算框架自身支持的作业监控指标上报组件,可以将各自流式作业的监控指标数据推送到中转设备20;中转设备20可以用于将接收到的监控指标推送到采集设备30;采集设备30可以用于实现对监控指标数据的查询处理;可视化平台40可以用于对经信息数据采集设备30处理的监控指标数据进行可视化展示。
通过图1可以看出,一方面,该作业监控系统对于流式计算作业的监控指标数据,主要通过提供查询结果的可视化展示功能来实现对流式计算作业运行状态的监控,而无法对流式计算作业的监控指标数据进行其他类型的监控处理,从而导致对监控指标数据的资源利用率和监控处理效率较低;另一方面,在需要监控的流式作业的数量较多的情况下,该作业监控系统可能会影响整个作业监控系统的性能。以中转设备20是信息收集中转机(pushgateway端),采集设备30是由go语言开发的信息数据采集服务器(prometheus服务器)为例,Prometheus服务器可以从pushgateway端拉取流式作业的监控指标数据,并对接收到的流式作业的监控指标数据进行存储和查询处理。由于pushgateway端不支持数据定期清理(例如,通过限制数据的生存时间(Time to Live,TTL)定期清理达到TTL的监控指标数据)。当pushgateway端需要监控多个流式作业的监控指标数据时,可能会出现性能瓶颈,从而影响整个作业监控系统的性能,导致该作业监控系统的处理效率较低。
根据本公开一个或多个实施例的作业监控方法,可以为流式作业提供不同监控服务类型的作业运行状态监控,提高流式作业的监控指标数据的资源利用率和监控处理效率;可以通过时序数据库对监控指标数据进行高性能的查询和存储;以及,本公开实施例的监控架构系统包括实时管理平台,可以在该实时管理平台上开辟缓存空间,以对需上报指标的指标信息集合进行缓存,并通过设置该缓存空间中信息存储的有效时长,对缓存的信息进行定期清理,提升监控架构系统的系统性能。
下面结合附图,详细描述本公开实施例的作业监控方法及装置、系统、设备、计算机可读存储介质。图2示出本公开实施例的作业监控系统的场景示意图。在图2中,该场景包括实时计算平台210、资源管理系统220和作业监控系统230。
如图2所示,实时计算平台210可以将生成的流式作业提交到资源管理系统220中;资源管理系统220用于为基于流式计算框架的流式作业提供资源管理和任务调度,从而运行流式作业;作业监控系统230可以用于接收资源管理系统220上报的流式作业的监控指标数据,对接收到的监控指标数据执行本公开实施例的作业监控方法,得到相应的监控处理结果。其中,图2中的资源管理系统220与图1中的资源管理系统10可以是相同或不同的资源管理系统。
示例性地,资源管理系统220可以包括但不限于是:分布式资源管理系统(YetAnother Resource Negotiator,YARN)、分布式资源管理系统(Mesos)。
示例性地,流式计算框架例如可以包括但不限于是:Storm框架、Spark Streaming框架和Flink框架等。具体地,Storm框架是用于事件的流处理的分布式计算框架,SparkStreaming是用于将实时输入的连续数据流切分为离散的数据流来进行流处理的计算框架;Flink是一种有状态的大数据流式计算框架。
为了简化描述起见,本文下述的多个实施例以YARN中运行的基于Flink框架的流式作业(简称Flink作业)上报的监控指标数据为例,来阐述本公开实施例的作业监控方法的具体处理步骤。但该描述并不能被解读为限制本方案的范围或实施可能性,对于YARN以外的其他资源管理系统和/或Flink以外的其他流式计算框架运行流式作业而产生的流式作业的处理方法与YARN中运行的Flink作业的处理方法保持一致。
图3示出本公开实施例的作业监控方法的流程图。在图3中,作业监控方法可以包括如下步骤。
S310,将接收到的流式作业的监控指标数据,传输至预先配置的至少一个数据上报链路的数据接口;其中,不同的数据上报链路对应于不同的监控服务类型。
在一些实施例中,根据不同场景下流式数据的多种数据形式,相应地,流式作业也可以涉及不同场景。例如流式作业包括但不限于是:对实时查询数据、用户点击数据、在线日志数据和流媒体等数据进行的流式计算。
在一些实施例中,流式作业的监控指标数据是流式作业在运行过程中的监控指标,例如包括但不限于:flink作业在运行过程中的监控指标。通过流式作业的监控指标数据可以使开发者或用户更好地理解流式作业的状态或流式作业集群的状态。
在该实施例中,数据上报链路的数据接口用于接收流式作业的监控指标数据,不同的数据上报链路的数据接口不同,所对应的数据传输流向不同,以及所对应的监控服务类型也不同,监控服务类型决定了后续对监控指标数据进行监控处理的具体执行步骤。
S320,对每个数据上报链路的流式作业的监控指标数据,执行与监控服务类型对应的监控处理,得到对应的监控处理结果。
在本公开实施例中,可以为接收到的流式作业的监控指标数据预先配置至少一个数据上报链路的数据接口,由于不同的数据上报链路对应于不同的监控服务类型,因此,将流式作业的监控指标数据传输至预先配置的任一数据上报链路的数据接口,意味着为该流式作业的监控指标数据选择了与该任一数据上报链路对应的监控服务类型,从而可以对接收到的流式作业的监控指标数据,执行与该监控服务类型对应的监控处理,得到对应的监控处理结果,实现相应监控服务器类型的监控服务。
根据本公开实施例的作业监控方法,相比相关技术中对流式作业的监控处理仅仅可以实现查询结果可视化展示,监控服务类型单一,因此对流式作业的监控指标数据的利用率较低;本公开实施例中,对流式作业的监控指标数据提供不同的数据上报链路,由于不同的数据上报链路可以对应不同的监控服务类型,所以本公开作业监控方法可以对流式作业的监控指标数据执行不同的监控服务类型对应的监控处理,从而可以为流式作业提供不同监控服务类型的作业运行状态监控,实现作业运行状态监控的服务类型多样化,有利于提高流式作业的监控指标数据的资源利用率,从而通过对监控指标数据的高效利用,提高监控处理效率;并且,在出现不同监控服务类型对应的系统错误时,有利于快速定位出现问题的数据上报链路,提高问题排查效率。
在一些实施例中,步骤S110中,不同的数据上报链路包括第一上报链路和第二上报链路;不同的监控服务类型包括:第一上报链路对应的监控告警服务和第二上报链路对应的监控指标可视化服务。该实施例中,上述步骤S310具体可以包括:将接收到的监控指标数据传输至第一上报链路的数据接口和第二上报链路的数据接口,以用于提供对应的监控告警服务和对应的监控指标可视化服务。
在该实施例中,不同的数据上报链路分别为第一上报链路和第二上报链路,不同的数据上报链路对应于不同的监控服务类型,第一上报链路对应的监控服务类型是监控告警服务,第二上报链路对应的监控服务类型是监控指标可视化服务;基于此,本公开实施例的作业监控方法,可以为流式作业的监控指标数据提供包括告警服务和监控指标可视化服务在内的监控服务。
应理解,第一上报链路和第二上报链路中,第一和第二的描述方式是为了区分两条上报链路为不同上报链路,而并要求或者暗示这些上报链路所涉及监控指标数据的上报顺序和监控处理操作之间存在任何这种实际的关系或者顺序。
在本公开实施例中,监控告警服务与第一上报链路相对应。监控告警服务可以基于分布式消息分发系统来实现,分布式消息分发系统可以在本公开实施例的作业监控告警系统所涉及的各个系统之间搭建一个消息分发的总控系统,将流式作业的监控指标数据上报到分布式消息分发系统后,可以通过流式作业的处理组件去消费相应的监控指标数据,以进行对流式作业进行用于实现监控告警的相关处理。
在一些实施例中,分布式消息分发系统根据支持的分发场景可以包括但不限于:分布式发布订阅消息传递系统Kafka、分布式文件系统(Hadoop Distributed FileSystem,Hadoop)、分布式的面向列的开源数据库系统(Hbase)等,具体可以根据实际应用场景和监控处理需求进行选择。
在本公开实施例中,监控指标可视化服务与第二上报链路相对应。监控指标可视化服务可以基于时序数据库来实现。时序数据库是用来存储时间序列数据的数据库。其中,时间序列数据是指携带时间标签(按照时间的顺序变化,即时间序列化)的数据。
在一些实施例中,时序数据库根据侧重支持的功能可以包括但不限于:时序数据库InfluxDB、TimescaleDB、KairosDB。其中,InfluxDB可以用于高性能地查询与存储时序数据;TimescaleDB可以支持完整结构化查询语言(Structured Query Language,SQL)的开放源代码;KairosDB可以支持多种协议数据写入。具体可以根据实际应用场景和监控处理需求进行选择。
在一些实施例中,第一上报链路的数据接口是与分布式发布订阅消息系统对应的数据接口;第二上报链路的数据接口是与时序数据库对应的数据接口。
在该实施例中,分布式发布订阅消息系统可以是Kafka系统,时序数据库可以是InfluxDB。对于Kafka系统,将流式作业的监控指标数据写入Kafka系统对应的数据接口,并使用流式作业的处理组件消费Kafka,即处理发布到Kafka系统的监控指标数据,实现对与监控指标数据的告警服务;对于InfluxDB,将流式作业的监控指标数据写入InfluxDB,并通过InfluxDB对监控指标数据进行高性能的查询和存储,以及基于存储在InfluxDB中监控指标数据实现监控指标的可视化服务。
在本公开实施例中,对于flink作业的监控指标数据可以同时支持上报指标至kafka系统和influxdb数据库,实现对flink作业的监控指标数据的多支路上报,通过其中一条支路将flink作业的监控指标数据可以上报至kafka系统,以通过监控指标数据提供流式作业的监控告警服务;通过其中另一条支路将flink作业的监控指标数据上报至influxdb,以通过分布式存储的监控指标数据实现后续的监控指标的可视化服务。
下面结合具体实施例,对传输至两条数据上报链路的监控指标数据的处理过程分别进行详细描述。本文的下述多个实施例用于描述通过监控指标数据提供流式作业的监控告警服务的具体实现方式。在下述实施例中,对监控指标数据执行与监控告警服务对应的监控处理,可以通过流式作业的告警处理组件来实现,告警处理组件可以通过计算机程序、代码或处理芯片来实现。
在一些实施例中,该至少一个数据上报链路包括与监控告警服务对应的第一上报链路;步骤S120具体可以包括如下步骤。
S11,将第一上报链路的流式作业的监控指标数据作为待匹配监控指标数据。
S12,对待匹配监控指标数据与预先读取到的告警规则集合进行匹配;其中,告警规则集合包括至少一条告警规则,每条告警规则与每个流式作业的作业名称相对应。
S13,若待匹配监控指标数据从告警规则集合中匹配到目标告警规则,则根据目标告警规则生成告警信息,将告警信息作为对应的监控处理结果。
在该实施例中,告警规则集合中的规则数量为多条(数量大于1)时,即可实现待匹配监控指标数据与多条告警规则的匹配。相关技术中,告警规则的匹配通常是单个数据流与单个规则进行匹配,单个数据流是指单个流式作业的监控指标数据;而本申请实施例可以对该匹配规则进行改进,从而可以实现在一个数据流(一个流式作业的监控指标数据)中支持多个规则的模型匹配,提高规则匹配效率,进而可以提高监控指标数据的告警处理效率。
以flink作业为例,基于flink的原生复杂事件处理组件可以记为:flink-cep,其中,cep的意思是复杂事件处理。原生flink-cep可以基于计算机程序或代码函数来实现监控数据指标与告警规则的匹配功能。例如,原生flink-cep可以是原生flink复杂事件处理模型。相关技术中,通过原生复杂事件模型进行流式作业的监控指标数据与告警规则的匹配。
在该示例中,相关技术中将监控指标数据传输到kafka系统后,原生flink-cep只支持单个流数据和单个规则匹配,而对原生flink-cep的处理方式进行改进后,本公开实施例可以可以实现,对一个数据流(一个流式作业的监控指标数据)支持多个告警规则的匹配,该规则匹配方式可以提高规则匹配效率,进而可以提高监控指标数据的告警处理效率。
在一些实施例中,待匹配监控指标数据对应于第一上报链路的至少两个流式作业;上述步骤S12中,对待匹配监控指标数据与预先读取到的告警规则集合进行匹配的步骤,具体可以包括如下步骤。
S21,获取待匹配监控指标数据的作业名称。
在该步骤中,每个监控指标数据都具有一个作业名称(JobName),JobName即流式作业的作业名。在接收到资源管理系统上报的流式作业的监控指标数据时,从监控指标数据的属性信息中可以获取到作业名称;但一些场景中,若获取到作业名称为空,说明资源管理系统在上报流式作业的监控指标数据时,没有上报作业名称;此时本公开实施例支持直接从流式作业的运行环境信息中读取作业名称。
示例性地,资源管理系统在运行流式作业时,可以通过应用管理器来监控作业进度,应用管理器可以决定如何运行构成整个作业的任务,当流式作业要处理的数据量较小(例如小于预定数据量阈值),则该应用管理器会选择在自己的虚拟机(Java VirtualMachine,JVM)客户端中运行流式作业任务,流式作业在该应用管理器的JVM客户端运行时,所产生的监控告警数据的属性信息包含作业名称。
基于此,对于资源管理系统上报的流式作业的监控指标数据,若监控指标数据的属性信息中作业名称的取值为空,则可以通过资源管理系统提供的参数获取接口从该JVM客户端中获取作业名称。
S22,基于作业名称对待匹配监控指标数据进行分组。
在该步骤中,分组后的待匹配监控指标数据,同一分组内的监控指标数据具有同一作业名称。
S23,根据每个分组的待匹配监控指标数据的作业名称,从告警规则集合中获取对应的告警规则,得到每个分组对应的告警规则子集。
在该步骤中,由于告警规则集合中的每个规则对应一个作业名称,所以根据每个分组的监控指标数据的作业名称,可以从告警规则中筛选出的告警规则子集,可以专门用于与该分组内的待匹配监控指标数据进行规则匹配,从而可以缩小监控指标数据与告警规则进行匹配时的查找范围。
S24,将第一上报链路的每个流式作业的待匹配监控指标数据,与所属分组对应的告警规则子集进行匹配,以获得与第一上报链路的每个流式作业的待匹配监控指标数据相匹配的目标告警规则。
在该实施例中,可以通过对监控指标数据的分组,使用分组内数据的作业名称去告警规则集合中去匹配对应的告警规则。具体地,按照作业名称对流式作业的待匹配监控指标数据进行分组,分组后的待匹配监控指标数据在后续过程中需要与告警规则进行匹配时,每个流式作业的待匹配监控指标数据,即可按照作业名称去匹配其对应的告警规则,从而既可以对同一分组的监控指标数据进行集中处理,也可以缩小监控指标数据与告警规则进行匹配时的查找范围,从而缩短匹配时间,提高匹配效率。
在一些实施例中,同一告警规则子集中的每条告警规则对应于同一预设键值,同一预设键值用于标识同一待匹配监控指标数据;上述步骤S23,具体可以包括如下步骤。
S31,获取第一上报链路的每个流式作业的待匹配监控指标数据的键值。
S32,将与待匹配监控指标数据的键值对应的告警规则子集,作为每个分组对应的告警规则子集。
在该实施例中,可以通过待匹配监控指标数据的键值获取与该键值对应的告警规则子集,从而将待匹配监控指标数据与该告警规则子集中的规则进行匹配。
通过上述实施例描述的相关技术可知,基于flink的原生复杂事件处理组件在进行告警规则的匹配时,是使用单个数据流与单个规则进行匹配的处理方式,也就是说,预先已设置好单个规则是需要与哪个数据流进行匹配的,因此,无需确定告警规则用于匹配哪个数据流的指向性信息。
而在本公开实施例中,若将每个流式作业的待匹配监控指标数据视为一个待匹配的数据流,则可以有多个待匹配数据流需要与所属分组对应的告警规则子集进行匹配。示例性地,假设告警规则集合A中包括多个告警规则子集,其中的两个告警规则子集为:告警规则子集A1和告警规则子集A2;在对待匹配的数据流1与待匹配的数据流2进行告警规则匹配之前,应预先确定告警规则子集与数据流的对应关系,否则将无法确定应该将待匹配的数据流与哪个告警规则子集的中的告警规则进行匹配,在确定好待匹配的数据流与告警规则子集的对应关系之后,即可将待匹配的数据流与对应的告警规则子集中的一条或多条告警规则进行匹配。
因此,为了确定告警规则子集与数据流的对应关系,可以对原生flink的原生复杂事件处理组件进行改进,使用待匹配监控指标数据的键值来表示该监控指标数据,建立告警规则与该键值之间的对应关系,即可得到告警规则与待匹配监控指标数据之间的对应关系,根据该对应关系,将待匹配的数据流与相对应的告警规则子集中的告警规则进行匹配。
在一些实施例中,在步骤S12的对待匹配监控指标数据与预先读取到的告警规则集合进行匹配之前,该作业监控方法还可以包括如下步骤。
S41,每隔预定的规则读取间隔时长,从指定的系统数据库中读取告警规则。
在该步骤中,规则读取间隔时长是指相邻两次从指定的系统数据库中读取告警规则的间隔时长;该系统数据库可以用于存储预先配置的告警规则;系统数据库的部署位置可以是在本公开实施例的作业监控系统对应的服务器,可以是云端服务器,也可以是云计算服务平台的管理服务器。规则读取间隔时长可以是固定值,即可以定时从指定的系统数据库中读取告警规则;规则读取间隔时长可以是非固定值,即可以根据实际运行环境或管理需求对规则读取间隔时长进行灵活调整。
S42,根据读取的告警规则对告警规则集合进行更新,得到新的告警规则集合。
在该实施例中,每隔预定的规则读取间隔时长,对指定的系统数据库中所包含的告警规则进行一次规则读取,并将根据读取到的告警规则生成的告警规则集合,作为新的告警规则集合,以实现对当前使用的告警规则集合的动态更新,从而可以实现多个流式作业的不同告警规则的动态更新,使得监控告警服务基于动态更新的告警规则进行,不同重启告警作业,减少重启作业带来的告警漏报和告警不及时性的发生概率。
在一些实施例中,系统数据库是由实时计算平台的管理服务器提供的系统数据库;系统数据库用于存储:通过实时计算平台对监控告警策略进行配置得到的告警规则集合;其中,监控告警策略包括第一上报链路的每个流式作业的监控告警策略。
本申请实施例中,在实时计算平台的管理端,通过实时计算平台提供的管理页面对每个作业的监控告警策略进行配置,配置后的告警规则存入由实时计算平台的管理服务器提供的系统数据库中,作业监控系统在对待匹配监控指标数据与预先读取到的告警规则集合进行匹配之前,可以定时从系统数据库中读取每个作业的告警规则,并将读取到的告警规则解析为可以与监控指标数据进行匹配处理的告警规则。该解析可以包括告警规则内容的解析和告警规则数据格式的解析,从而将解析出的告警规则供流式作业的监控指标数据进行告警规则匹配。
在上述实施例的描述中,介绍了对每个数据上报链路的流式作业的监控指标数据,执行与监控服务类型对应的监控处理,得到对应的监控处理结果的具体实施方式,为了更好地理解本公开的方案,下面结合示例,描述该处理过程对相关技术中原生复杂事件处理组件(flink-cep)的处理逻辑的具体改进内容。
作为一个改进内容,以基于Flink的告警处理组件为例,对原生flink-cep中的告警规则的接收方法进行改进。
具体地,在原生flink-cep组件中的函数程序包中添加用于接收告警规则集合的类。
示例性地,原生flink-cep组件中的函数程序包可以表示为org.apache.flink.cep.functions,其含义是,基于开源组织(org.apache)提供的开源代码为原生flink-cep构建的用于处理监控指标数据的接收过程的函数(functions)程序包。
示例性地,添加的用于接收告警规则集合的类可以表示为InjectionPatternFunction,其含义是,该类的函数程序包用于实现接收(Injection)外部的告警规则集合(Pattern)。
示例性地,该类中包含两个处理方法对应的函数代码,一个方法的函数可以表示为:Init()方法,用于初始化外部规则引擎的链接,外部规则可以是从预订的系统数据库中读取的告警规则集合,系统数据库是由实时计算平台的管理服务器提供的系统数据库;另一个方法为Inject()方法,用于读取外部规则,通过读取外部规则得到所有作业的匹配规则。本公开实施例的告警处理组件通过调用Inject()方法,通过该方法返回的结果,得到告警规则集合,例如可以称为是Map集合,Map集合中的每条记录可以表示为“键(Key)-值(Value)”的数据格式,例如Map<String,Pattern>,其中,String表示作业名称,Pattern表示告警规则;作业名称是KEY,告警规则是Value;其中,每个作业名称的数量大于或等于1,每个作业名称的告警规则的数量大于或等于1。
作为一个改进内容,增加接收告警规则集合的方法函数,将接收的告警规则集合用于:与当前上报链路的待匹配监控指标数据进行匹配。
具体地,在原生flink-cep组件中的事件处理类中添加用于接收告警规则集合的方法。
示例性地,原生flink-cep组件中的事件处理类可以表示为org.apache.flink.cep.CEP,其含义是,基于开源组织(org.apache)提供的开源代码为原生flink-cep构建的用于进行复杂事件处理的类(CEP)。
示例性地,在该类中添加的接收告警规则集合的方法可以表示为InjectPattern,即表示进行规则接收和读取。
示例性地,改进后的告警处理组件,在事件处理类中添加的用于接收告警规则集合的方法,其方法参数包括:实时数据流和InjectionPatternFunction这个接口的一个匿名内部类。实时数据流包括:当前上报链路的待匹配监控指标数据,该匿名内部类表示:读取到的告警规则集合;通过该接收告警规则集合的方法,当前上报链路的待匹配监控指标数据与该读取到的告警规则集合中的告警规则进行匹配。
作为一个改进内容,增加是否成功读取到告警规则集合的判定。
具体地,在原生flink-cep组件中的规则集合获取类中,增加用于判断读取到的告警规则是否满足预定条件的方法;具体地,预定条件可以是指:从实时计算平台的管理服务器提供的系统数据库中,成功读取到告警规则集合。
示例性地,在原生flink-cep组件中的规则集合获取类,可以表示为org.apache.flink.cep.PatternStream,其含义是,基于开源组织(org.apache)提供的开源代码为原生flink-cep构建的用于读取监控规则的类。
示例性地,在该类中增加的构造方法,可以表示为PatternStream()方法,该方法的参数包括实时数据流DataStream和接口的匿名内部类InjectionPatternFunction;该构造方法中,定义DataStream的属性为不可修改(final),定义DataStream可接收特定类型的流数据;该构造方法中,还可以定义匿名内部类InjectionPatternFunction的属性为不可修改;实时数据流包括:当前上报链路的待匹配监控指标数据,该匿名内部类表示:读取到的告警规则集合。在该增加的构造方法中,通过符号(this)将读取到的待匹配监控指标数据和读取到的告警规则集合传给对应的父类构造函数。示例性地,该父类构造函数可以表示为PatternStreamBuilder.forStreamAndPattern(inputStream,function))。其含义是:在构建告警规则集合的类PatternStreamBuilder中,构建上述新的PatternStream()方法时,可以通过判断是否传入了该InjectionPatternFunction参数,根据判断结果执行不同的事件处理(CepOperator)逻辑。若没有传入该参数,则执行原生flink-cep组件中的事件处理逻辑,即执行单个数据流与单个告警规则进行匹配的处理逻辑;若传入了该参数,表示成功读取到告警规则集合,则执行数据流与告警规则集合进行匹配的处理逻辑。
作为一个改进内容,对原生flink-cep中规则匹配方法进行改进。
作为示例,在原生flink-cep组件中的规则匹配类中,将类中每个成员的变量设置为Map<KEY,Object>形式,其中,KEY为新增的键,表示数据流的键值,Object为值,表示原来的成员变量类型。也就是说,通过设置告警规则与数据流的键值之间的对应关系,可以根据该键值确定需要与监控指标数据进行匹配的所有告警规则,改变现有技术中单个数据流与单个告警规则进行匹配的处理逻辑,实现数据流与多个告警匹配规则的匹配。
在该示例中,基于规则匹配方法对应的类和该类的数据结构,若一个数据流中有多个键值,表示该数据流中包含多个流式作业的待匹配监控指标数据,从而可以实现多个流式作业与告警规则集合的匹配规则。
作为一个改进内容,对原生flink-cep中定时更新告警匹配规则的方法进行改进。
作为示例,在上述原生flink-cep组件中的规则匹配类中,注册一个定时器,定时通过上述匿名内部类InjectionPatternFunction的Inject()方法从外部拉取最新的规则,从而通过定时拉取操作实现告警规则集合的动态更新。
在上述实施例的描述中,新增类的类名、新增方法的方法名和新增方法所包含参数的参数名,可以自定义设置,本公开实施例不做具体限定。
下面通过具体实施例,描述本公开实施例中对监控指标的过滤处理方案,通过对上报指标进行过滤,减轻告警监控的数据处理压力,提高系统稳定性。
在一些实施例中,在步骤S12,对待匹配监控指标数据与预先读取到的告警规则集合进行匹配之前,该作业监控方法还包括如下步骤。
S51,通过预设的指标上报管理接口访问预定存储空间,从预定存储空间中读取需上报指标的指标信息集合。
在该步骤中,该预定存储空间的接口可以由数据计算平台提供。具体地,在数据管理平台可以实现配置管理功能。示例性地,数据管理平台提供配置管理页面,通过配置管理页面接收用户配置的需要上报的指标信息,并将用于配置的需要上报的指标信息存入预定存储存储空间,得到位于预定存储存储空间中的需上报指标的指标信息集合。
在一些实施例中,数据计算平台还可以对外提供一个访问该预定存储空间的接口,通过该预定存储空间的接口,从预定存储空间中存储的指标信息集合中,获取所有配置到的需要上报指标的信息。
S52,根据指标信息集合中的指标信息对待匹配监控指标数据进行过滤,将过滤后的待匹配监控指标数据作为待匹配的监控指标数据。
在该步骤中,通过判断待匹配监控指标数据的指标信息是否在该指标信息集合中,若该指标信息集合中包含待匹配监控指标数据的指标信息,说明该指标信息是需要上报的指标信息,则将该指标信息对应的待匹配监控指标数据,作为过滤后的监控指标数据,以用于后续对过滤后的监控指标数据执行与监控告警服务对应的监控处理。
作为示例,若配置的待匹配监控指标数据的过滤指标只包括作业存活时间,则消费kafka主题(即上报至kafka系统中的待匹配监控指标数据对应的主题)也只获得这个监控指标的数据。
根据该实施例的监控指标的过滤处理,过滤后的监控指标可以减少指标采集过程的处理压力,也可以为后续的告警处理过程减压,从而提高告警作业的稳定性。若将接收到的流式作业的监控指标数据上报到kafka系统,不仅可以减轻kafka集群的整体压力,还能对后续的实时告警作业减压,提高告警作业的稳定性。
在一些实施例中,指标上报管理接口是由实时计算平台的管理服务器提供的接口,预定存储空间为缓存空间,缓存空间用于缓存通过实时计算平台每隔预定时长进行配置的指标信息集合。步骤S51中,从预定存储空间中读取需上报指标的指标信息集合的步骤,具体可以包括如下步骤。
S61,从缓存空间中读取指标信息集合。
在该实施例中,缓存空间可以是实时管理平台为了提升系统性能而开辟的内存空间。该缓存空间的主要作用是暂时在内存中保存通过实时管理平台配置的需上报指标的指标信息集合,并等待下次对该缓存空间的访问使用。
S62,若预定时长小于指标信息集合在缓存空间的存储时长,则对读取的指标信息集合进行去重处理,将去重后的指标信息集合,作为需上报指标的指标信息集合。
在该实施例中,缓存空间可以是一个定时缓存,即具有一定的存储时长。该存储时长用于指示缓存空间中存储的指标信息集合的存储有效时长。超过该存储有效时长时,缓存空间中的内容会被清空;并且,若相邻两次读取该缓存空间的间隔时长小于该存储时长,表示读取到的指标信息集合与上一次读取到的指标信息集合发生信息重合的概率较大,因此需要进行去重处理,减少读取信息的冗余。
在一些实施例中,待匹配监控指标数据包括如下信息项的至少一项:指标值(fields)、指标名称(measurement)、指标计量单位(precision)、指标上报时间(time)和指标所属作业的运行信息(tags);待匹配监控指标数据中的信息项具有预定的数据格式;指标所属作业的运行信息包括如下信息项的至少一项:运行所在主机的主机名称、指标所属作业的作业标识(job_id)和作业名称(job_name)。
其中,fields为预定指标的具体值,预定指标包括但不限于如下指标项中的至少一种:作业运行时长、单位时间内流入流出的数据量、作业耗时、CPU使用率等;measurement为指标名称,precision为指标计量单位的描述信息,例如当指标项为作业运行时长或作业耗时,指标计量单位包括但不限于是:毫秒、秒、分钟等,指标计量单位具体可以根据实际情况来确定;tags为作业运行过程中的信息记录,例如记录作业启动、执行、销毁过程的运行信息;host代表作业运行所在主机的名称;job_id为作业标识,用于标识流式计算框架(例如flink)运行过程中的流式作业;job_name为流式作业在流式计算框架(例如flink)运行过程中的作业名称;time为指标上报的时间,也即流式作业在流式计算框架(例如flink)中的事件时间(Event Time)。
在一些实施例中,对于指标上报时间,数据类型可以是时间类型;对于指标名称、指标计量单位的描述信息、作业运行过程中的信息记录、作业运行所在主机的名称、作业标识、作业名称,数据类型可以是文本、字符串等类型,具体可以根据实际情况进行自定义设置,本公开实施例不做具体限定。
在该实施例中,数据格式可以用于对待匹配监控指标数据中的信息项进行筛选,通过该筛选可以保留指标数据中的核心数据,减少监控指标数据的冗余;并且,本公开实施例中的告警处理组件在对符合该数据格式的待匹配监控指标数据进行处理时,可以在实现告警业务实现的同时,减少数据处理量,节约计算资源,提高计算效率。
在本公开实施例中,按照约定的数据格式信息,把指标数据上报到kafka系统中,一方面可以减少监控指标数据的冗余,只保留指标的核心数据;另一方面在监控服务组件对上报到kafka系统中的监控指标数据进行消费,从而将上报到kafka系统中的监控指标数据与监控指标集合进行匹配,在实现告警业务实现的同时,也可以减少数据的处理量,节约计算资源,提高处理效率。
在一些实施例中,告警规则集合中的告警规则是基于流式作业事件设置的规则,流式作业事件包括如下项中的至少一项:作业存活事件、作业反压事件、作业自动重启事件、作业检查点失败次数、作业在分布式发布订阅消息系统中的消息积压事件、作业任务管理回收次数事件。
在该实施例中,基于作业存活事件设置的规则包括:预定统计长内的作业存活时长达到存活时长阈值;基于作业反压事件设置的规则包括:预定统计长内的作业反压事件的发生次数超过作业反压次数阈值;基于作业自动重启事件设置的规则包括:预定统计长内的作业自动重启次数的次数超出重启次数阈值;基于作业检查点失败次数设置的规则包括:预定统计长内的作业失败次数超出失败次数阈值;基于作业任务管理回收(taskManager Garbage Collection)次数事件的设置的规则包括:预定统计长内的回收次数超出回收次数阈值。
下面以基于作业存活事件设置的规则为例,描述一个具体示例的实时监控告警实现过程。该示例中的作业数量、配置的需上报指标的指标信息、监控指标数据以及规则具体内容均为示例性说明,不能被解读为限制本方案的范围或实施可能性。
作为示例,例如从预定的系统数据库读取到的读取告警规则是根据“作业存活”设置的告警规则;也就是说,在实时计算平台上配置的作业监控告警项为作业存活,作业存活依赖作业存活时长(jobmanager_job_uptime)这个监控指标,并设置作业存活时长阈值为30秒。在该示例中,若在预定统计时长内收到流式作业的监控指标数据,则表示该流式作业为存活状态。
示例性地,通过本公开实施例的告警处理组件,启动作业存活的flink-cep作业,以用于消费上报至kafka的监控指标数据;示例性的,若在flink框架的用户界面执行作业删除(Cancel),则在30秒内会收到作业存活的告警信息,实现对监控指标数据的监控告警。
示例性地,通过本公开实施例的告警处理组件,在资源管理系统中启动两个流式作业,例如:作业A和作业B。其中,对作业A的告警规则是根据“作业存活”设置的告警规则(存活策略),存活策略中的存活时间阈值例如设置为30秒,若没有收到作业A上报的告警指标数据,则可以判定作业A进行的告警规则匹配失败,不产生告警数据;对作业B的告警规则也是根据“作业存活”设置的告警规则(存活策略),存活策略中的存活时间阈值例如设置为40秒,若没有收到作业B上报的告警指标数据,则可以判定作业B进行的告警规则匹配失败,不产生告警数据。
在该示例中,若分别删除作业A和作业B,作业A可以在被删除30秒后,产生相应告警信息;作业B可以在被删除40秒后生成告警信息;再重启作业A和作业B,设置作业A的存活策略(存活时间阈值例如设置为40秒),设置作业B的存活策略(存活时间阈值例如设置为40秒);5分钟后,再次删除作业A和作业B,作业A在被删除40秒后收到告警,作业B在被删除30秒后收到告警;告警处理中,对作业A进行的告警规则匹配成功,对作业B进行的告警规则匹配成功。
通过上述示例可知,本公开实施例的监控规则匹支持多规则和动态更新,为接收到的流式作业提供实时动态的监控告警服务。
本文的下述多个实施例用于描述通过监控指标数据提供监控指标可视化服务的具体实现方式。在下述实施例中,对监控指标数据执行与监控指标可视化服务对应的监控处理。
在一些实施例中,至少一个数据上报链路包括与监控指标可视化服务对应的第二上报链路;上述步骤S120具体可以包括如下步骤。
S71,将第二上报链路的流式作业的监控指标数据作为待展示监控指标数据;
S72,从待展示监控指标数据中,获取符合预定的筛选条件的监控指标数据;
S73,将符合筛选条件的监控指标数据发送至预定的数据可视化平台,以通过数据可视化平台显示符合筛选条件的监控指标数据。
通过上述步骤S71-S73,筛选条件用于从待展示监控指标数据中,获取需要展示的监控指标数据,进行监控指标的可视化。
在一些实施例中,数据可视化平台可以用于进行监控数据的可视化显示。示例性地,数据可视化平台包括但不限于是:跨平台的开源的度量分析和可视化工具Grafana、机器数据的引擎Splunk、数据可视化和挖掘工具kibana。其中,Grafana是一个可以通过将采集的数据查询然后可视化的展示,并及时对所展示的内容生成展示通知消息;Splunk可收集、索引和利用所有应用程序、服务器和设备生成的快速移动型计算机数据,并进行可视化展示。
在一些实施例中,数据可视化平台中包含作业监控页面,作业监控页面包含多个页面标签,每个页面标签对应一个筛选条件;步骤S73中,通过数据可视化平台显示符合筛选条件的监控指标数据的步骤,具体可以包括:在作业监控页面,根据每个页面标签对应的筛选条件,显示符合对应筛选条件的监控指标数据。
为了便于理解,通过图4描述本公开实施例的作业监控页面的示意图。在一些实施例中,作业监控页面可以包括多个标签。在图4中,示例性示出了如下标签项:作业名称(Job_Name)、实时数仓(Doris)、操作者姓名(Operator_Name)、任务管理标识(TaskManager_ID)、作业管理(Job_Manager);以及示例性示出了列表中的如下标签:概览(Overbiew)信息、作业管理信息(虚拟机)、作业管理(检查点)、任务管理(虚拟机)、任务管理(任务运算任务)。图4中的每个标签用于展示相应指标的数据;每个标签展开后,可以显示该标签下进一步细分的指标;实现不同级别的标签分类,从而根据标签分类,查看根据每个标签进行分类的监控数据,在可视化界面实现指标的分级分类显示。
参考图4,标签信息可以包括作业名称;也就是说,在一些实施例中,筛选条件是根据监控指标数据的属性信息设置的条件,属性信息包括作业名称。本公开实施例支持根据作业名称进行待展示监控指标数据的筛选和可视化展示。
在该实施例中,在步骤S72之前,该作业监控方法还包括如下步骤。
S81,获取待展示监控指标数据对应的作业名称。
S82,若获取到的作业名称为空值,则从预定的参数传输路径读取待展示监控指标数据的运行环境信息。
S83,从运行环境信息中读取作业名称。
该实施例中,作业名称的获取方法与前述实施例中结合S21描述的作业名称的获取方法相同,在次不再赘述。
示例性地,以Yarn中对flink作业启动过程中,通过作业配置类进行参数设置,作业配置类例如可以表示为:org.apache.flink.configuration.Configuration,其含义是:基于开源组织(org.apache)提供的开源代码,对flink作业进行配置(Configuration)相应的类。
作为设置参数函数示例:"env.java.opts"="-DjobName"+jobName,其中,env.java.opts表示参数的实现函数名,jobName为作业名称字段,-DjobName为作业名称字段内容。
作为示例,在对待展示监控指标数据进行上报处理时,在接收到资源管理系统传来的指标数据和在每次上报之前,判断该指标数据中是否有作业名称字段,若无作业名称字段,则从Yarn中流式作业所对应的虚拟机环境中获取该流式作业的作业名称。作业名称的获取函数例如可以表示为System.getProperties(“jobName”),通过上述处理操作可以使每个待展示监控指标数据都包含jobName。
根据本公开实施例的作业监控方法,对资源管理系统中运行的每一个流式计算任务(即流式作业)可以赋予一个作业名称,资源管理系统在进行流式作业的监控指标上报的过程中,基于流式计算框架自身支持的预设监控指标,并不都是会把作业名称作为上报指标字段进行上传,而在本公开实施例中,资源管理系统可以支持在流式任务的监控指标数据传输至本作业监控系统时,把流式作业的作业名称作为上传字段进行上传,若未上传,也可以根据预先提供的接口从流式作业的运行环境中获取。从而在监控可视化的时,可以支持以作业名称筛选各个监控指标的可视化数据。
在一些实施例中,在步骤S72之后和步骤S73之前,作业监控方法还包括如下步骤。
S91,使用时序数据库的代理服务,按照预定分配规则将待展示监控指标数据分配到至少一个时序数据库;以及,S92,使用时序数据库的代理服务,根据预定分配规则从至少一个时序数据库中,获取符合筛选条件的监控指标数据。
在本公开实施例中,在将待展示监控数据存入至少一个时序数据库时,可以通过时序数据库的代理服务实现时序数据库的高可用性能。通过时序数据库存储待展示监控指标数据,可以对待展示监控指标数据进行趋势评估,有利于进行后续及时发现问题并采取措施。时序数据库的代理服务是基于时序数据库的集群代理服务,可以是实现时序数据库的高可用集群部署,其而具有动态扩容/缩容、故障恢复和数据同步的能力。
在一些实施例中,预定分配规则,是根据待展示监控指标数据中的至少一个信息项设置的规则。在该实施例中,根据待展示监控指标数据按照执行信息项进行数据分类,分类后的监控指标数据通过实现时序数据库的代理服务器存储至一个时序数据库,实现待展示监控指标数据的分布式存储。
根据本公开上述实施例的作业分配方法,可以为接收到的流式作业的监控指标数据预先配置有至少一个数据上报链路的数据接口,传输至任意一条数据上报链路的数据接口,意味着为监控指标数据选择了相应的监控服务类型,从而可以根据接收到的流式作业的监控指标数据,实现相应监控服务器类型的监控服务。
图5示出本公开实施例的监控架构系统的结构示意图。在图5中,该监控架构系统可以包括:数据实时计算平台510、资源管理系统520和作业监控系统530。
其中,数据实时计算平台510,用于向资源管理系统提交流式作业;资源管理系统520,用于运行流式作业,并将流式作业运行产生的监控指标数据发送至作业监控系统;作业监控系统530,用于接收流式作业监控指标数据,并执行上述实施例的作业监控方法。
图5中的数据实时计算平台510与图2中的数据实时计算平台210、图5中的资源管理系统520与图2中的资源管理系统220、以及图5中的作业监控系统530与图2中的作业监控系统230,具有相同的结构,可以实现相同的功能。需要明确的是,本发明并不局限于上文实施例中所描述并在图中示出的特定配置和处理。为了描述的方便和简洁,这里省略了对已知方法和模块的详细描述,并且上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
根据本公开实施例的监控架构系统,对流式作业的监控指标数据提供不同的监控服务类型,从而将监控指标数据传输到不同上报链路的数据接口,执行相应的监控服务,实现监控服务类型的多样化;通过为不同上报链路的监控指标数据进行不同的监控处理,有利于后续同步的执行各监控服务类型对应的监控处理,提高监控处理效率;也有利于出现不同监控服务类型的系统错误时,快速定位出现问题的数据上报链路,提高问题排查效率。
在一些实施例中,监控架构系统还包括数据可视化平台250;其中,数据可视化平台250,用于提供预设的监控可视化页面的资源定位地址,资源定位地址用于建立实时计算平台210到监控可视化页面的外部链接;实时计算平台210,还用于提供作业告警管理页面,并在作业告警管理页面检测到指向监控可视化页面的跳转操作的情况下,通过外部链接向监控可视化页面发送跳转请求;数据可视化平台250,还用于基于跳转请求,通过监控可视化页面显示流式作业监控指标数据。
在该实施例中,实时计算平台可以基于自身平台的作业告警管理页面跳转到数据可视化平台的页面,实现页面之间的灵活跳转。
图6示出本公开示例性实施例的数据可视化平台的跳转前页面的示意图。在图6中,显示的是数据可视化平台的一个监控可视化页面,通过点击监控可视化页面上的“作业曲线”,可以跳转到数据可视化平台查看该作业曲线对应的页面。
应理解,该数据可视化平台的一个监控可视化页面上的内容仅为示意性说明,不影响本公开实施例的保护范围。
下面通过图7和图8,描述本公开示例性实施例的作业监控系统和作业监控方法。
图7示出本公开示例性实施例的作业监控系统的结构示意图;图8示出本公开示例性实施例的作业监控方法的流程图。图7与图2和图5中相同的标号表示相同结构。
在图7中,作业监控系统230还包括消息传递系统上报器71、时序数据上报器72、规则匹配组件73;图7中还示出了告警服务平台240、可视化平台250、时序数据库的代理服务器260用于时序数据集群270提供代理服务。时序数据集群270包含多个时序数据库,其中两个例如图7中示出的时序数据库1和时序数据库2。
在图7中,可以在作业监控系统中配置多个监控指标上传器,例如包括消息传递系统上报器71、时序数据上报器72;消息传递系统上报器71,可以用于作业运行监控指标的实时告警,支持上报监控数据指标的动态过滤,通过可视化平台250显示过滤后的监控数据指标的指标信息。
在图7中,可以采用基于原生复杂事件处理组件改造后的规则匹配组件73,对消息传递系统上报器71上报的监控指标数据进行多个告警规则的匹配,来进行流式作业的实时告警,在这个匹配过程中,每一个流式作业的监控指标数据对应多个规则的匹配;时序数据上报器72,可以用于作业监控数据指标的可视化,并可以采用时序数据库的代理服务器260提供的代理服务,实现时序数据集群270的高可用。
在图7中,将规则匹配组件73的规则匹配结果上传到实时计算平台210,若存在监控指标数据的目标匹配规则,则可以通过告警服务平台240输出告警信息。
在图7中,时序数据库集群270,可以用于接收并存储作业监控系统230上报的监控指标数据,为后续进行监控指标数据的查询和可视化处理提供数据存储保障;告警服务平台240可以用于接收作业监控系统230对监控指标数据进行监控处理得到的告警信息,实现告警信息的输出;可视化平台250用于基于作业监控系统230对监控指标数据的可视化展示要求,实现监视指标数据的可视化。
如图8所示,作业监控方法可以包括如下步骤。
S801,实时计算平台生成流式作业和配置告警规则。
S802,提交流式作业到资源管理系统。
S803,资源管理系统运行流式作业。
该步骤中,若资源管理系统运行流式作业失败,则无指标上报;若运行成功,执行步骤S811。
S811,接收流式作业的监控指标数据。
S812,将流式作业的监控指标数据上报到消息传递系统上报器,并执行步骤S812-S819,以及步骤S831-S832。
步骤S821,将流式作业的监控指标数据上报到时序数据上报器,并执行步骤S821-S825。
S813,对监控指标数据进行动态过滤。
S814,将动态过滤后的监控指标数据上报至消息传递系统。
S815,获取告警规则并进行告警规则集合的动态更新。
S830,确定当前距离上次从指定的系统数据库中读取告警规则的时间间隔是否达到预设的规则读取间隔时长。
S831,若达到规则读取间隔时长,则进行告警规则更新,基于更新的告警规则执行S816。
S832,若未达到规则读取间隔时长,则不更新告警规则,根据当前告警规则执行步骤S816。
S816,将上报的监控指标数据与告警规则集合进行匹配。
S817,若匹配到上报的监控指标数据的目标告警规则,确定告警时间匹配成功。
S818,向实时计算平台发送告警消息。
S822,接收流式作业的监控指标数据发送到时序数据库的代理服务器。
S823,时序数据库的代理服务器将流式作业的监控指标数据分配到时序数据库。
S824,可视化平台对监控指标数据,并可以提供实时计算作业曲线的外部链接。
S825,接收到对实时计算作业曲线的跳转请求时,展示实时计算作业曲线的页面。
根据本公开实施例的业务监控方法,实时计算平台提交流式作业,有利于流式作业在资源管理系统中正常运行,作业正常运行后;资源管理系统上报作业的监控指标数据。
在公开实施例中,作业监控指标数据可以上传到时序数据库的代理服务器上,经过代理计算,将监控指标数据分配至时序数据库实例上;时序数据库可以通过时序数据库的代理服务器与可视化平台相连,从而可以在可视化平台上创建可视化页面或可视化看板,实现监控指标数据的可视化展示。
在公开实施例中,作业监控指标数据可以也上传到消息传递系统中,以进行流式作业的监控指标数据和告警规则集合中多个告警规则的匹配,若上传到消息传递系统中的监控指标数据配匹配到目标告警规则,则根据匹配到的目标告警规则生成告警信息,作为与告警信息对应的监控处理结果。
根据本公开实施例的作业监控方法,对流式作业的监控指标数据提供不同的监控服务类型,从而将监控指标数据传输到不同上报链路的数据接口,执行相应的监控服务,实现监控服务类型的多样化;通过为不同上报链路的监控指标数据进行不同的监控处理,有利于后续同步的执行各监控服务类型对应的监控处理,提高监控处理效率;也有利于出现不同监控服务类型的系统错误时,快速定位出现问题的数据上报链路,提高问题排查效率。
根据本公开实施例的业务监控方法可以由终端设备或服务器等电子设备执行,终端设备可以为车载设备、用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字助理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等,方法可以通过处理器调用存储器中存储的计算机可读程序指令的方式来实现。或者,可通过服务器执行方法。
此外,本公开还提供了作业监控方法、装置、电子设备、计算机可读存储介质,上述均可用来实现本公开提供的任一种作业监控方法,相应技术方案和描述和参见方法部分的相应记载,不再赘述。
图9为本公开实施例提供的一种作业监控装置的框图。
参照图9,本公开实施例提供了一种作业监控装置,该作业监控装置包括:传输模块910,用于将接收到的流式作业的监控指标数据,传输至预先配置的至少一个数据上报链路的数据接口;其中,不同的数据上报链路对应于不同的监控服务类型;处理模块920,用于对每个数据上报链路的流式作业的监控指标数据,执行与监控服务类型对应的监控处理,得到对应的监控处理结果。
在一些实施例中,不同的数据上报链路包括第一上报链路和第二上报链路;不同的监控服务类型包括:第一上报链路对应的监控告警服务和第二上报链路对应的监控指标可视化服务;传输模块910,具体用于将接收到的监控指标数据传输至第一上报链路的数据接口和第二上报链路的数据接口,以用于提供对应的监控告警服务和对应的监控指标可视化服务。
在一些实施例中,第一上报链路的数据接口是与分布式发布订阅消息系统对应的数据接口;第二上报链路的数据接口是与时序数据库对应的数据接口。
在一些实施例中,至少一个数据上报链路包括与监控告警服务对应的第一上报链路;处理模块920,具体用于:将第一上报链路的流式作业的监控指标数据作为待匹配监控指标数据;对待匹配监控指标数据与预先读取到的告警规则集合进行匹配;其中,告警规则集合包括至少一条告警规则,每条告警规则与每个流式作业的作业名称相对应;若待匹配监控指标数据从告警规则集合中匹配到目标告警规则,则根据目标告警规则生成告警信息,将告警信息作为对应的监控处理结果。
在一些实施例中,待匹配监控指标数据对应于第一上报链路的至少两个流式作业;处理模块920,在用于对待匹配监控指标数据与预先读取到的告警规则集合进行匹配,具体用于:获取待匹配监控指标数据的作业名称;基于作业名称对待匹配监控指标数据进行分组;根据每个分组的待匹配监控指标数据的作业名称,从告警规则集合中获取对应的告警规则,得到每个分组对应的告警规则子集;将第一上报链路的每个流式作业的待匹配监控指标数据,与所属分组对应的告警规则子集进行匹配,以获得与第一上报链路的每个流式作业的待匹配监控指标数据相匹配的目标告警规则。
在一些实施例中,同一告警规则子集中的每条告警规则对应于同一预设键值,同一预设键值用于标识同一待匹配监控指标数据;处理模块920,在用于根据每个分组的待匹配监控指标数据的作业名称,从告警规则集合中获取对应的告警规则,得到每个分组对应的告警规则子集时,具体用于:获取第一上报链路的每个流式作业的待匹配监控指标数据的键值;将与待匹配监控指标数据的键值对应的告警规则子集,作为每个分组对应的告警规则子集。
在一些实施例中,处理模块920,在用于对待匹配监控指标数据与预先读取到的告警规则集合进行匹配之前,还用于每隔预定的规则读取间隔时长,从指定的系统数据库中读取告警规则;根据读取的告警规则对告警规则集合进行更新,得到新的告警规则集合。
在一些实施例中,系统数据库是由实时计算平台的管理服务器提供的系统数据库;系统数据库用于存储:通过实时计算平台对监控告警策略进行配置得到的告警规则集合;其中,监控告警策略包括第一上报链路的每个流式作业的监控告警策略。
在一些实施例中,处理模块920,在用于对待匹配监控指标数据与预先读取到的告警规则集合进行匹配之前,还用于:通过预设的指标上报管理接口访问预定存储空间,从预定存储空间中读取需上报指标的指标信息集合;根据指标信息集合中的指标信息对待匹配监控指标数据进行过滤,将过滤后的待匹配监控指标数据作为待匹配的监控指标数据。
在一些实施例中,指标上报管理接口是由实时计算平台的管理服务器提供的接口,预定存储空间为缓存空间,缓存空间用于缓存通过实时计算平台每隔预定时长进行配置的指标信息集合;处理模块920,在用于从预定存储空间中读取需上报指标的指标信息集合,具体用于从缓存空间中读取指标信息集合;若预定时长小于指标信息集合在缓存空间的存储时长,则对读取的指标信息集合进行去重处理,将去重后的指标信息集合,作为需上报指标的指标信息集合。
在一些实施例中,待匹配监控指标数据包括如下信息项的至少一项:指标值、指标名称、指标计量单位、指标上报时间和指标所属作业的运行信息;待匹配监控指标数据中的信息项具有预定的数据格式;指标所属作业的运行信息包括如下信息项的至少一项:运行所在主机的主机名称、指标所属作业的作业标识和作业名称。
在一些实施例中,告警规则集合中的告警规则是基于流式作业事件设置的规则,流式作业事件包括如下项中的至少一项:作业存活事件、作业反压事件、作业自动重启事件、作业检查点失败次数、作业在分布式发布订阅消息系统中的消息积压事件、作业任务管理回收次数事件。
在一些实施例中,至少一个数据上报链路包括与监控指标可视化服务对应的第二上报链路;处理模块920具体用于将第二上报链路的流式作业的监控指标数据作为待展示监控指标数据;从待展示监控指标数据中,获取符合预定的筛选条件的监控指标数据;将符合筛选条件的监控指标数据发送至预定的数据可视化平台,以通过数据可视化平台显示符合筛选条件的监控指标数据。
在一些实施例中,数据可视化平台中包含作业监控页面,作业监控页面包含多个页面标签,每个页面标签对应一个筛选条件;处理模块920具体用于通过数据可视化平台显示符合筛选条件的监控指标数据时,具体用于在作业监控页面,根据每个页面标签对应的筛选条件,显示符合对应筛选条件的监控指标数据。
在一些实施例中,筛选条件是根据监控指标数据的属性信息设置的条件,属性信息包括作业名称;处理模块920在用于从待展示监控指标数据中,获取符合预定的筛选条件的监控指标数据之前,还用于获取待展示监控指标数据对应的作业名称;若获取到的作业名称为空值,则从预定的参数传输路径读取待展示监控指标数据的运行环境信息;从运行环境信息中读取作业名称。
在一些实施例中,处理模块920,还用于在获取符合预定的筛选条件的监控指标数据之后,和,在将符合筛选条件的监控指标数据发送至预定的数据可视化平台之前,用于使用时序数据库的代理服务,按照预定分配规则将待展示监控指标数据分配到至少一个时序数据库;以及,使用时序数据库的代理服务,根据预定分配规则从至少一个时序数据库中,获取符合筛选条件的监控指标数据。
在一些实施例中,预定分配规则,是根据待展示监控指标数据中的至少一个信息项设置的规则。
根据本公开实施例的作业监控装置,对流式作业的监控指标数据提供不同的监控服务类型,从而将监控指标数据传输到不同上报链路的数据接口,执行相应的监控服务,实现监控服务类型的多样化;通过为不同上报链路的监控指标数据进行不同的监控处理,有利于后续同步的执行各监控服务类型对应的监控处理,提高监控处理效率;也有利于出现不同监控服务类型的系统错误时,快速定位出现问题的数据上报链路,提高问题排查效率。
可以理解,本公开提及的上述各个方法实施例,在不违背原理逻辑的情况下,均可以彼此相互结合形成结合后的实施例,限于篇幅,本公开不再赘述。本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
图10为本公开实施例提供的一种电子设备的框图。
参照图10,本公开实施例提供了一种电子设备,该电子设备包括:至少一个处理器1001;至少一个存储器1002,以及一个或多个I/O接口1003,连接在处理器1001与存储器1002之间;其中,存储器1002存储有可被至少一个处理器1001执行的一个或多个计算机程序,一个或多个计算机程序被至少一个处理器1001执行,以使至少一个处理器1001能够执行上述的作业监控方法。
本公开实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其中,计算机程序在被处理器/处理核执行时实现上述的作业监控方法。计算机可读存储介质可以是易失性或非易失性计算机可读存储介质。
本公开实施例还提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当计算机可读代码在电子设备的处理器中运行时,电子设备中的处理器执行上述作业监控方法。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读存储介质上,计算机可读存储介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。
如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读程序指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM)、静态随机存取存储器(SRAM)、闪存或其他存储器技术、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读程序指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里所描述的计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本文已经公开了示例实施例,并且虽然采用了具体术语,但它们仅用于并仅应当被解释为一般说明性含义,并且不用于限制的目的。在一些实例中,对本领域技术人员显而易见的是,除非另外明确指出,否则可单独使用与特定实施例相结合描述的特征、特性和/或元素,或可与其他实施例相结合描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离由所附的权利要求阐明的本公开的范围的情况下,可进行各种形式和细节上的改变。
Claims (15)
1.一种作业监控方法,其特征在于,包括:
将接收到的流式作业的监控指标数据,传输至预先配置的至少一个数据上报链路的数据接口;其中,不同的数据上报链路对应于不同的监控服务类型;
对每个数据上报链路的流式作业的监控指标数据,执行与所述监控服务类型对应的监控处理,得到对应的监控处理结果。
2.根据权利要求1所述的监控方法,其特征在于,
所述不同的数据上报链路包括第一上报链路和第二上报链路;
所述不同的监控服务类型包括:所述第一上报链路对应的监控告警服务和所述第二上报链路对应的监控指标可视化服务;
所述将接收到的流式作业的监控指标数据,传输至预先配置的至少一个数据上报链路的数据接口,包括:
将接收到的所述监控指标数据传输至所述第一上报链路的数据接口和所述第二上报链路的数据接口,以用于提供对应的所述监控告警服务和所述监控指标可视化服务。
3.根据权利要求2所述的监控方法,其特征在于,所述第一上报链路的数据接口是与分布式发布订阅消息系统对应的数据接口;所述第二上报链路的数据接口是与时序数据库对应的数据接口。
4.根据权利要求1所述的监控方法,其特征在于,所述至少一个数据上报链路包括与监控告警服务对应的第一上报链路;所述对每个数据上报链路的流式作业的监控指标数据,执行与所述监控服务类型对应的监控处理,得到对应的监控处理结果,包括:
将所述第一上报链路的流式作业的监控指标数据作为待匹配监控指标数据;
对所述待匹配监控指标数据与预先读取到的告警规则集合进行匹配;其中,所述告警规则集合包括至少一条告警规则,每条告警规则与每个流式作业的作业名称相对应;
若所述待匹配监控指标数据从所述告警规则集合中匹配到目标告警规则,则根据所述目标告警规则生成告警信息,将所述告警信息作为对应的监控处理结果。
5.根据权利要求4所述的监控方法,其特征在于,所述待匹配监控指标数据对应于所述第一上报链路的至少两个流式作业;所述对所述待匹配监控指标数据与预先读取到的告警规则集合进行匹配,包括:
获取所述待匹配监控指标数据的作业名称;
基于所述作业名称对所述待匹配监控指标数据进行分组;
根据所述每个分组的待匹配监控指标数据的作业名称,从告警规则集合中获取对应的告警规则,得到所述每个分组对应的告警规则子集;
将所述第一上报链路的每个流式作业的待匹配监控指标数据,与所属分组对应的告警规则子集进行匹配,以获得与所述第一上报链路的每个流式作业的待匹配监控指标数据相匹配的目标告警规则。
6.根据权利要求5所述的监控方法,其特征在于,同一告警规则子集中的每条告警规则对应于同一预设键值,所述同一预设键值用于标识同一待匹配监控指标数据;
所述根据所述每个分组的待匹配监控指标数据的作业名称,从告警规则集合中获取对应的告警规则,得到所述每个分组对应的告警规则子集,包括:
获取所述第一上报链路的每个流式作业的待匹配监控指标数据的键值;
将与所述待匹配监控指标数据的键值对应的告警规则子集,作为所述每个分组对应的告警规则子集。
7.根据权利要求4所述的监控方法,其特征在于,在对所述待匹配监控指标数据与预先读取到的告警规则集合进行匹配之前,所述方法还包括:
通过预设的指标上报管理接口访问预定存储空间,从所述预定存储空间中读取需上报指标的指标信息集合;
根据所述指标信息集合中的指标信息对所述待匹配监控指标数据进行过滤,将过滤后的待匹配监控指标数据作为所述待匹配的监控指标数据。
8.根据权利要求7所述的监控方法,其特征在于,所述指标上报管理接口是由实时计算平台的管理服务器提供的接口,所述预定存储空间为缓存空间,所述缓存空间用于缓存通过所述实时计算平台每隔预定时长进行配置的所述指标信息集合;
所述从所述预定存储空间中读取需上报指标的指标信息集合,包括:
从所述缓存空间中读取所述指标信息集合;
若所述预定时长小于所述指标信息集合在所述缓存空间的存储时长,则对读取的所述指标信息集合进行去重处理,将所述去重后的指标信息集合,作为所述需上报指标的指标信息集合。
9.根据权利要求1所述的监控方法,其特征在于,所述至少一个数据上报链路包括与监控指标可视化服务对应的第二上报链路;所述对每个数据上报链路的流式作业的监控指标数据,执行与所述监控服务类型对应的监控处理,得到对应的监控处理结果,包括:
将所述第二上报链路的流式作业的监控指标数据作为待展示监控指标数据;
从所述待展示监控指标数据中,获取符合预定的筛选条件的监控指标数据;
将符合所述筛选条件的监控指标数据发送至预定的数据可视化平台,以通过所述数据可视化平台显示符合所述筛选条件的监控指标数据。
10.根据权利要求9所述的监控方法,其特征在于,在所述获取符合预定的筛选条件的监控指标数据之后,和,在将符合所述筛选条件的监控指标数据发送至预定的数据可视化平台之前,所述方法还包括:
使用时序数据库的代理服务,按照预定分配规则将所述待展示监控指标数据分配到至少一个时序数据库;
以及,使用所述时序数据库的代理服务,根据所述预定分配规则从所述至少一个时序数据库中,获取符合所述筛选条件的监控指标数据。
11.一种作业监控装置,其特征在于,包括:
传输模块,用于将接收到的流式作业的监控指标数据,传输至预先配置的至少一个数据上报链路的数据接口;其中,不同的数据上报链路对应于不同的监控服务类型;
处理模块,用于对每个数据上报链路的流式作业的监控指标数据,执行与所述监控服务类型对应的监控处理,得到对应的监控处理结果。
12.一种监控架构系统,其特征在于,包括:数据实时计算平台、资源管理系统和作业监控系统;
所述数据实时计算平台,用于向所述资源管理系统提交流式作业;
所述资源管理系统,用于运行所述流式作业,并将所述流式作业运行产生的监控指标数据发送至作业监控系统;
所述作业监控系统,用于接收所述流式作业监控指标数据,并执行权利要求1-10所述的作业监控方法。
13.根据权利要求12所述的系统,其特征在于,所述监控架构系统还包括数据可视化平台;其中,
所述数据可视化平台,用于提供预设的监控可视化页面的资源定位地址,所述资源定位地址用于建立所述实时计算平台到所述监控可视化页面的外部链接;
所述实时计算平台,还用于提供作业告警管理页面,并在所述作业告警管理页面检测到指向所述监控可视化页面的跳转操作的情况下,通过所述外部链接向所述监控可视化页面发送跳转请求;
所述数据可视化平台,还用于基于所述跳转请求,通过所述监控可视化页面显示所述流式作业监控指标数据。
14.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的一个或多个计算机程序,一个或多个所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1-10中任一项所述的监控方法。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序在被处理器执行时实现如权利要求1-10中任一项所述的监控方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210816064.3A CN116167556A (zh) | 2022-07-12 | 2022-07-12 | 作业监控方法及装置、系统、设备、计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210816064.3A CN116167556A (zh) | 2022-07-12 | 2022-07-12 | 作业监控方法及装置、系统、设备、计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116167556A true CN116167556A (zh) | 2023-05-26 |
Family
ID=86418824
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210816064.3A Pending CN116167556A (zh) | 2022-07-12 | 2022-07-12 | 作业监控方法及装置、系统、设备、计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116167556A (zh) |
-
2022
- 2022-07-12 CN CN202210816064.3A patent/CN116167556A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11836533B2 (en) | Automated reconfiguration of real time data stream processing | |
US10447772B2 (en) | Managed function execution for processing data streams in real time | |
US10560465B2 (en) | Real time anomaly detection for data streams | |
CN105653425B (zh) | 基于复杂事件处理引擎的监控系统 | |
CN110795503A (zh) | 分布式存储系统的多集群数据同步方法及相关装置 | |
CN111190888A (zh) | 一种管理图数据库集群的方法和装置 | |
CN111339073A (zh) | 实时数据处理方法、装置、电子设备及可读存储介质 | |
US20210373914A1 (en) | Batch to stream processing in a feature management platform | |
EP2696297B1 (en) | System and method for generating information file based on parallel processing | |
US20220138074A1 (en) | Method, electronic device and computer program product for processing data | |
US11797527B2 (en) | Real time fault tolerant stateful featurization | |
CN114090366A (zh) | 一种监控数据的方法、装置和系统 | |
US10331484B2 (en) | Distributed data platform resource allocator | |
CN108153828A (zh) | 一种实时数据的持久化方法、装置及设备、存储介质 | |
US11178197B2 (en) | Idempotent processing of data streams | |
CN113434312A (zh) | 数据血缘关系处理方法及装置 | |
CN112732663A (zh) | 一种日志信息处理方法及装置 | |
CN111130882A (zh) | 网络设备的监控系统及方法 | |
CN116167556A (zh) | 作业监控方法及装置、系统、设备、计算机可读存储介质 | |
US11775864B2 (en) | Feature management platform | |
CN114756301A (zh) | 日志处理方法、装置和系统 | |
CN113656369A (zh) | 一种大数据场景下的日志分布式流式采集及计算方法 | |
CN115757041B (zh) | 可动态配置的多集群日志采集的方法及应用 | |
CN109918213A (zh) | 一种消息处理方法、装置及服务器 | |
CN112799863B (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 |