CN108132868A - 一种数据监控方法、装置、计算设备及存储介质 - Google Patents

一种数据监控方法、装置、计算设备及存储介质 Download PDF

Info

Publication number
CN108132868A
CN108132868A CN201810036096.5A CN201810036096A CN108132868A CN 108132868 A CN108132868 A CN 108132868A CN 201810036096 A CN201810036096 A CN 201810036096A CN 108132868 A CN108132868 A CN 108132868A
Authority
CN
China
Prior art keywords
data
queue
filter data
recorded
interface
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
Application number
CN201810036096.5A
Other languages
English (en)
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.)
Zheng Wei Yun Ltd
Original Assignee
Zheng Wei Yun 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 Zheng Wei Yun Ltd filed Critical Zheng Wei Yun Ltd
Priority to CN201810036096.5A priority Critical patent/CN108132868A/zh
Publication of CN108132868A publication Critical patent/CN108132868A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3041Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is an input/output interface

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本申请提供的一种数据监控方法、装置、计算设备及存储介质,其中,所述方法包括:监控根据预设的过滤参数过滤得到的第一过滤数据,并将所述第一过滤数据记录到队列;通过第一线程将记录到队列的所述第一过滤数据写入第一日志文件;获取所述第一日志文件中最新写入的所述第一过滤数据,并将所述第一过滤数据解析为日志数据;发送所述日志数据。

Description

