基于大数据平台的通用数据监控方法和系统
文献发布时间:2023-06-19 10:27:30
技术领域
本申请涉及数据监控技术领域,特别是涉及基于大数据平台的通用数据监控方法和系统。
背景技术
在如今大数据行业的发展下,各企业都在发展自己的大数据平台;大数据平台的建设,通常都会有将数据经过:采集->标准化->入库这一系列的流程,也就是我们俗称的ETL流程,整个流程普遍很长且相对复杂,业务数据处理的流程长且有技术壁垒,往往业务人员在最终使用时发现数据有业务偏差或者数据丢失,但却无从下手,无法查找问题所在。
公开号为CN105357061B的中国专利文献《一种基于大数据流处理技术的运维监控分析系统》,公开的技术方案为:监控端,监控得到客户端中的监控数据并发送至存储端;存储端,保存多条预警处理规则,多条数据挖掘规则以及历史记录;缓存端,根据预设的时间间隔,将存储端中保存的预警处理规则、数据挖掘规则以及历史记录同步到缓存端中,以及接收监控端发送的监控数据流。上述技术存在的缺点为:该技术限制了数据情况,仅限于流式数据,不能在做到所有数据平台的通用性;同时,该技术只做到了单环境监控,没有做到全流程、全链路的数据监控。
公开号为CN106713066B的中国专利文献《一种对流处理系统进行监控的方法和装置》,公开的技术方案为:通过计算时间段内处理的效率和预先设定的效率阈值进行比较判断是否需要告警。上述技术存在的缺点为:只是在流数据处理过程内的单位时间处理数据量做计算,极易受到外界情况变化的影响。比如说向流数据处理引擎发送数据的源在特殊时间段内发送量波动过大,这种情况下流数据处理过程内的单位时间处理效率会受到较大影响,会触发告警,但是实际上是正常情况(数据源在此时间段内消息波动),容易造成误判。同时也不能对整个数据流程进行监控。
目前针对相关技术中整个流程的监控问题,尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种大数据平台的通用数据监控方法和系统,通过在数据流转的各个节点进行埋点,获取各个节点的数据量,并根据实际场景预设键值规则用以判断数据流转的各节点是否存在问题。
第一方面,本申请实施例提供了一种基于大数据平台的通用数据监控方法,包括以下步骤:
数据ETL步骤,将数据采集至一数据网关,并通过一数据传输管道将所述数据发送或流转到各系统组件,对所述数据进行处理后将处理结果存入一数据库;
埋点监控步骤,通过埋点在所述数据ETL步骤中设置计数器,所述计数器依据业务需求对所述数据ETL步骤进行监控;
接口取数步骤,根据监控需求采集对应所述计数器上的监控数据。
在其中一些实施例中,所述接口取数步骤之后还包括异常判断步骤:
通过一监控平台,将所述监控数据与预设的键值规则进行比较,判断整个所述数据ETL步骤是否异常并返回对应的异常问题。
在其中一些实施例中,所述数据ETL步骤包括:
数据采集步骤,通过各数据采集渠道或数据采集方式将所述数据采集至所述数据网关;
数据流转步骤,将所述数据通过一数据平台内部的所述数据传输管道发送或流转到各所述系统组件;
数据处理步骤,将所述数据在所述系统组件上进行数据处理,所述数据处理包括但不限于标准化、转换和映射;
数据存储步骤,将处理后的所述数据存入至所述数据库。
在其中一些实施例中,所述埋点监控步骤具体包括以下步骤:
数据采集埋点步骤,在所述数据采集步骤的数据采集端口、数据网关处理端口和数据网关输出端口分别通过埋点设置对应所述计数器;
数据流转埋点步骤,在所述数据流转步骤的数据传输组件输入端口和数据传送组件输出端口分别通过埋点设置对应所述计数器;
数据处理埋点步骤,在所述数据处理步骤的数据处理组件输入端口、数据处理组件处理端口和数据处理组件输出端口分别通过埋点设置有对应的计数器;
数据存储埋点步骤,在所述数据库的接收端通过埋点设置对应所述计数器;
各所述计数器根据预设的对应所述计数器的维度,依据数据属性进行计数操作。
在其中一些实施例中,所述键值规则设计步骤具体包括:
当所述数据网关处理端口的数据量与所述数据采集端口的数据量的比值小于第一预设值时,代表数据采集端口服务异常;
当所述数据处理组件输入端口的数据量与所述数据网关输出端口的数据量的比值小于第二预设值,代表数据传输异常;
当数据处理组件处理端口和所述数据处理组件输出端口的总数据量与所述数据处理组件输入端口的数据量的比值小于第三预设值,代表数据处理组件异常;
当所述数据库的接收端的数据量与所述数据处理组件输出端口的数据量的比值小于第四预设值时,代表数据库存储异常。
第二方面,本申请实施例提供了一种基于大数据平台的通用数据监控系统,包括以下模块:
数据ETL模块,将数据采集至一数据网关,并通过一数据传输管道将所述数据发送或流转到各系统组件,对所述数据进行处理后将处理结果存入一数据库;
埋点监控模块,通过埋点在所述数据ETL步骤中设置计数器,所述计数器依据业务需求对所述数据ETL步骤进行监控;接口取数模块,根据监控需求采集对应所述计数器上的监控数据。
在其中一些实施例中,所述接口取数模块还连接一异常判断模块,所述异常判断模块通过一监控平台,将所述监控数据与预设的键值规则进行比较,判断整个所述数据ETL步骤是否异常并返回对应的异常问题。
在其中一些实施例中,所述数据ETL模块包括:
数据采集单元,通过各数据采集渠道或数据采集方式将所述数据采集至所述数据网关;
数据流转单元,将所述数据通过一数据平台内部的所述数据传输管道发送或流转到各所述系统组件;
数据处理单元,将所述数据在所述系统组件上进行数据处理,所述数据处理包括但不限于标准化、转换和映射;
数据存储单元,将处理后的所述数据存入至所述数据库。
在其中一些实施例中,所述埋点监控模块具体包括:
数据采集埋点单元,在所述数据采集步骤的数据采集端口、数据网关处理端口和数据网关输出端口分别通过埋点设置对应所述计数器;
数据流转埋点单元,在所述数据流转步骤的数据传输组件输入端口和数据传送组件输出端口分别通过埋点设置对应所述计数器;
数据处理埋点单元,在所述数据处理步骤的数据处理组件输入端口、数据处理组件处理端口和数据处理组件输出端口分别通过埋点设置有对应的计数器;
数据存储埋点单元,在所述数据库的接收端通过埋点设置对应所述计数器;
各所述计数器根据预设的对应所述计数器的维度,依据数据属性进行计数操作。
在其中一些实施例中,所述键值规则设计模块设置的键值规则包括:
当所述数据网关处理端口的数据量与所述数据采集端口的数据量的比值小于第一预设值时,代表数据采集端口服务异常;
当所述数据处理组件输入端口的数据量与所述数据网关输出端口的数据量的比值小于第二预设值,代表数据传输异常;
当数据处理组件处理端口和所述数据处理组件输出端口的总数据量与所述数据处理组件输入端口的数据量的比值小于第三预设值,代表数据处理组件异常;
当所述数据库的接收端的数据量与所述数据处理组件输出端口的数据量的比值小于第四预设值时,代表数据库存储异常。
相比于相关技术,本申请实施例提供的基于大数据平台的通用数据监控方法、系统、计算机设备和存储介质,通过各环节的流程监控,提供一套数据监控体系,当出现问题后,能够快速有效地定位数据问题的故障节点,节省问题排查效率。
本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的基于大数据平台的通用数据监控方法的流程图;
图2是根据本申请实施例的数据ETL步骤的流程图;
图3是根据本申请实施例的埋点监控步骤的流程图;
图4是根据本申请优选实施例的基于大数据平台的通用数据监控方法的流程图;
图5是在实际应用场景下的接口取数步骤的优选流程图;
图6是根据本申请实施例的基于大数据平台的通用数据监控系统的结构框图;
附图说明:
数据ETL模块1; 埋点监控模块2; 接口取数模块3;
异常判断模块4; 数据采集单元11; 数据流转单元12;
数据处理单元13; 数据存储单元14; 数据采集埋点单元21;
数据流转埋点单元22; 数据处理埋点单元23; 数据存储埋点单元24。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
本申请实施例提出大数据平台的通用监控数据方法,通过各环节的流程监控,提供一套数据监控体系,帮助业务/技术人员快速定位数据问题并解决问题。
实施例一:
本实施例提供了一种基于大数据平台的通用数据监控方法。图1是根据本申请实施例的基于大数据平台的通用数据监控方法的流程图,如图1所示,该流程包括如下步骤:
数据ETL步骤S1,将数据采集至一数据网关,并通过一数据传输管道将数据发送或流转到各系统组件,对数据进行处理后将处理结果存入一数据库;
埋点监控步骤S2,通过埋点在数据ETL步骤中设置计数器,所述计数器依据业务需求对数据ETL步骤进行监控;
接口取数步骤S3,根据监控需求采集对应计数器上的监控数据。
通过上述步骤,在数据ETL的整个流程中设置埋点,对这个流程进行监控,从埋点思想->统计思想->提供接口对监控数值取数->提供监控平台按照业务需求设计规则,解决大数据平台数据流转中全流程数据无法判定是否正常的问题,减少运维的压力,提升运维效率;当出现问题后,能够快速有效地定位数据问题的故障节点,节省问题排查效率;同时,本发明的设计思想覆盖了大多数据平台的监控需求。
在其中一些实施例中,接口取数步骤S3之后还包括异常判断步骤S4:
通过一监控平台,将监控数据与预设的键值规则进行比较,判断整个数据ETL步骤是否异常并返回对应的异常问题。
图2是根据本申请实施例的数据ETL步骤的流程图,如图2所示,在其中一些实施例中,数据ETL步骤S1包括:
数据采集步骤S11,通过各数据采集渠道或数据采集方式将数据采集至数据网关;
数据流转步骤S12,将数据通过一数据平台内部的数据传输管道发送或流转到各系统组件;
数据处理步骤S13,将数据在系统组件上进行数据处理,数据处理包括但不限于标准化、转换和映射;
数据存储步骤S14,将处理后的数据存入至数据库。
在实际的应用中,数据采集的方式包括批处理、流处理以及批流结合。
图3是根据本申请实施例的埋点监控步骤的流程图,如图3所示,在其中一些实施例中,埋点监控步骤具体S2包括以下步骤:
数据采集埋点步骤S21,在数据采集步骤的数据采集端口、数据网关处理端口和数据网关输出端口分别通过埋点设置对应计数器;
数据流转埋点步骤S22,在数据流转步骤的数据传输组件输入端口和数据传送组件输出端口分别通过埋点设置对应计数器;
数据处理埋点步骤S23,在数据处理步骤的数据处理组件输入端口、数据处理组件处理端口和数据处理组件输出端口分别通过埋点设置有对应的计数器;
数据存储埋点步骤S24,在数据库的接收端通过埋点设置对应计数器;
各计数器根据预设的对应计数器的维度,依据数据属性进行计数操作。
在实际的应用中,根据实际的需要在数据处理步骤中进行多处埋点,在实际应用场景下,各计数器所采集的数据可以包括:数据采集获取数据、数据网关过滤掉重复数据的采集数据、数据网关输出数据、数据传输组件输入数据、数据传输组件输出数据、数据处理组件输入数据、数据处理组件过滤无效数据、数据处理组件处理数据、数据处理组件输出数据、数据库存储数据。上述数据可以通过实际需要进行调整。
在其中一些实施例中,键值规则设计步骤S4具体包括:
当数据网关处理端口的数据量与数据采集端口的数据量的比值小于第一预设值时,代表数据采集端口服务异常;
当数据处理组件输入端口的数据量与数据网关输出端口的数据量的比值小于第二预设值,代表数据传输异常;
当数据处理组件处理端口和数据处理组件输出端口的总数据量与数据处理组件输入端口的数据量的比值小于第三预设值,代表数据处理组件异常;
当数据库的接收端的数据量与数据处理组件输出端口的数据量的比值小于第四预设值时,代表数据库存储异常。
在实际的应用中,键值规则设计为:当数据网关处理端口的数据量与数据采集端口的数据量比值小于90%时,代表数据采集端口服务异常;
当数据处理组件输入端口的数据量与数据网关输出端口的数据量的比值小于99.9%,代表数据传输异常;
当数据处理组件处理端口和数据处理组件输出端口的总数据量与数据处理组件输入端口的数据量的比值小于99.9%,代表数据处理组件异常;
当数据库的接收端的数据量与数据处理组件输出端口的数据量的比值小于99.9%时,代表数据库存储异常。
下面通过优选实施例对本申请实施例进行描述和说明。
图4是根据本申请优选实施例的基于大数据平台的通用数据监控方法的流程图,如图4所示,图4的流程/组件适用于行业内绝大多数的大数据平台。
S401,数据采集
从数据源通过各种渠道、各种方式(包括但不限于流处理、批处理、流批结合)将数据从采集到数据网关DataAgent;
S402,数据流转
将采集到的数据,通过数据平台内部的数据传输管道(例如,Message Que和HDFS),将数据发送或流转到各个系统组件;
S403,数据处理
数据在这一步骤标准化、转换、映射等一系列处理流程;
S404,数据存储
将上述数据处理结果存入数据库DW;
数据统计
S4051,在S401数据采集和S402数据流转的过程中添加计数器,按照实际情况设计计数器的维度,按实际数据属性对对应的计数器进行数值增加操作并将对应数据存入Redis数据库中;
S4052,在S403数据处理过程中添加计数器,对应数据处理实际步骤,在关键步骤,按照实际情况,对计数器进行数值增加操作并将对应数据存入Redis数据库中;
S4053,在S404数据存储过程中添加计数器,最终结果以实际情况,统计特定维度下的数据并存在Redis数据库中;
S406,通过监控统计服务(例如,API Service),根据实际监控需求去监控数值存储处(Redis数据库)获取对应的监控数据;
S407,通过监控平台(例如,Monitring Application),比较键值规则的阈值和监控数据之间的数据偏差,判断整个数据流是否异常。
图5是在实际应用场景下的接口取数步骤的优选流程图,如图5所示,该数据监控方法包括如下步骤:
步骤S501,数据源传输给DataAgent,一定时间段内,对应消息ID从数据源所获取的数据量,上述数据量对应的数据类型可以为交易数据和账号积分数据等按客户需求设置的数据,详见下表:
步骤S502,从DataAgent传输,一定时间段内对应消息ID在数据网关输出端口上获取的数据量,详见下表:
步骤S5031,数据处理服务接收数据,在一定时间段内对应消息ID在数据处理组件输入端口上获取的数据量,详见下表:
步骤5032,数据处理服务过滤,一定时间内对应消息ID在数据处理组件过滤无效数据的端口上获取的数据量,详见下表:
步骤5033,数据处理服务处理,一定时间内对应消息ID在数据处理组件输出端口上获取的数据量,详见下表:
步骤504,数据存储,一定时间内对应消息ID在数据库的输入端口获取的数据量,详见下表:
其中,消息ID(A1)在时间(09:00~10:00)的:[数据过滤(5)+数据处理(90)]/数据接收(100)=95%<99.99%,数据处理组件不正常,所以触达了监控报警。
需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本实施例还提供了一种基于大数据平台的通用数据监控系统,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图6是根据本申请实施例的基于大数据平台的通用数据监控系统的结构框图,如图6所示,该装置包括:
数据ETL模块1,将数据采集至一数据网关,并通过一数据传输管道将数据发送或流转到各系统组件,对数据进行处理后将处理结果存入一数据库;
埋点监控模块2,通过埋点在所述数据ETL步骤中设置计数器,所述计数器依据业务需求对所述数据ETL步骤进行监控;
接口取数模块3,根据监控需求采集对应计数器上的监控数据。
在其中一些实施例中,接口取数模块还连接一异常判断模块4,异常判断模块通过一监控平台,将监控数据与预设的键值规则进行比较,判断整个数据ETL步骤是否异常并返回对应的异常问题。
在其中一些实施例中,数据ETL模块1包括:
数据采集单元11,通过各数据采集渠道或数据采集方式将数据采集至数据网关;上述数据采集方式包括批处理、流处理和流批结合。
数据流转单元12,将数据通过一数据平台内部的数据传输管道将数据发送或流转到各系统组件;
数据处理单元13,将数据在系统组件上进行数据处理,数据处理包括但不限于标准化、转换和映射;
数据存储单元14,将处理后的数据存入至数据库。
在其中一些实施例中,埋点监控模块2具体包括:
数据采集埋点单元21,在数据采集步骤的数据采集端口、数据网关处理端口和数据网关输出端口分别通过埋点设置对应计数器;
数据流转埋点单元22,在数据流转步骤的数据传输组件输入端口和数据传送组件输出端口分别通过埋点设置对应计数器;
数据处理埋点单元23,在数据处理步骤的数据处理组件输入端口、数据处理组件处理端口和数据处理组件输出端口分别通过埋点设置有对应的计数器;
数据存储埋点单元24,在数据库的接收端通过埋点设置对应计数器;
各计数器根据预设的对应计数器的维度,依据数据属性对对应计数器进行计数操作。
在其中一些实施例中,键值规则设计模块3设置的键值规则包括:
当数据网关处理端口的数据量与数据采集端口的数据量的比值小于第一预设值时,代表数据采集端口服务异常;
当数据处理组件输入端口的数据量与数据网关输出端口的数据量的比值小于第二预设值,代表数据传输异常;
当数据处理组件处理端口和数据处理组件输出端口的总数据量与数据处理组件输入端口的数据量的比值小于第三预设值,代表数据处理组件异常;
当数据库的接收端的数据量与数据处理组件输出端口的数据量的比值小于第四预设值时,代表数据库存储异常。
需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
实施例二:
本实施例在实施例一的基础上进行技术改进,可以按照数据平台的实际情况,将Redis组件替换成其他类似的监控数值存储组件;
按照各数据平台的实际情况,将Monitoring Application替换成开发适合的监控报表组件,监控规则组件;
可以按照数据平台的实际情况,将HDFS替换成适合的原始消息存储组件;
各数据平台可以将DataAgent替换成其他开发适用的数据网关,添加复杂的数据过滤规则,数据采集规则。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
- 基于大数据平台的通用数据监控方法和系统
- 基于大数据平台的网络安全分析方法、系统及大数据平台