CN105610639A - 全量日志抓取方法及装置 - Google Patents

全量日志抓取方法及装置 Download PDF

Info

Publication number
CN105610639A
CN105610639A CN201510955903.XA CN201510955903A CN105610639A CN 105610639 A CN105610639 A CN 105610639A CN 201510955903 A CN201510955903 A CN 201510955903A CN 105610639 A CN105610639 A CN 105610639A
Authority
CN
China
Prior art keywords
data
request
network card
information
virtual machine
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
CN201510955903.XA
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.)
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co 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 Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201510955903.XA priority Critical patent/CN105610639A/zh
Publication of CN105610639A publication Critical patent/CN105610639A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种全量日志抓取方法及装置,用于抓取一个实体机所承载的多个虚拟机的请求日志信息。其中方法包括:抓取实体机的网卡接收到的网卡数据;根据预设协议,对网卡数据进行解析,得到请求数据包,并识别出请求数据包所对应的虚拟机;根据请求数据包携带的信息,向请求数据包所对应的虚拟机的日志文件中写入请求日志信息。上述方案减轻了实体机的负担,避免对实体机CPU的性能、实体机磁盘的性能造成影响,且便于对日志信息进行管理。

Description

全量日志抓取方法及装置
技术领域
本发明涉及互联网技术领域,具体涉及一种全量日志抓取方法及装置。
背景技术
目前的虚拟机通过软件模拟的方式实现具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。通过虚拟机软件,可以在一台实体机上模拟出一台或多台虚拟机,这些虚拟机完全就像真正的实体机那样进行工作,例如,可以安装操作系统、安装应用程序、访问网络资源等等。
一般情况下,当客户端需要对虚拟机的数据进行操作时,可以将请求通过实体机发送到虚拟机,虚拟机执行的操作也将记录到全量日志中,虚拟机的全量日志一般存储于实体机的磁盘,也就是说,多台虚拟机将向实体机的磁盘写入日志信息,这样就加重了实体机的负担,降低了实体机CPU的性能,严重影响了实体机的磁盘的性能。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的全量日志抓取方法和相应的全量日志抓取装置。
根据本发明的一个方面,提供了一种全量日志抓取方法,用于抓取一个实体机所承载的多个虚拟机的请求日志信息,方法包括:
抓取实体机的网卡接收到的网卡数据;
根据预设协议,对网卡数据进行解析,得到请求数据包,并识别出请求数据包所对应的虚拟机;
根据请求数据包携带的信息,向请求数据包所对应的虚拟机的日志文件中写入请求日志信息。
根据本发明的另一方面,提供了一种全量日志抓取装置,用于抓取一个实体机所承载的多个虚拟机的请求日志信息,装置包括:
抓取模块,适于抓取实体机的网卡接收到的网卡数据;
解析模块,适于根据预设协议,对网卡数据进行解析,得到请求数据包,并识别出请求数据包所对应的虚拟机;
写入模块,适于根据请求数据包携带的信息,向请求数据包所对应的虚拟机的日志文件中写入请求日志信息。
根据本发明提供的全量日志抓取方法及装置,通过抓取实体机的网卡接收到的网卡数据;根据预设协议,对网卡数据进行解析,得到请求数据包,并识别出请求数据包所对应的虚拟机;根据请求数据包携带的信息,向请求数据包所对应的虚拟机的日志文件中写入请求日志信息,可以克服因所有的虚拟机都向实体机的磁盘写日志,而造成加重的实体机负担的缺陷,避免对实体机CPU的性能、实体机磁盘的性能造成影响,且便于对日志信息进行管理。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的全量日志抓取方法的流程示意图;
图2示出了根据本发明另一个实施例的全量日志抓取方法的流程示意图;
图3示出了根据本发明一个实施例的全量日志抓取装置的功能框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
为了提高服务端处理能力,经常需要在实体机上模拟虚拟机,提高事务处理能力,一般情况下,一台实体机上可以模拟多台虚拟机,各个虚拟机都可以提供MySQL服务,MySQL服务下的全量日志一般会存储到实体机的磁盘,也就是说,同一台实体机上每个提供MySQL服务的虚拟机都要启动一个进程用于将向实体机的磁盘写入各自的服务对应的全量日志,这样就加重了实体机的负担,降低了实体机CPU的性能,严重影响了实体机的磁盘的性能。为了解决上述技术问题,提出了本申请。
图1示出了根据本发明一个实施例的全量日志抓取方法的流程示意图。如图1所示,该方法包括以下步骤:
步骤S100,抓取实体机的网卡接收到的网卡数据。
具体地,MySQL服务的客户端对虚拟机的操作都需要经过实体机的网卡才可以到达虚拟机,例如,客户端想要对虚拟机的数据进行修改,则将请求发送至实体机,经实体机的网卡发送到虚拟机上。其中,网卡是工作在链路层的网络组件,是局域网中连接计算机和传输介质的接口,不仅能实现与局域网传输介质之间的物理连接和电信号匹配,还涉及帧的发送与接收、帧的封装与拆封、介质访问控制、数据的编码与解码以及数据缓存的功能等。
网卡数据是裸数据,仅根据网卡数据并不能直观地获知该网卡数据具体包含哪些数据以及该网卡数据所具有的含义,因此需要对该网卡数据进行相应的处理。
步骤S101,根据预设协议,对网卡数据进行解析,得到请求数据包,并识别出请求数据包所对应的虚拟机。
在本发明实施例中,预设协议为MySQL协议,根据MySQL协议对网卡数据进行解析,具体指按照协议规则对网卡数据划分,从而确定网卡数据各部分的含义,例如是请求数据还是握手数据等,得到对应的请求数据包,并识别出请求数据包所对应的虚拟机。
步骤S102,根据请求数据包携带的信息,向请求数据包所对应的虚拟机的日志文件中写入请求日志信息。
在本发明实施例中,虚拟机的日志文件可以存储于实体机中,也可以将虚拟机的日志文件存储于其他服务器。
请求数据包携带有对数据进行执行的操作等,例如,客户端想要写入数据A=1,则该请求数据包携带有信息:A=1,在根据步骤S204识别出请求数据包对应的虚拟机后,将数据信息、请求数据包的类型信息、请求时间等写入到请求数据包所对应的虚拟机的日志文件中。
根据本发明上述实施例提供的方法,通过抓取实体机的网卡接收到的网卡数据,根据预设协议,对网卡数据进行解析,得到请求数据包,并识别出请求数据包所对应的虚拟机,根据请求数据包携带的信息,向请求数据包所对应的虚拟机的日志文件中写入请求日志信息,可以克服因所有的虚拟机都向实体机的磁盘写日志,而造成加重的实体机负担的缺陷,避免对实体机CPU的性能、实体机磁盘的性能造成影响,且便于对日志信息进行管理。
图2示出了根据本发明另一个实施例的全量日志抓取方法的流程示意图。如图2所示,该方法包括以下步骤:
步骤S200,抓取实体机的网卡接收到的网卡数据。
一般情况下,一台实体机会模拟多台虚拟机,因此,实体机会为所模拟的多台虚拟机分配相应的端口,所有虚拟机的数据等都经过实体机的网卡,因此可以通过解析网卡数据得到数据对应的虚拟机。
其中,网卡数据包括:数据包头和数据流,数据流是指一组有顺序的、有起点和终点的字节集合,程序从键盘接收数据或向文件中写数据,以及在网络连接上进行数据的读写操作,都可以使用数据流来完成,从数据流并不能直观获知网卡数据的含义,只有按相应的规则将数据流进行划分之后,才能获知其含义;网卡数据的数据包头包括:以太头、IP头和TCP头。
更为具体地,TCP头的格式定义如下:
---SourcePort是源端口,16位。
---DestinationPort是目的端口,16位。
---SequenceNumber是发送数据包中的第一个字节的序列号,32位。
---AcknowledgmentNumber是确认序列号,32位。
---DataOffset是数据偏移,4位。
---标志位:6位。
---Checksum是校验和,16位。
---UrgentPointers是紧急指针,16位,只有URG标志位被设置时该字段才有含义,表示紧急数据相对序列号(SequenceNumber字段的值)的偏移。
也就是说,通过解析TCP头中定义的目的端口可以确定相应的虚拟机。
步骤S201,解析网卡数据的状态信息,得到用于建立连接的握手状态数据包。
其中,用于建立连接的握手状态数据包包括:用于建立TCP/IP连接的握手状态数据包和用于建立数据库连接的握手状态数据包。
在本发明实施例中,网卡数据不仅包含有请求数据包,还包含有表示状态的信息,状态信息指连接所处的阶段,是握手阶段还是已连接阶段。在进行TCP/IP连接时,需要经过三次握手,才可以完成TCP/IP连接。在进行数据库连接时,需要经过一次握手才可以完成数据库连接。
在本步骤中,通过对网卡数据的状态信息进行解析,可以得到用于建立连接的握手状态数据包,通过统计握手状态数据包的个数,可以确定连接是否建立成功。
步骤S202,在根据握手状态数据包确定连接建立成功后,根据预设协议,对数据流继续进行解析,得到请求数据包。
其中,预设协议为MySQL协议,在利用步骤S201得到握手状态数据包后,根据握手状态数据包确定MySQL服务的客户端与虚拟机(MySQL服务的服务端)之间的连接建立成功后,根据MySQL协议对网卡数据进行解析,具体指按照协议规则对网卡数据划分,从而确定网卡数据各部分的含义,例如是请求数据还是握手数据等,得到对应的请求数据包,并识别出请求数据包所对应的虚拟机。
步骤S203,对数据流的特定字节进行解析得到请求数据包的类型信息。
具体地,MySQL协议定义了数据流的第一个字节表示请求数据包的类型,请求数据包的类型包括:读请求、写请求、查询请求等。每种类型的请求数据包都有唯一的标志位,根据该标志位可以确定请求数据包所属的类型,例如当第一个字节的数值为3时,表示该请求数据包类型是:查询请求。
步骤S204,对数据包头进行解析得到目的端口信息,根据目的端口信息识别出请求数据包所对应的虚拟机。
在步骤S200中,抓取了实体机的网卡数据,该网卡数据包括数据包头和数据流,其中,数据包头携带有虚拟机的目的端口信息,一般情况下,虚拟机的目的端口信息封装在TCP头中,根据TCP协议对TCP头进行解析,可以得到虚拟机的目的端口信息,根据该目的端口信息可以识别出请求数据包所对应的虚拟机,例如,通过解析TCP头得到目的端口信息为3306,则可以根据该目的端口信息识别出请求数据包对应的是a虚拟机,从而可以准确地将请求日志信息写入到虚拟机对应的日志文件中。
步骤S205,根据请求数据包携带的信息,向请求数据包所对应的虚拟机的日志文件中写入请求日志信息。
其中,请求数据包携带有对数据进行执行的操作等,例如,客户端想要写入数据A=1,则该请求数据包携带有信息:A=1,在根据步骤S204识别出请求数据包对应的虚拟机后,将数据信息、请求数据包的类型信息、请求时间等写入到请求数据包所对应的虚拟机的日志文件中。
在本发明优选实施例中,还可以通过解析网卡数据的上下文信息,得到请求数据包。
这里解析网卡数据的上下文信息,主要是为了确定是否已建立连接,例如,通过解析网卡数据得到上一次接收的是握手数据,握手数据包有几个,从而确定连接是否建立完成,以确定网卡数据中是否包含有请求数据包。
根据本发明上述实施例提供的方法,通过抓取实体机的网卡接收到的网卡数据,可以得到对所有虚拟机所执行的操作,解析网卡数据的状态信息,得到用于建立连接的握手状态数据包,在根据握手状态数据包确定连接建立成功后,根据预设协议,对数据流继续进行解析,得到请求数据包,以仅将对虚拟机的操作记录到日志文件中,避免在日志文件中写入与操作无关的信息,对数据流的特定字节进行解析得到请求数据包的类型信息,对数据包头进行解析得到目的端口信息,根据目的端口信息识别出请求数据包所对应的虚拟机,根据请求数据包携带的信息,向请求数据包所对应的虚拟机的日志文件中写入请求日志信息,仅通过一次写入操作,便可向所有虚拟机的日志文件中写入请求日志信息,克服了因所有的虚拟机都向实体机的磁盘写日志,而造成加重的实体机负担的缺陷,避免对实体机CPU的性能、实体机磁盘的性能造成影响,且便于对日志信息进行管理。
图3示出了根据本发明一个实施例的全量日志抓取装置的功能框图。用于抓取一个实体机所承载的多个虚拟机的请求日志信息,如图3所示,该装置包括:抓取模块300、解析模块310和写入模块320。
抓取模块300,适于抓取实体机的网卡接收到的网卡数据。
一般情况下,一台实体机会模拟多台虚拟机,因此,实体机会为所模拟的多台虚拟机分配相应的端口,所有虚拟机的数据等都经过实体机的网卡,因此可以通过解析网卡数据得到数据对应的虚拟机。
其中,网卡数据包括:数据包头和数据流,数据流是指一组有顺序的、有起点和终点的字节集合,程序从键盘接收数据或向文件中写数据,以及在网络连接上进行数据的读写操作,都可以使用数据流来完成,从数据流并不能直观获知网卡数据的含义,只有按相应的规则将数据流进行划分之后,才能获知其含义;网卡数据的数据包头包括:以太头、IP头和TCP头。
更为具体地,TCP头的格式定义如下:
---SourcePort是源端口,16位。
---DestinationPort是目的端口,16位。
---SequenceNumber是发送数据包中的第一个字节的序列号,32位。
---AcknowledgmentNumber是确认序列号,32位。
---DataOffset是数据偏移,4位。
---标志位:6位。
---Checksum是校验和,16位。
---UrgentPointers是紧急指针,16位,只有URG标志位被设置时该字段才有含义,表示紧急数据相对序列号(SequenceNumber字段的值)的偏移。
也就是说,通过解析TCP头中定义的目的端口可以确定相应的虚拟机。
解析模块310,适于根据预设协议,对网卡数据进行解析,得到请求数据包,并识别出请求数据包所对应的虚拟机。
可选地,解析模块310进一步适于:对数据流进行解析得到请求数据包;对数据包头进行解析得到目的端口信息,根据目的端口信息识别出请求数据包所对应的虚拟机。
可选地,解析模块310进一步适于:对数据流的特定字节进行解析得到请求数据包的类型信息。
具体地,MySQL协议定义了数据流的第一个字节表示请求数据包的类型,请求数据包的类型包括:读请求、写请求、查询请求等。每种类型的请求数据包都有唯一的标志位,根据该标志位可以确定请求数据包所属的类型,例如当第一个字节的数值为3时,表示该请求数据包类型是:查询请求。
可选地,解析模块310进一步适于:解析网卡数据的状态信息,得到用于建立连接的握手状态数据包;在根据握手状态数据包确定连接建立成功后,对网卡数据继续进行解析,得到请求数据包。
其中,用于建立连接的握手状态数据包包括:用于建立TCP/IP连接的握手状态数据包和用于建立数据库连接的握手状态数据包。
其中,用于建立连接的握手状态数据包包括:用于建立TCP/IP连接的握手状态数据包和用于建立数据库连接的握手状态数据包。
在本发明实施例中,网卡数据不仅包含有请求数据包,还包含有表示状态的信息,状态信息指连接所处的阶段,是握手阶段还是已连接阶段。在进行TCP/IP连接时,需要经过三次握手,才可以完成TCP/IP连接。在进行数据库连接时,需要经过一次握手才可以完成数据库连接。
通过对网卡数据的状态信息进行解析,可以得到用于建立连接的握手状态数据包,通过统计握手状态数据包的个数,可以确定连接是否建立成功。
其中,预设协议为MySQL协议,在得到握手状态数据包后,根据握手状态数据包确定MySQL服务的客户端与虚拟机(MySQL服务的服务端)之间的连接建立成功后,根据MySQL协议对网卡数据进行解析,具体指按照协议规则对网卡数据划分,从而确定网卡数据各部分的含义,例如是请求数据还是握手数据等,得到对应的请求数据包,并识别出请求数据包所对应的虚拟机。
可选地,解析模块310进一步适于:解析网卡数据的上下文信息,得到请求数据包。
写入模块320,适于根据请求数据包携带的信息,向请求数据包所对应的虚拟机的日志文件中写入请求日志信息。
写入模块320进一步适于:向请求数据包所对应的虚拟机的日志文件中写入请求数据包的类型信息。
其中,请求数据包携带有对数据进行执行的操作等,例如,客户端想要写入数据A=1,则该请求数据包携带有信息:A=1,在识别出请求数据包对应的虚拟机后,将数据信息、请求数据包的类型信息、请求时间等写入到请求数据包所对应的虚拟机的日志文件中。
根据本发明上述实施例提供的装置,通过抓取实体机的网卡接收到的网卡数据,可以得到对所有虚拟机所执行的操作,解析网卡数据的状态信息,得到用于建立连接的握手状态数据包,在根据握手状态数据包确定连接建立成功后,根据预设协议,对数据流继续进行解析,得到请求数据包,以仅将对虚拟机的操作记录到日志文件中,避免在日志文件中写入与操作无关的信息,对数据流的特定字节进行解析得到请求数据包的类型信息,对数据包头进行解析得到目的端口信息,根据目的端口信息识别出请求数据包所对应的虚拟机,根据请求数据包携带的信息,向请求数据包所对应的虚拟机的日志文件中写入请求日志信息,仅通过一次写入操作,便可向所有虚拟机的日志文件中写入请求日志信息,克服了因所有的虚拟机都向实体机的磁盘写日志,而造成加重的实体机负担的缺陷,避免对实体机CPU的性能、实体机磁盘的性能造成影响,且便于对日志信息进行管理。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的全量日志抓取设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明公开了:A1、一种全量日志抓取方法,用于抓取一个实体机所承载的多个虚拟机的请求日志信息,所述方法包括:
抓取所述实体机的网卡接收到的网卡数据;
根据预设协议,对所述网卡数据进行解析,得到请求数据包,并识别出所述请求数据包所对应的虚拟机;
根据所述请求数据包携带的信息,向所述请求数据包所对应的虚拟机的日志文件中写入请求日志信息。
A2、根据A1所述的方法,所述网卡数据包括:数据包头和数据流;
所述根据预设协议,对所述网卡数据进行解析,得到请求数据包,并识别出所述请求数据包所对应的虚拟机进一步包括:
对所述数据流进行解析得到请求数据包;
对所述数据包头进行解析得到目的端口信息,根据所述目的端口信息识别出所述请求数据包所对应的虚拟机。
A3、根据A2所述的方法,所述方法还包括:
对数据流的特定字节进行解析得到所述请求数据包的类型信息,
以及,向所述请求数据包所对应的虚拟机的日志文件中写入的所述请求日志信息还包括所述请求数据包的类型信息。
A4、根据A1-A3任一项所述的方法,所述对网卡数据进行解析,得到请求数据包进一步包括:
解析所述网卡数据的状态信息,得到用于建立连接的握手状态数据包;
在根据所述握手状态数据包确定连接建立成功后,对网卡数据继续进行解析,得到请求数据包。
A5、根据A4所述的方法,所述用于建立连接的握手状态数据包包括:用于建立TCP/IP连接的握手状态数据包和用于建立数据库连接的握手状态数据包。
A6、根据A1-A5任一项所述的方法,所述对网卡数据进行解析,得到请求数据包进一步包括:
解析网卡数据的上下文信息,得到请求数据包。
本发明还公开了:B7、一种全量日志抓取装置,用于抓取一个实体机所承载的多个虚拟机的请求日志信息,所述装置包括:
抓取模块,适于抓取所述实体机的网卡接收到的网卡数据;
解析模块,适于根据预设协议,对所述网卡数据进行解析,得到请求数据包,并识别出所述请求数据包所对应的虚拟机;
写入模块,适于根据所述请求数据包携带的信息,向所述请求数据包所对应的虚拟机的日志文件中写入请求日志信息。
B8、根据B7所述的装置,所述网卡数据包括:数据包头和数据流;
所述解析模块进一步适于:对所述数据流进行解析得到请求数据包;对所述数据包头进行解析得到目的端口信息,根据所述目的端口信息识别出所述请求数据包所对应的虚拟机。
B9、根据B8所述的装置,所述解析模块进一步适于:对数据流的特定字节进行解析得到所述请求数据包的类型信息;
所述写入模块进一步适于:向所述请求数据包所对应的虚拟机的日志文件中写入所述请求数据包的类型信息。
B10、根据B7-B9任一项所述的装置,所述解析模块进一步适于:
解析所述网卡数据的状态信息,得到用于建立连接的握手状态数据包;
在根据所述握手状态数据包确定连接建立成功后,对网卡数据继续进行解析,得到请求数据包。
B11、根据B10所述的装置,所述用于建立连接的握手状态数据包包括:用于建立TCP/IP连接的握手状态数据包和用于建立数据库连接的握手状态数据包。
B12、根据B7-B11任一项所述的装置,所述解析模块进一步适于:解析网卡数据的上下文信息,得到请求数据包。