一种数据监控方法、装置、计算设备及存储介质
技术领域
本申请涉及计算机技术领域,特别涉及一种数据监控方法、装置、计算设备及存储介质。
背景技术
目前,现有的开源分布式服务框架自带的监控***,监控相关数据(如调用时间、调用次数等)时有一分钟的延迟,对监控到的相关数据也是静态生成统计图片,当监控到的相关数据生成统计图片后,也不能对监控到的相关数据按照自定义的时间范围进行检索,并且监控的相关数据也不完整,无法满足用户对该监控***的需求。
发明内容
有鉴于此,本申请实施例提供了一种数据监控方法、装置、计算设备及存储介质,以解决现有技术中存在的技术缺陷。
本申请实施例公开了一种数据监控方法,包括:
监控根据预设的过滤参数过滤得到的第一过滤数据,并将所述第一过滤数据记录到队列;
通过第一线程将记录到队列的所述第一过滤数据写入第一日志文件;
获取所述第一日志文件中最新写入的所述第一过滤数据,并将所述第一过滤数据解析为日志数据;
发送所述日志数据。
可选地,所述方法还包括:
监控根据预设的过滤参数过滤得到的第二过滤数据,并将所述第二过滤数据记录到所述队列;
通过第二线程将记录到所述队列的所述第二过滤数据写入第二日志文件;
获取所述第二日志文件中最新写入的所述第二过滤数据,并将所述第二过滤数据解析为日志数据。
可选地,所述队列包括第一队列和第二队列。
可选地,将所述第一过滤数据记录到所述队列包括:
将所述第一过滤数据记录到所述第一队列;
将所述第二过滤数据记录到所述队列包括:
所述第二过滤数据记录到所述第二队列。
可选地,所述方法还包括:
接收接口调用请求;
通过第三线程返回所述接口调用请求对应的响应结果。
可选地,所述过滤参数包括接口调用成功次数、接口调用失败次数、对接口调用请求的响应时间、并发数、每个接口调用请求的完整调用链路、CPU使用率和/或内存占用率。
可选地,所述监控根据预设的过滤参数过滤得到的第一过滤数据之后,还包括:
当检测到所述接口调用失败次数大于预设阈值时,发出报警通知。
可选地,当检测到所述接口调用失败次数大于预设阈值时,发出报警通知之后,还包括:
通过每个接口调用请求的完整调用链路查看所述接口调用失败时的整个调用链路信息。
可选地,所述通过第二线程将记录到所述队列的所述第二过滤数据写入第二日志文件包括:
通过第二线程将记录到第二队列的所述第二过滤数据按照预设的时间间隔写入第二日志文件。
另一方面,本申请还提供一种数据监控装置,包括:
第一监控模块,用于监控根据预设的过滤参数过滤得到的第一过滤数据,并将所述第一过滤数据记录到队列;
第一写入模块,用于通过第一线程将记录到队列的所述第一过滤数据写入第一日志文件;
第一解析模块,用于获取所述第一日志文件中最新写入的所述第一过滤数据,并将所述第一过滤数据解析为日志数据;
发送模块,用于发送所述日志数据。
可选地,所述装置还包括:
第二监控模块,用于监控根据预设的过滤参数过滤得到的第二过滤数据,并将所述第二过滤数据记录到所述队列;
第二写入模块,用于通过第二线程将记录到所述队列的所述第二过滤数据写入第二日志文件;
第二解析模块,用于获取所述第二日志文件中最新写入的所述第二过滤数据,并将所述第二过滤数据解析为日志数据。
可选地,所述队列包括第一队列和第二队列。
可选地,所述第一监控模块还用于将所述第一过滤数据记录到所述第一队列;
所述第二监控模块还用于将所述第二过滤数据记录到所述第二队列。
可选地,所述装置还包括:
调用模块,用于接收接口调用请求;
响应模块,用于通过第三线程返回所述接口调用请求对应的响应结果。
可选地,所述过滤参数包括接口调用成功次数、接口调用失败次数、对接口调用请求的响应时间、并发数、每个接口调用请求的完整调用链路、CPU使用率和/或内存占用率。
可选地,所述装置还包括:
报警模块,用于当检测到所述接口调用失败次数大于预设阈值时,发出报警通知。
可选地,所述装置还包括:
查看模块,用于通过每个接口调用请求的完整调用链路查看所述接口调用失败时的整个调用链路信息。
可选地,所述第二写入模块还用于通过第二线程将记录到第二队列的所述第二过滤数据按照预设的时间间隔写入第二日志文件。
另一方面,本申请还提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:
监控根据预设的过滤参数过滤得到的第一过滤数据,并将所述第一过滤数据记录到队列;
通过第一线程将记录到队列的所述第一过滤数据写入第一日志文件;
获取所述第一日志文件中最新写入的所述第一过滤数据,并将所述第一过滤数据解析为日志数据;
发送所述日志数据。
另一方面,本申请还提供了一种计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现所述数据监控方法的步骤。
本申请提供的一种数据监控方法、装置、计算设备及存储介质,其中,所述方法包括:监控根据预设的过滤参数过滤得到的第一过滤数据,并将所述第一过滤数据记录到队列;通过第一线程将记录到队列的所述第一过滤数据写入第一日志文件;获取所述第一日志文件中最新写入的所述第一过滤数据,并将所述第一过滤数据解析为日志数据;发送所述日志数据;本申请的数据监控方法可以将监控的相关数据实时记录到队列中,然后将监控的相关数据异步写入日志文件,并且实时获取写入日志文件中的相关数据后可以对该相关数据进行统一解析,操作简单方便,并且实时性较高。
附图说明
图1为本申请一实施例提供的一种计算设备的结构框图;
图2为本申请一实施例提供的一种数据监控方法的流程图;
图3为本申请一实施例提供的一种数据监控方法的流程图;
图4为本申请一实施例提供的一种数据监控方法的流程图;
图5为本申请一实施例提供的一种数据监控方法的流程图;
图6为本申请一实施例提供的一种数据监控方法的流程图;
图7为本申请一实施例提供的一种基于Dubbo的数据监控方法的时序图;
图8为本申请一实施例提供的一种数据监控装置的结构示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本申请中,“第一”、“第二”、“第三”等仅用于彼此的区分,而非表示重要程度及顺序、以及互为存在的前提等。
在本申请中,提供了一种数据监控方法、装置、计算设备及存储介质,在下面的实施例中逐一进行详细说明。
图1是示出了根据本申请一实施例的计算设备100的结构框图。该计算设备100的部件包括但不限于存储器110和处理器120。处理器120与存储器110相连接。虽然图1中没有示出,但是应该知道,计算设备100还可以包括网络接口,网络接口使得计算设备100能够经由一个或多个网络通信。这些网络的示例包括局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。网络接口可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。计算设备可以通过网络接口访问页面。
在本申请的一个实施例中,计算设备100的上述以及图1中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图1所示的计算设备结构框图仅仅是出于示例的目的,而不是对本申请范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备100可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备100还可以是移动式或静止式的服务器。
其中,所述存储器110存储有计算机程序,所述处理器120可以执行所述计算机程序实现图2所示方法中的步骤。图2是示出了根据本申请一实施例的一种数据监控方法的示意性流程图,包括步骤201至步骤204。
步骤201:监控根据预设的过滤参数过滤得到的第一过滤数据,并将所述第一过滤数据记录到队列。
本申请实施例中,所述过滤参数可以包括接口调用成功次数、接口调用失败次数、对接口调用请求的响应时间、并发数、每个接口调用请求的完整调用链路、CPU使用率和/或内存占用率。
本申请实施例中,可以使用监控***或工具对数据进行监控,可以对监控***或工具提前设置需要监控的参数,例如接口调用成功次数、接口调用失败次数、对接口调用请求的响应时间、并发数、每个接口调用请求的完整调用链路、CPU使用率和/或内存占用率等,然后监控***或工具就会根据提前配置的这些基础参数拦截需要的第一过滤数据。
步骤202:通过第一线程将记录到队列的所述第一过滤数据写入第一日志文件。
本申请实施例中,所述第一过滤数据写入第一日志文件,即是将记录到所述队列的所述第一过滤数据以剪切的方式从所述队列的队头实时写入所述第一日志文件。
步骤203:获取所述第一日志文件中最新写入的所述第一过滤数据,并将所述第一过滤数据解析为日志数据。
本申请实施例中,若所述第一日志文件中初始为空白,那么初次写入第一日志文件的第一过滤数据,则为最新写入的第一过滤数据,若所述第一日志文件中非空白,已存在第一过滤数据,那么相对于该第一过滤数据的下一次写入所述第一日志文件的第一过滤数据,即为最新写入的第一过滤数据。
步骤204:发送所述日志数据。
本申请实施例中,可以将解析后的日志数据发送给服务器,所述服务器可以提供简单的操作界面,并且可以按照自定义的查询条件实现日志数据的搜索,该服务器还能够实现对数据的快速、实时搜索,并且具有存放稳定、可靠性高的功能。
本申请实施例提供的数据监控方法将第一过滤数据实时记录到队列中,然后将所述第一过滤数据实时写入第一日志文件,并且可以通过监控***实时获取第一日志文件中写入的第一过滤数据,数据的实时性强;另外,对该第一过滤数据进行统一解析后还可实现按照自定义查询条件检索,并且监控的数据比较完整,可以满足用户对监控***的需求。
本申请一实施例提供了一种数据监控方法,其中,图1中所述处理器120可以执行所述计算机程序实现图3所示方法中的步骤。图3是示出了根据本申请一实施例的一种数据监控方法的示意性流程图,包括步骤301至步骤307。
步骤301:监控根据预设的过滤参数过滤得到的第一过滤数据,并将所述第一过滤数据记录到队列。
步骤302:监控根据预设的过滤参数过滤得到的第二过滤数据,并将所述第二过滤数据记录到所述队列。
本申请实施例中,监控得到第一过滤数据和/或第二过滤数据无先后顺序;将所述第一过滤数据和/或第二过滤数据记录到队列也无先后顺序,根据实际应用设定。
所述第一过滤数据可以为基础数据,包括接口调用成功具体次数,例如3次、接口调用失败具体次数,例如5次、对接口调用请求的具体响应时间,例如2017年1月1日13点14分24秒、具体并发数(同时访问服务器站点的连接数),例如并发数为10个等;所述第二过滤数据可以为***运行数据,包括具体的CPU使用率和/或具体的内存占用率;例如CPU使用率为20%、内存占用率为50%等。
本申请实施例中,使用监控***或工具对数据进行监控,可以对监控***或工具提前设置需要监控的基础参数,例如接口调用成功次数、接口调用失败次数、对接口调用请求的响应时间、并发数和/或每个接口调用请求的完整调用链路等,然后监控***或工具就会根据提前配置的这些基础参数拦截需要的过滤数据,即第一过滤数据;还可以对监控***或工具提前设置需要监控的***运行参数:CPU使用率和/或内存占用率等,那么监控***或工具则会根据提前配置的这些***运行参数拦截需要的过滤数据,即第二过滤数据。
然后将所述第一过滤数据和所述第二过滤数据记录到所述队列,队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行***操作,和栈一样,队列是一种操作受限制的线性表。进行***操作的后端称为队尾,进行删除操作的前端称为队头。
本申请实施例中,将所述第一过滤数据和所述第二过滤数据记录到所述队列,即同一个队列中,若该队列的队头为第一过滤数据,则将该第一过滤数据实时写入第一日志文件,若该队列的队头为第二过滤数据,则需要检查上次记录的第二过滤数据的时间到该第二过滤数据的时间间隔,若时间间隔大于预设的时间间隔时,将该第二过滤数据写入第二日志文件,否则忽略该第二过滤数据,即删除该第二过滤数据。
可选地,所述队列可以包括第一队列和第二队列,可以将所述第一过滤数据记录到所述第一队列,所述第二过滤数据记录到所述第二队列。
步骤303:通过第一线程将记录到队列的所述第一过滤数据写入第一日志文件。
本申请实施例中,所述第一过滤数据写入第一日志文件,即是将记录到所述队列的所述第一过滤数据以剪切的方式从所述队列的队头实时写入所述第一日志文件。
步骤304:通过第二线程将记录到所述队列的所述第二过滤数据写入第二日志文件。
本申请实施例中,所述第一过滤数据写入第一日志文件和所述第二过滤数据写入第二日志文件无先后顺序,根据实际应用设定。
本申请实施例中,所述第二过滤数据写入第二日志文件,即是将记录在所述队列的所述第二过滤数据以剪切的方式从所述队列的队头按照预设的时间间隔写入所述第二日志文件。
本申请实施例中,所述第一线程和所述第二线程无先后顺序,也非互为存在的前提,彼此之间独立工作互不影响。
步骤305:获取所述第一日志文件中最新写入的所述第一过滤数据,并将所述第一过滤数据解析为日志数据。
本申请实施例中,若所述第一日志文件中初始为空白,那么初次写入第一日志文件的第一过滤数据,则为最新写入的第一过滤数据,若所述第一日志文件中非空白,已存在第一过滤数据,那么相对于该第一过滤数据的下一次写入所述第一日志文件的第一过滤数据,即为最新写入的第一过滤数据。
步骤306:获取所述第二日志文件中最新写入的所述第二过滤数据,并将所述第二过滤数据解析为日志数据。
本申请实施例中,获取最新写入的所述第一过滤数据和最新写入的所述第二过滤数据无先后顺序,根据实际应用设定。
本申请实施例中,所述最新写入所述第二日志文件的第二过滤数据的判定方法,参见所述第一日志文件中最新写入的所述第一过滤数据,在此不再赘述。
本申请实施例中,可以采用日志实时监控采集***或工具获取最新写入的第一过滤数据和第二过滤数据,日志实时监控采集***或工具会实时监控日志目录或者指定的日志文件,追踪读取这些文件(追踪文件的变化,不停的读),并且转发这些文件中变化的数据到可以进行数据解析***或工具中存放。
数据解析***或工具可以解析无规则的数据并将数据转化为有结构或有格式的数据,即将日志实时监控采集***或工具传送来的最新写入的第一过滤数据和第二过滤数据解析为有统一的结构或格式并且可查询的日志数据。
步骤307:发送所述日志数据。
本申请实施例中,可以将解析后的日志数据发送给服务器,所述服务器可以提供简单的操作界面,并且可以按照自定义的查询条件实现日志数据的搜索,该服务器还能够实现对数据的快速、实时搜索,并且具有存放稳定、可靠性高的功能。
本申请实施例提供的数据监控方法将基本数据和***运行数据记录在同一个队列中,使得操作更加简单方便,还可以将监控的基本数据和***运行数据通过不同的线程异步写入第一日志文件和第二日志文件,并且可以通过监控***实时获取写入第一日志文件和第二日志文件中的基本数据和***运行数据,实时性强;另外,对该基本数据和***运行数据进行统一解析后还可实现按照自定义查询条件检索,并且可以同时监控基本数据和***运行数据,监控数据完整,可以满足用户对监控***的需求。
本申请一实施例提供了一种数据监控方法,其中,图1中所述处理器120还可以执行图4所示方法中的步骤。图4是示出了根据本申请一实施例的一种数据监控方法的示意性流程图,包括步骤401至步骤407。
步骤401:监控根据预设的过滤参数过滤得到的第一过滤数据,并将所述第一过滤数据记录到第一队列。
步骤402:监控根据预设的过滤参数过滤得到的第二过滤数据,并将所述第二过滤数据记录到第二队列。
步骤403:通过第一线程将记录在第一队列的所述第一过滤数据写入第一日志文件。
步骤404:通过第二线程将记录在第二队列的所述第二过滤数据写入第二日志文件。
步骤405:获取所述第一日志文件中最新写入的所述第一过滤数据,并将所述第一过滤数据解析为日志数据。
步骤406:获取所述第二日志文件中最新写入的所述第二过滤数据,并将所述第二过滤数据解析为日志数据。
步骤407:发送所述日志数据。
本申请实施例中,所述第一过滤数据和所述第二过滤数据分别记录到第一队列和第二队列两个不同的队列中,在写入日志文件时第一队列和第二队列中的数据互不影响,极大的提高了写入日志的速度,使得采用该方法实现日志数据的搜索时更加实时和快速。
本申请一实施例提供了一种数据监控方法,其中,图1中所述处理器120还可以执行图5所示方法中的步骤。图5是示出了根据本申请一实施例的一种数据监控方法的示意性流程图,包括步骤501至步骤507。
步骤501:接收接口调用请求。
本申请实施例中,接口是计算机***中两个独立的部件进行信息交换的共享边界,接收接口调用请求即是接口服务的提供者接收接口服务的消费者提出的接口调用请求,例如接口服务的提供者提供一个加法接口,此时接口服务的提供者接收接口服务的消费者提出的加法接口调用请求,实现加法运算。
步骤502:通过第三线程返回所述接口调用请求对应的响应结果。
本申请实施例中,所述第三线程和上述实施例的第一线程、第二线程无先后顺序,也非互为存在的前提,彼此之间独立工作互不影响。
所述接口调用请求对应的响应结果,即为可以根据所述接口调用请求确定的响应结果,例如加法接口服务的提供者接收接口服务的消费者的加法接口调用请求,并检测到接口服务的消费者携带两个参数1和2,所述加法接口服务的提供者采用该加法接口对参数1和2进行相加之后返回响应结果3。
步骤503:监控根据预设的过滤参数过滤得到的第一过滤数据和第二过滤数据,并将所述第一过滤数据记录到第一队列和所述第二过滤数据记录到第二队列。
本申请实施例中,可以对监控根据预设的过滤参数过滤得到的第一过滤数据和第二过滤数据进行检测,当检测到所述接口调用失败次数大于预设阈值时,发出报警通知,例如预设阈值为3,当检测到所述接口调用失败次数为4时,则可以通过邮件和/或短信等方式发出报警通知,以便服务提供者可以对出现错误部分进行修改,更好的提供接口服务。
当服务提供者接收到报警通知之后,可以通过每个接口调用请求的完整调用链路查看所述接口调用失败时的整个调用链路信息,以便更快捷的查找到接口调用失败的原因,及时进行修复。
步骤504:通过第一线程将记录到第一队列的所述第一过滤数据写入第一日志文件。
步骤505:通过第二线程将记录到第二队列的所述第二过滤数据写入第二日志文件。
本申请实施例中,可以通过第二线程将记录到第二队列的所述第二过滤数据按照预设的时间间隔写入第二日志文件。所述时间间隔可以根据实际应用来提前设定,本申请对此不作限定。
步骤506:获取所述第一日志文件中最新写入的所述第一过滤数据和所述第二日志文件中最新写入的所述第二过滤数据,并将所述第一过滤数据和所述第二过滤数据解析为日志数据。
步骤507:发送所述日志数据。
本申请实施例提供的数据监控方法可以使得监控的相关数据实时性更强,还可以将监控的相关数据通过不同的线程异步写入日志文件以及返回响应结果,并且可以实时获取写入日志文件中的相关数据,对该相关数据进行统一解析后实现可按照自定义查询条件检索,操作简单方便,并且当监控的相关数据出现错误时可以及时发出报警信息,监控的相关数据也可以增加自定义的日志追踪(log traceid)完整调用链路,还可以实现将***运行信息设置为定时写入日志文件。
参见图6、图7,以将上述实施例中的数据监控方法用在开源分布式服务框架(Dubbo)中进行说明,包括步骤601至步骤607。
步骤601:消费端提出接口调用请求,接口服务提供者接收接口调用请求。
本申请实施例中,可以由Dubbo消费端(Consumer)提出一个接口调用请求,例如加法接口的调用请求,Dubbo的接口服务提供者(Provider)接收该加法接口调用请求。
步骤602:服务提供者通过第三线程返回所述接口调用请求对应的响应结果。
步骤603:监控过滤器监控根据预设的过滤参数过滤得到的第一过滤数据和第二过滤数据,并将所述第一过滤数据记录到第一队列、所述第二过滤数据记录到第二队列。
本申请实施例中,所述Dubbo的监控过滤器可以使用监控过滤器(MonitorFilter),实现对第一过滤数据和第二过滤数据的监控,并将所述第一过滤数据记录到第一队列、所述第二过滤数据记录到第二队列。
步骤604:通过第一线程将记录到第一队列的所述第一过滤数据写入第一日志文件。
步骤605:通过第二线程将记录到第二队列的所述第二过滤数据写入第二日志文件。
步骤606:获取所述第一日志文件中最新写入的所述第一过滤数据和所述第二日志文件中最新写入的所述第二过滤数据,并将所述第一过滤数据和所述第二过滤数据解析为日志数据。
本申请实施例中,采用日志文件托运工具(Filebeat)获取最新写入的第一过滤数据和第二过滤数据,Filebeat会实时监控日志目录或者指定的日志文件,追踪读取这些文件(追踪文件的变化,不停的读),并且转发这些文件中变化的数据到接收、处理、转发日志工具(logstarsh)中存放。
Logstarsh接收Filebeat传送来的最新写入的第一过滤数据和第二过滤数据之后,将这些无规则的数据解析为有统一结构或格式的数据,即解析为可查询的日志数据。
步骤607:发送所述日志数据。
本申请实施例中,Logstarsh将日志数据发送给基于全文检索引擎工具包(Lucene)的搜索服务器(ElasticSearch)将接收到的数据存入索引文件中,即对数据进行分层,方便日志数据搜索者可以按照查询条件对日志数据进行查询,并且ElasticSearch里面可以安装有界面的插件,以便为日志数据搜索者提供更简单方便、友好的操作界面。
ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
本申请实施例中,步骤601可以参见基于Dubbo的数据监控方法的时序图7中的第1步,步骤602可以参见时序表图7中的第3步,步骤603可以参见时序表图7中的第2步,步骤604和步骤605可以参见时序表图7中的第4步,步骤606可以参见时序表图7中的第5步和第6步,步骤607可以参见时序表图7中的第7步。
本申请实施例中,MonitorFilter直接将监控到的数据和Log traceid记录到第一队列或第二队列,随即通过第三线程为消费者返回响应结果;而MonitorFilter则会通过第一线程将获取到基本数据实时并写入第一日志文件;还会将本机的***指标(CPU使用率和/或内存占用量)以一定的时间间隔写入第二日志文件;第一日志文件和第二日志文件存放在本地磁盘上,Filebeat实时监控本地磁盘上的第一日志文件和第二日志文件,若第一日志文件和第二日志文件有变化,就会将变化部分传送到Logstarsh解析成日志数据,Logstarsh会将日志数据发送到数据存储最终持久到ElasticSearch集群中,而不是原来产品的本地磁盘,使得监控到的数据存储更安全,并且ElasticSearch存储量更大。
参见图8,本申请实施例提供了一种数据监控装置,包括:
第一监控模块801,用于监控根据预设的过滤参数过滤得到的第一过滤数据,并将所述第一过滤数据记录到队列;
第一写入模块802,用于通过第一线程将记录到队列的所述第一过滤数据写入第一日志文件;
第一解析模块803,用于获取所述第一日志文件中最新写入的所述第一过滤数据,并将所述第一过滤数据解析为日志数据;
发送模块804,用于发送所述日志数据。
可选地,所述装置还包括:
第二监控模块,用于监控根据预设的过滤参数过滤得到的第二过滤数据,并将所述第二过滤数据记录到所述队列;
第二写入模块,用于通过第二线程将记录到所述队列的所述第二过滤数据写入第二日志文件;
第二解析模块,用于获取所述第二日志文件中最新写入的所述第二过滤数据,并将所述第二过滤数据解析为日志数据。
可选地,所述队列包括第一队列和第二队列。
可选地,所述第一监控模块801还用于将所述第一过滤数据记录到所述第一队列;
所述第二监控模块还用于将所述第二过滤数据记录到所述第二队列。
可选地,所述装置还包括:
调用模块,用于接收接口调用请求;
响应模块,用于通过第三线程返回所述接口调用请求对应的响应结果。
可选地,所述过滤参数包括接口调用成功次数、接口调用失败次数、对接口调用请求的响应时间、并发数、每个接口调用请求的完整调用链路、CPU使用率和/或内存占用率。
可选地,所述装置还包括:
报警模块,用于当检测到所述接口调用失败次数大于预设阈值时,发出报警通知。
可选地,所述装置还包括:
查看模块,用于通过每个接口调用请求的完整调用链路查看所述接口调用失败时的整个调用链路信息。
可选地,所述第二写入模块还用于通过第二线程将记录到第二队列的所述第二过滤数据按照预设的时间间隔写入第二日志文件。
本申请实施例的数据监控装置可以使得监控的相关数据实时性更强,还可以将监控的相关数据通过不同的线程异步写入日志文件,并且可以实时获取写入日志文件中的相关数据,对该相关数据进行统一解析后实现可按照自定义查询条件检索,操作简单方便。
上述为本实施例的数据监控装置的示意性方案。需要说明的是,该数据监控装置的技术方案与上述的数据监控方法的技术方案属于同一构思,数据监控装置的技术方案未详细描述的细节内容,均可以参见上述数据监控方法的技术方案的描述。
本申请一实施例还提供一种计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现所述数据监控方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的数据监控方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述数据监控方法的技术方案的描述。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。

Claims (20)

1.一种数据监控方法,其特征在于,包括:
监控根据预设的过滤参数过滤得到的第一过滤数据,并将所述第一过滤数据记录到队列;
通过第一线程将记录到队列的所述第一过滤数据写入第一日志文件;
获取所述第一日志文件中最新写入的所述第一过滤数据,并将所述第一过滤数据解析为日志数据;
发送所述日志数据。
2.根据权利要求1所述的方法,其特征在于,还包括:
监控根据预设的过滤参数过滤得到的第二过滤数据,并将所述第二过滤数据记录到所述队列;
通过第二线程将记录到所述队列的所述第二过滤数据写入第二日志文件;
获取所述第二日志文件中最新写入的所述第二过滤数据,并将所述第二过滤数据解析为日志数据。
3.根据权利要求2所述的方法,其特征在于,所述队列包括第一队列和第二队列。
4.根据权利要求3所述的方法,其特征在于,
将所述第一过滤数据记录到所述队列包括:
将所述第一过滤数据记录到所述第一队列;
将所述第二过滤数据记录到所述队列包括:
所述第二过滤数据记录到所述第二队列。
5.根据权利要求1所述的方法,其特征在于,还包括:
接收接口调用请求;
通过第三线程返回所述接口调用请求对应的响应结果。
6.根据权利要求5所述的方法,其特征在于,所述过滤参数包括接口调用成功次数、接口调用失败次数、对接口调用请求的响应时间、并发数、每个接口调用请求的完整调用链路、CPU使用率和/或内存占用率。
7.根据权利要求6所述的方法,其特征在于,所述监控根据预设的过滤参数过滤得到的第一过滤数据之后,还包括:
当检测到所述接口调用失败次数大于预设阈值时,发出报警通知。
8.根据权利要求7所述的方法,其特征在于,当检测到所述接口调用失败次数大于预设阈值时,发出报警通知之后,还包括:
通过每个接口调用请求的完整调用链路查看所述接口调用失败时的整个调用链路信息。
9.根据权利要求4所述的方法,其特征在于,所述通过第二线程将记录到所述队列的所述第二过滤数据写入第二日志文件包括:
通过第二线程将记录到第二队列的所述第二过滤数据按照预设的时间间隔写入第二日志文件。
10.一种数据监控装置,其特征在于,包括:
第一监控模块,用于监控根据预设的过滤参数过滤得到的第一过滤数据,并将所述第一过滤数据记录到队列;
第一写入模块,用于通过第一线程将记录到队列的所述第一过滤数据写入第一日志文件;
第一解析模块,用于获取所述第一日志文件中最新写入的所述第一过滤数据,并将所述第一过滤数据解析为日志数据;
发送模块,用于发送所述日志数据。
11.根据权利要求10所述的装置,其特征在于,还包括:
第二监控模块,用于监控根据预设的过滤参数过滤得到的第二过滤数据,并将所述第二过滤数据记录到所述队列;
第二写入模块,用于通过第二线程将记录到所述队列的所述第二过滤数据写入第二日志文件;
第二解析模块,用于获取所述第二日志文件中最新写入的所述第二过滤数据,并将所述第二过滤数据解析为日志数据。
12.根据权利要求11所述的装置,其特征在于,所述队列包括第一队列和第二队列。
13.根据权利要求12所述的装置,其特征在于,
所述第一监控模块还用于将所述第一过滤数据记录到所述第一队列;
所述第二监控模块还用于将所述第二过滤数据记录到所述第二队列。
14.根据权利要求10所述的装置,其特征在于,还包括:
调用模块,用于接收接口调用请求;
响应模块,用于通过第三线程返回所述接口调用请求对应的响应结果。
15.根据权利要求14所述的装置,其特征在于,所述过滤参数包括接口调用成功次数、接口调用失败次数、对接口调用请求的响应时间、并发数、每个接口调用请求的完整调用链路、CPU使用率和/或内存占用率。
16.根据权利要求15所述的装置,其特征在于,还包括:
报警模块,用于当检测到所述接口调用失败次数大于预设阈值时,发出报警通知。
17.根据权利要求16所述的装置,其特征在于,还包括:
查看模块,用于通过每个接口调用请求的完整调用链路查看所述接口调用失败时的整个调用链路信息。
18.根据权利要求13所述的装置,其特征在于,所述第二写入模块还用于通过第二线程将记录到第二队列的所述第二过滤数据按照预设的时间间隔写入第二日志文件。
19.一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现以下步骤:
监控根据预设的过滤参数过滤得到的第一过滤数据,并将所述第一过滤数据记录到队列;
通过第一线程将记录到队列的所述第一过滤数据写入第一日志文件;
获取所述第一日志文件中最新写入的所述第一过滤数据,并将所述第一过滤数据解析为日志数据;
发送所述日志数据。
20.一种计算机可读存储介质,其存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-9任意一项所述方法的步骤。
CN201810036096.5A 2018-01-15 2018-01-15 一种数据监控方法、装置、计算设备及存储介质 Pending CN108132868A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810036096.5A CN108132868A (zh) 2018-01-15 2018-01-15 一种数据监控方法、装置、计算设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810036096.5A CN108132868A (zh) 2018-01-15 2018-01-15 一种数据监控方法、装置、计算设备及存储介质