Claims (10)

1.一种全量日志抓取方法,用于抓取一个实体机所承载的多个虚拟机的请求日志信息,所述方法包括:
抓取所述实体机的网卡接收到的网卡数据;
根据预设协议,对所述网卡数据进行解析,得到请求数据包,并识别出所述请求数据包所对应的虚拟机;
根据所述请求数据包携带的信息,向所述请求数据包所对应的虚拟机的日志文件中写入请求日志信息。
2.根据权利要求1所述的方法,所述网卡数据包括:数据包头和数据流;
所述根据预设协议,对所述网卡数据进行解析,得到请求数据包,并识别出所述请求数据包所对应的虚拟机进一步包括:
对所述数据流进行解析得到请求数据包;
对所述数据包头进行解析得到目的端口信息,根据所述目的端口信息识别出所述请求数据包所对应的虚拟机。
3.根据权利要求2所述的方法,所述方法还包括:
对数据流的特定字节进行解析得到所述请求数据包的类型信息,
以及,向所述请求数据包所对应的虚拟机的日志文件中写入的所述请求日志信息还包括所述请求数据包的类型信息。
4.根据权利要求1-3任一项所述的方法,所述对网卡数据进行解析,得到请求数据包进一步包括:
解析所述网卡数据的状态信息,得到用于建立连接的握手状态数据包;
在根据所述握手状态数据包确定连接建立成功后,对网卡数据继续进行解析,得到请求数据包。
5.根据权利要求4所述的方法,所述用于建立连接的握手状态数据包包括:用于建立TCP/IP连接的握手状态数据包和用于建立数据库连接的握手状态数据包。
6.根据权利要求1-5任一项所述的方法,所述对网卡数据进行解析,得到请求数据包进一步包括:
解析网卡数据的上下文信息,得到请求数据包。
7.一种全量日志抓取装置,用于抓取一个实体机所承载的多个虚拟机的请求日志信息,所述装置包括:
抓取模块,适于抓取所述实体机的网卡接收到的网卡数据;
解析模块,适于根据预设协议,对所述网卡数据进行解析,得到请求数据包,并识别出所述请求数据包所对应的虚拟机;
写入模块,适于根据所述请求数据包携带的信息,向所述请求数据包所对应的虚拟机的日志文件中写入请求日志信息。
8.根据权利要求7所述的装置,所述网卡数据包括:数据包头和数据流;
所述解析模块进一步适于:对所述数据流进行解析得到请求数据包;对所述数据包头进行解析得到目的端口信息,根据所述目的端口信息识别出所述请求数据包所对应的虚拟机。
9.根据权利要求8所述的装置,所述解析模块进一步适于:对数据流的特定字节进行解析得到所述请求数据包的类型信息;
所述写入模块进一步适于:向所述请求数据包所对应的虚拟机的日志文件中写入所述请求数据包的类型信息。
10.根据权利要求7-9任一项所述的装置,所述解析模块进一步适于:
解析所述网卡数据的状态信息,得到用于建立连接的握手状态数据包;
在根据所述握手状态数据包确定连接建立成功后,对网卡数据继续进行解析,得到请求数据包。
CN201510955903.XA 2015-12-17 2015-12-17 全量日志抓取方法及装置 Pending CN105610639A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510955903.XA CN105610639A (zh) 2015-12-17 2015-12-17 全量日志抓取方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510955903.XA CN105610639A (zh) 2015-12-17 2015-12-17 全量日志抓取方法及装置