Publications (1)

Publication Number Publication Date
CN108132868A true CN108132868A (zh) 2018-06-08

Family

ID=62399750

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810036096.5A Pending CN108132868A (zh) 2018-01-15 2018-01-15 一种数据监控方法、装置、计算设备及存储介质

Country Status (1)

Country Link
CN (1) CN108132868A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108845912A (zh) * 2018-06-11 2018-11-20 掌阅科技股份有限公司 服务接口调用故障的报警方法及计算设备
CN108959029A (zh) * 2018-06-29 2018-12-07 深圳市同泰怡信息技术有限公司 收集和报告服务器异常日志的方法及***
CN109343955A (zh) * 2018-09-14 2019-02-15 网易无尾熊(杭州)科技有限公司 推荐服务调用方法、介质、装置和计算设备
CN110780857A (zh) * 2019-10-23 2020-02-11 杭州涂鸦信息技术有限公司 一种统一日志组件
CN110888780A (zh) * 2019-11-19 2020-03-17 泰康保险集团股份有限公司 应用监控方法、装置、设备及存储介质
CN113076290A (zh) * 2021-04-12 2021-07-06 百果园技术(新加坡)有限公司 文件删除方法、装置、设备、***及存储介质
CN115629944A (zh) * 2022-12-21 2023-01-20 杭州谐云科技有限公司 一种容器日志的处理方法和日志处理***

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101201786A (zh) * 2006-12-13 2008-06-18 中兴通讯股份有限公司 一种故障日志监控方法及装置
CN103377115A (zh) * 2012-04-23 2013-10-30 鸿富锦精密工业(深圳)有限公司 ***事件日志管理***及***事件日志管理方法
CN105183609A (zh) * 2015-09-16 2015-12-23 焦点科技股份有限公司 一种应用于软件***的实时监控***及方法
CN106815125A (zh) * 2015-12-02 2017-06-09 阿里巴巴集团控股有限公司 一种日志审计方法及平台
CN106815128A (zh) * 2016-12-11 2017-06-09 乐视控股(北京)有限公司 日志输出方法及装置、电子设备
CN106844589A (zh) * 2017-01-10 2017-06-13 深圳市爱立峰科技有限公司 数据库数据异步存储方法和***
US20170168915A1 (en) * 2015-12-11 2017-06-15 International Business Machines Corporation Dynamic trace level control
CN106919494A (zh) * 2015-12-25 2017-07-04 阿里巴巴集团控股有限公司 安卓应用日志的实现方法和装置
CN107239382A (zh) * 2017-06-23 2017-10-10 深圳市冬泉谷信息技术有限公司 一种容器应用的日志处理方法及***

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101201786A (zh) * 2006-12-13 2008-06-18 中兴通讯股份有限公司 一种故障日志监控方法及装置
CN103377115A (zh) * 2012-04-23 2013-10-30 鸿富锦精密工业(深圳)有限公司 ***事件日志管理***及***事件日志管理方法
CN105183609A (zh) * 2015-09-16 2015-12-23 焦点科技股份有限公司 一种应用于软件***的实时监控***及方法
CN106815125A (zh) * 2015-12-02 2017-06-09 阿里巴巴集团控股有限公司 一种日志审计方法及平台
US20170168915A1 (en) * 2015-12-11 2017-06-15 International Business Machines Corporation Dynamic trace level control
CN106919494A (zh) * 2015-12-25 2017-07-04 阿里巴巴集团控股有限公司 安卓应用日志的实现方法和装置
CN106815128A (zh) * 2016-12-11 2017-06-09 乐视控股(北京)有限公司 日志输出方法及装置、电子设备
CN106844589A (zh) * 2017-01-10 2017-06-13 深圳市爱立峰科技有限公司 数据库数据异步存储方法和***
CN107239382A (zh) * 2017-06-23 2017-10-10 深圳市冬泉谷信息技术有限公司 一种容器应用的日志处理方法及***

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108845912A (zh) * 2018-06-11 2018-11-20 掌阅科技股份有限公司 服务接口调用故障的报警方法及计算设备
CN108959029A (zh) * 2018-06-29 2018-12-07 深圳市同泰怡信息技术有限公司 收集和报告服务器异常日志的方法及***
CN109343955A (zh) * 2018-09-14 2019-02-15 网易无尾熊(杭州)科技有限公司 推荐服务调用方法、介质、装置和计算设备
CN110780857A (zh) * 2019-10-23 2020-02-11 杭州涂鸦信息技术有限公司 一种统一日志组件
CN110780857B (zh) * 2019-10-23 2024-01-30 杭州涂鸦信息技术有限公司 一种统一日志组件
CN110888780A (zh) * 2019-11-19 2020-03-17 泰康保险集团股份有限公司 应用监控方法、装置、设备及存储介质
CN113076290A (zh) * 2021-04-12 2021-07-06 百果园技术(新加坡)有限公司 文件删除方法、装置、设备、***及存储介质
CN113076290B (zh) * 2021-04-12 2024-01-30 百果园技术(新加坡)有限公司 文件删除方法、装置、设备、***及存储介质
CN115629944A (zh) * 2022-12-21 2023-01-20 杭州谐云科技有限公司 一种容器日志的处理方法和日志处理***

Similar Documents

Publication Publication Date Title
CN108132868A (zh) 一种数据监控方法、装置、计算设备及存储介质
CN103023693B (zh) 一种行为日志数据管理***及方法
CN104954410A (zh) 消息推送方法、装置及服务器
CN104125135B (zh) 一种即时通信应用聊天记录的管理方法和终端
CN102833668A (zh) 数据流量提醒方法及装置
CN110245116A (zh) 对账数据处理方法、装置、设备及计算机可读存储介质
CN107181821A (zh) 一种基于sse规范的消息推送方法及装置
CN109408468A (zh) 文件处理方法和装置、计算设备及存储介质
CN111898007A (zh) 一种变电站的三维场景模型构建***及方法
CN104657435A (zh) 一种应用数据的存储管理方法和网络管理***
CN109062807B (zh) 测试应用程序的方法及装置、存储介质、电子装置
CN109284236A (zh) 数据预热方法、装置、电子设备及存储介质
CN109992325B (zh) 信息显示方法、装置、存储介质和电子装置
CN117437000B (zh) 联网数据交互方法、***、计算机设备及存储介质
CN102855297B (zh) 一种控制数据传输的方法和连接器
CN105872731A (zh) 数据处理的方法和装置
CN108132454A (zh) 用电监测方法及装置
CN104967667A (zh) 一种基于云服务的软件稳定性测试远程监控***
CN107423446A (zh) 基于云存储的新媒体自动化可信部署***和方法
KR20140013892A (ko) 복수의 정보 시스템에서의 출력 비교 방법
CN114285896B (zh) 信息推送方法、装置、设备、存储介质及程序产品
CN115757639A (zh) 数据源同步方法、装置、电子设备及存储介质
CN110942395B (zh) 保险保全风险控制方法、装置、设备及存储介质
CN113888310A (zh) 信贷风险评估方法、装置及存储介质
CN107819595A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20180608

RJ01 Rejection of invention patent application after publication