Publications (1)

Publication Number Publication Date
CN105610639A true CN105610639A (zh) 2016-05-25

Family

ID=55990184

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510955903.XA Pending CN105610639A (zh) 2015-12-17 2015-12-17 全量日志抓取方法及装置

Country Status (1)

Country Link
CN (1) CN105610639A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107341096A (zh) * 2017-06-28 2017-11-10 百度在线网络技术(北京)有限公司 日志文件的生成方法和装置、计算机设备和存储介质
CN108038236A (zh) * 2017-12-27 2018-05-15 深信服科技股份有限公司 文件共享方法、装置、系统及可读存储介质
CN115209394A (zh) * 2022-05-31 2022-10-18 深圳市广和通无线股份有限公司 日志抓取方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101520833A (zh) * 2009-04-10 2009-09-02 武汉大学 基于虚拟机的数据防泄漏系统及其方法
CN101887393A (zh) * 2010-07-01 2010-11-17 中兴通讯股份有限公司 基于半虚拟化技术的设备故障复现方法及系统
CN102521114A (zh) * 2011-11-30 2012-06-27 华中科技大学 一种虚拟化环境下的文件系统日志存储系统
CN104702469A (zh) * 2015-03-27 2015-06-10 北京奇虎科技有限公司 监控网络数据的方法、实体机虚拟设备及网络系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101520833A (zh) * 2009-04-10 2009-09-02 武汉大学 基于虚拟机的数据防泄漏系统及其方法
CN101887393A (zh) * 2010-07-01 2010-11-17 中兴通讯股份有限公司 基于半虚拟化技术的设备故障复现方法及系统
CN102521114A (zh) * 2011-11-30 2012-06-27 华中科技大学 一种虚拟化环境下的文件系统日志存储系统
CN104702469A (zh) * 2015-03-27 2015-06-10 北京奇虎科技有限公司 监控网络数据的方法、实体机虚拟设备及网络系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107341096A (zh) * 2017-06-28 2017-11-10 百度在线网络技术(北京)有限公司 日志文件的生成方法和装置、计算机设备和存储介质
CN108038236A (zh) * 2017-12-27 2018-05-15 深信服科技股份有限公司 文件共享方法、装置、系统及可读存储介质
CN115209394A (zh) * 2022-05-31 2022-10-18 深圳市广和通无线股份有限公司 日志抓取方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN110297689B (zh) 智能合约执行方法、装置、设备及介质
US20210385251A1 (en) System and methods for integrating datasets and automating transformation workflows using a distributed computational graph
CN107179879A (zh) 用于存储设备的数据迁移的方法和装置
US8356332B2 (en) Extensible protocol validation
CN104168250B (zh) 基于cgi框架的业务流程控制方法及装置
CN102779244B (zh) 一种文件操作的执行方法及装置
US20210136121A1 (en) System and method for creation and implementation of data processing workflows using a distributed computational graph
CN104348578B (zh) 数据处理的方法及装置
US10701087B2 (en) Analysis apparatus, analysis method, and analysis program
CN110362994A (zh) 恶意文件的检测方法、设备和系统
CN105610639A (zh) 全量日志抓取方法及装置
CN114816894B (zh) 一种芯片测试系统、方法、设备及介质
CN108011850B (zh) 数据包的重组方法及装置、计算机设备及可读介质
CN104205049B (zh) 混合模拟和内核函数处理系统和方法
CN111800490A (zh) 获取网络行为数据的方法、装置及终端设备
CN113595927A (zh) 一种旁路模式下镜像流量的处理方法和装置
CN114726633B (zh) 流量数据处理方法及装置、存储介质及电子设备
US20170090913A1 (en) Software bundle detection
CN107846449A (zh) 调用系统工具的方法、装置、可读存储介质及设备
CN113691458A (zh) 一种网络包的处理方法、装置、电子设备及存储介质
CN102035847A (zh) 用户访问行为处理方法、系统和客户端
CN107040613A (zh) 一种报文传输方法及系统
CN108289080A (zh) 一种访问文件系统的方法、装置和系统
CN108259416A (zh) 检测恶意网页的方法及相关设备
CN103501251B (zh) 断网情况下的数据包处理方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20160525