CN113032224A - 一种信息采集方法、装置、电子设备及可读存储介质 - Google Patents

一种信息采集方法、装置、电子设备及可读存储介质 Download PDF

Info

Publication number
CN113032224A
CN113032224A CN202110437217.9A CN202110437217A CN113032224A CN 113032224 A CN113032224 A CN 113032224A CN 202110437217 A CN202110437217 A CN 202110437217A CN 113032224 A CN113032224 A CN 113032224A
Authority
CN
China
Prior art keywords
probe
information
script
information acquisition
running
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
CN202110437217.9A
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.)
Sangfor Technologies Co Ltd
Original Assignee
Sangfor Technologies 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 Sangfor Technologies Co Ltd filed Critical Sangfor Technologies Co Ltd
Priority to CN202110437217.9A priority Critical patent/CN113032224A/zh
Publication of CN113032224A publication Critical patent/CN113032224A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • G06F11/3093Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes
    • 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
    • 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/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • G06F9/45512Command shells

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种信息采集方法、装置、电子设备及计算机可读存储介质,该方法包括:控制设备在目标设备中部署集成有脚本运行环境的探针;向探针发送信息采集脚本,以便探针在脚本运行环境下运行信息采集脚本;获取探针采集到的运行信息;其中,运行信息包括运行信息采集脚本得到的目标运行信息;该方法将脚本运行环境在探针内部集成,可以使得探针在目标设备不具备脚本运行环境的前提下,其本身也能够具有运行脚本的能力;通过在探针内部集成脚本运行环境,并向探针发送信息采集脚本并使其运行的方式,发送内容不同的信息采集脚本,就可以采集到不同类型的信息,实现探针动态采集信息的效果。

Description

一种信息采集方法、装置、电子设备及可读存储介质
技术领域
本申请涉及探针技术领域,特别涉及一种信息采集方法、信息采集装置、电子设备及计算机可读存储介质。
背景技术
探针(agent)是一个采集设备对应的数据的软件,其可以部署在集群中的设备中,在其运行时采集对应的数据。相关技术通常在部署探针时设置想要采集的数据的类型,而在设备中部署探针后,由于探针源码已经固定,因此该探针所能够采集到的数据的类型就固定不变。若需要获取原本未配置的数据项,则需要修改探针的源码并重新部署,因此相关技术无法实现对数据的动态采集。
发明内容
有鉴于此,本申请的目的在于提供一种信息采集方法、信息采集装置、电子设备及计算机可读存储介质,通过在探针内部集成脚本运行环境,并向探针发送信息采集脚本并使其运行的方式,发送内容不同的信息采集脚本,就可以采集到不同类型的信息,实现探针动态采集信息的效果。
为解决上述技术问题,本申请提供了一种信息采集方法,具体包括:
控制设备在目标设备中部署集成有脚本运行环境的探针;
向所述探针发送信息采集脚本,以便所述探针在所述脚本运行环境下运行所述信息采集脚本;
接收所述探针采集到的运行信息;其中,所述运行信息包括运行所述信息采集脚本得到的目标运行信息。
可选地,所述控制设备在目标设备中部署集成有脚本运行环境的探针,包括:
在所述目标设备中安装所述探针,并基于所述目标设备的类型对所述探针进行初始化处理,得到对应的配置文件;
相应的,所述接收所述探针采集到的运行信息,包括:
接收所述探针基于所述配置文件采集到的基础运行信息,以及运行所述信息采集脚本采集到的所述目标运行信息。
可选地,所述接收所述探针基于所述配置文件采集到的基础运行信息,包括:
接收所述探针基于所述配置文件实时采集到的动态运行信息;
接收所述探针从内存信息队列中读取到的静态运行信息;所述内存信息队列用于存储所述探针初次运行时基于所述配置文件采集到的所述静态运行信息。
可选地,所述基于所述目标设备的类型对所述探针进行初始化处理,得到对应的配置文件,包括:
向所述探针发送类型信息,以便所述探针基于所述类型信息生成初始配置文件;
获取信息修正指令,基于所述信息修正指令编辑所述初始配置文件,得到所述配置文件。
可选地,所述向所述探针发送信息采集脚本,以便所述探针在所述脚本运行环境下运行所述信息采集脚本,包括:
向所述探针发送所述信息采集脚本和校验信息,以便所述探针基于所述校验信息进行安全校验,并在安全校验通过后运行所述信息采集脚本。
可选地,所述接收所述探针采集到的运行信息,包括:
从数据分发队列中提取所述运行信息;所述运行信息由所述探针对直接获取到的初始运行信息进行归并处理后得到,所述归并处理包括压缩处理和数据降重处理;
根据数据分发设置将所述运行信息发送至目标位置。
可选地,所述向所述探针发送信息采集脚本,包括:
通过目标接口向所述探针发送所述信息采集脚本;
相应的,还包括:
利用所述目标接口的接口地址读取所述探针采集的所述运行信息。
本申请还提供了一种信息采集装置,包括:
部署模块,用于控制设备在目标设备中部署集成有脚本运行环境的探针;
运行模块,用于向所述探针发送信息采集脚本,以便所述探针在所述脚本运行环境下运行所述信息采集脚本;
信息接收模块,用于接收所述探针采集到的运行信息;其中,所述运行信息包括运行所述信息采集脚本得到的目标运行信息。
本申请还提供了一种电子设备,包括存储器和处理器,其中:
所述存储器,用于保存计算机程序;
所述处理器,用于执行所述计算机程序,以实现上述的信息采集方法。
本申请还提供了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现上述的信息采集方法。
本申请提供的信息采集方法,控制设备在目标设备中部署集成有脚本运行环境的探针;向探针发送信息采集脚本,以便探针在脚本运行环境下运行信息采集脚本;获取探针采集到的运行信息;其中,运行信息包括运行信息采集脚本得到的目标运行信息。
可见,该方法中,利用控制设备在目标设备部署特殊的探针,即集成有脚本运行环境的探针,通过将脚本运行环境在探针内部集成,可以使得探针在目标设备不具备脚本运行环境的前提下,其本身也能够具有运行脚本的能力。在部署了集成有脚本运行环境的探针后,可以向其发送信息采集脚本,使得探针能够在其内部集成的脚本运行环境中运行该信息采集脚本。随着信息采集脚本的运行,探针可以采集到对应的目标运行信息,而目标运行信息即为探针原本无法采集的数据项。在运行信息采集脚本后,可以获取探针采集到的运行信息,其中就包括目标运行信息。通过在探针内部集成脚本运行环境,并向探针发送信息采集脚本并使其运行的方式,发送内容不同的信息采集脚本,就可以采集到不同类型的信息,实现探针动态采集信息的效果。此外,由于探针本身继承了脚本运行环境,因此只要探针能够与目标设备兼容,通过发送相同的信息采集脚本,则可以在不同类型平台中的目标设备上部署并运行,具有跨平台兼容的效果。同时,控制设备可以灵活地对得到的运行信息进行处理,例如可以分发给下游设备或导出至存储介质。解决了相关技术无法实现对数据项的动态采集的问题。
此外,本申请还提供了一种信息采集装置、电子设备及计算机可读存储介质,同样具有上述有益效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种应用场景示意图;
图2为本申请实施例提供的一种信息采集方法流程图;
图3为本申请实施例提供的一种具体的安全校验过程流程图;
图4为本申请实施例提供的一种具体的信息采集方法流程图;
图5为本申请实施例提供的一种信息采集装置的结构图;
图6为本申请实施例提供的一种信息采集方法所适用的一种硬件组成框架示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在云计算场景下,探针被广泛应用,其可以获取各类系统中各个设备的信息,以便对系统中的设备进行监控。相关技术需要对根据各个系统的类型选用并在设备中部署探针,探针在部署后,其能够采集的METRICS(度量,即探针采集的指标项)就会固定不变,若想要更改探针采集的指标项,则需要修改源码。例如Telegraf探针系统,其虽然在部署时可以配置多种系统采集,但采集指标是固定的,无法在运行过程中动态添加指标。因此相关技术无法实现对数据的动态采集,即无法在探针运行过程中动态新增想要采集的指标项。
为了解决上述问题,本申请控制设备在目标设备中部署集成有脚本运行环境的探针,通过将脚本运行环境在探针内部集成,可以使得探针在目标设备不具备脚本运行环境的前提下,其本身也能够具有运行脚本的能力。通过在探针内部集成脚本运行环境,并向探针发送信息采集脚本并使其运行的方式,发送内容不同的信息采集脚本,就可以采集到不同类型的信息,实现探针动态采集信息的效果,解决了相关技术无法实现对数据项的动态采集的问题。
请参考图1,图1为本申请实施例提供的一种应用场景示意图。其中,用户1可以操作控制设备2,在其上选定目标设备3,并控制其在目标设备3上部署探针。目标设备3可以为物理设备,或者可以为物理设备承载的虚拟设备。在探针部署后,控制设备2可以自动向目标设备3发送采集脚本,或者在用户1的控制下选定采集脚本并发送。目标设备3在接收到采集脚本后可以自动运行,采集对应的运行信息,并将运行信息发送至控制设备2。用户1可以在控制设备2上查看运行信息,或者可以对运行信息进行其他处理,例如数据分发或导出等。
具体的,请参考图2,图2为本申请实施例提供的一种信息采集方法流程图。该方法包括:
S101:控制设备在目标设备中部署集成有脚本运行环境的探针。
控制设备用于执行本申请中的部分或全部步骤,其具体数量可以为一个或多个,当数量为多个时,多个控制设备相互配合完成探针部署、脚本发送、信息获取等步骤。其中,目标设备即为被采集运行信息的设备,其具体形式不做限定,例如可以为物理设备,即物理机,具体可以为服务器或PC(Personal Computer,个人计算机);或者可以为虚拟设备,即虚拟机,例如可以为支撑VDI(Virtual desktop infrastructure,虚拟桌面基础架构)或HCI(Hyper-converged infrastructure,超融合基础架构)运行的虚拟机。目标设备的数量可以为多个,即可以同时获取多个物理设备或虚拟设备中的运行信息。目标设备的确定方式不做限定,在一种实施方式中,可以获取目标设备确定信息,根据该信息确定目标设备,目标设备确定信息即为目标设备的身份标识信息,具体可以为目标设备的网络地址,或者可以为目标设备的设备编号。在另一种实施方式中,可以预先对目标设备进行标记,在需要部署探针时,逐个扫描各个设备,将具有标识的设备确定为目标设备。
探针是指可以被部署在物理设备或虚拟设备中,用于进行性能数据采集的程序。需要说明的是,本实施例中的探针内部集成有脚本运行环境,该脚本运行环境可以赋予探针运行脚本的能力,使其能够在目标设备中不存在脚本运行环境的情况下运行脚本,为数据的动态采集打下基础。脚本运行环境可以被称为RUNTIME,其类型与脚本的类型相对应,具体类型不做限定。通过在探针内部集成脚本运行环境,使得该探针转变为插件化探针,即其工作时不需要目标设备本身具有脚本运行环境,可以实现“即插即用”的效果。
本实施例并不限定探针的具体类型,可以理解的是,不同类型系统中的设备的类型可能不同,相应的,设备具有的运行信息可能不同,因此可以根据目标设备的类型(例如linux系统设备、Windows系统设备、虚拟机、PC、服务器)或其所属的系统的类型选择对应的探针。或者在另一种实施方式中,可以选择通用的探针,通过为该探针配置不同的配置文件,使其能够兼容各种不同系统,提高探针兼容性,扩大本申请提供的信息采集方法的适用范围。本实施例并不限定探针的具体部署方式,根据探针类型的不同,其对应的部署方式也可以不同。
S102:向探针发送信息采集脚本,以便探针在脚本运行环境下运行信息采集脚本。
在探针部署结束后,当需要动态获取运行信息时,可以向探针发送信息采集脚本。信息采集脚本被预先编写好,其可以被探针内部集成的脚本运行环境下运行,进而使得探针能够采集到信息采集脚本指定的信息项,实现探针动态采集信息的效果。信息采集脚本的生成过程本实施例不做限定,例如可以由用户输入脚本参数,根据脚本参数自动生成信息采集脚本;在另一种实施方式中,可以获取外界输入的信息采集脚本,例如其他电子设备发送的信息采集脚本,或者从外界存储设备处获取。
将信息采集脚本发送至探针,探针可以在其脚本运行环境下运行信息采集脚本,进而采集到信息采集脚本指定的运行信息,该运行信息可以被称为目标运行信息。可以理解的是,信息采集脚本的类型必然与脚本运行环境相匹配,本实施例并不限定其具体类型,例如可以为Lua脚本,Lua是一种简洁、轻量、可扩展的程序设计语言。
S103:接收探针采集到的运行信息。
在本实施例中,运行信息包括运行信息采集脚本得到的目标运行信息,除此之外,运行信息还可以包括探针不依赖信息采集脚本即可获取到的基础运行信息。本实施例并不限定接收运行信息的具体方式,例如可以直接与探针通信,获取探针反馈的运行信息;在另一种实施方式中,探针在获取到运行信息后可以将其放入队列,因此在接收运行信息时,可以从该队列中运行信息。队列可以为先入先出模式,该方式可以根据当前情况获取运行信息,在负载压力较大时暂停获取运行信息,合理利用计算资源。运行信息的具体内容和形式不做限定,例如可以为CPU(Central Processing Unit,中央处理器)信息、内存信息、磁盘信息、网络信息、进程信息、事件信息(例如linux系统虚拟机上的perf事件)、KVM(Kernel-based Virtual Machine)数据、Qume数据(一种KVM架构虚拟机中的数据类型)等。进一步的,运行信息的具体格式不做限定,例如可以采用标准的Json格式;在另一种实施方式中,为了与其他已有的系统直接进行对接,还可以采用其他系统的数据格式,例如为了与Prometheus(普罗米修斯)监控系统进行对接,可以采用Prometheus的数据格式。
应用本申请实施例提供的信息采集方法,在目标设备部署特殊的探针,即集成有脚本运行环境的探针,通过将脚本运行环境在探针内部集成,可以使得探针在目标设备不具备脚本运行环境的前提下,其本身也能够具有运行脚本的能力。在部署了集成有脚本运行环境的探针后,可以向其发送信息采集脚本,使得探针能够在其内部集成的脚本运行环境中运行该信息采集脚本。随着信息采集脚本的运行,探针可以采集到对应的目标运行信息,而目标运行信息即为探针原本无法采集的数据项。在运行信息采集脚本后,可以获取探针采集到的运行信息,其中就包括目标运行信息。通过在探针内部集成脚本运行环境,并向探针发送信息采集脚本并使其运行的方式,发送内容不同的信息采集脚本,就可以采集到不同类型的信息,实现探针动态采集信息的效果,解决了相关技术无法实现对数据项的动态采集的问题。
基于上述实施例,本实施例将对上述实施例中的若干步骤进行具体阐述。在一种实施方式中,为了提高探针的兼容性,使得探针具有横跨各种类型的平台的兼容性,可以根据目标设备的类型对探针进行针对性的初始化处理。具体的,控制设备在目标设备中部署集成有脚本运行环境的探针的过程可以包括如下步骤:
步骤11:控制设备在目标设备中安装探针,并基于目标设备的类型对探针进行初始化处理,得到对应的配置文件。
探针在目标设备中安装后,可以基于目标设备的类型对其进行针对性地初始化处理,得到对应的配置文件,以便探针在后续基于该配置文件获取不依赖信息采集脚本即可采集的运行信息,即基础运行信息。因此相应的,接收探针采集到的运行信息的过程可以包括:
接收探针基于配置文件采集到的基础运行信息,以及运行信息采集脚本采集到的目标运行信息。
需要说明的是,目标设备的类型可以根据实际需要进行设置。例如在一种实施方式中,不仅仅表明目标设备的设备类型,例如物理机或虚拟机,还可以用于表示目标设备的应用场景,例如VDI系统后台设备。本实施例并不限定初始化处理的具体方式和过程,可以参考相关技术。目标设备的类型的确定方式可以有多种,例如可以向探针发送类型信息,指定目标设备的类型;或者可以由探针自动识别目标设备的类型。配置文件用于指定探针需要采集的基础运行信息的类别。通过基于目标设备的类型对探针进行初始化处理,可以使得探针能够部署在任意系统中的设备上,提高了探针的兼容性,进而扩大了信息采集方法的适用范围。
进一步的,在一种实施方式中,为了提高探针信息采集的速度,可以允许探针不用重复采集不会变化的运行信息,即静态运行信息。具体的,接收探针基于配置文件采集到的基础运行信息的过程具体可以包括:
步骤21:接收探针基于配置文件实时采集到的动态运行信息。
步骤22:接收探针从内存信息队列中读取到的静态运行信息。
在接收探针发送的运行信息时,允许探针采用不同的方式采集运行信息。其中,可能随时发生变化的信息可以被称为动态运行信息,在每次信息采集时,探针均可以基于配置文件实时采集动态运行信息;而不会发生变化的信息即为静态运行信息,在本实施例中,可以设置内存信息队列,内存信息队列用于存储探针初次运行时基于配置文件采集到的静态运行信息。因此在接收探针基于配置文件采集到的基础运行信息时,可以接收探针从内存信息队列中直接读取到的静态运行信息,避免重复采集静态运行信息,提高信息采集速度,避免计算资源的浪费。
再进一步的,在一种实施方式中,同一类型的目标设备可能具有多种不同的运行信息采集方案,或者根据实际需要,某些基础运行信息不需要被采集。在这种情况下,基于目标设备的类型对探针进行初始化处理,得到对应的配置文件的过程具体可以包括如下步骤:
步骤31:向探针发送类型信息,以便探针基于类型信息生成初始配置文件。
在本实施例中,通过向探针发送类型信息的方式对目标设备的类型进行指定,避免类型信息错误造成探针不可用的后果。类型信息的具体形式不做限定,例如可以为类型编号,或者可以为类型名称。类型信息的获取方式不做限定,例如可以由用户输入。基于类型信息,探针可以直接生成初始配置文件。初始配置文件记用于表明目标设备通常需要被获取哪些状态信息。
步骤32:获取信息修正指令,并基于信息修正指令编辑初始配置文件,得到配置文件。
信息修正指令用于对初始配置文件的内容进行修正,以便根据实际需要选择不获取或多获取部分基础运行信息,或者切换采用其他的运行信息采集方案。需要说明的是,本实施例并不限定获取信息修正信息的具体执行时机,例如可以在获取类型信息时同时获取对应的信息修正指令。在获取信息修正指令后,基于其对初始配置文件进行编辑,最终得到配置文件。本实施例并不限定编辑初始配置文件的具体过程,例如可以将信息修正指令转发给探针,由探针对初始配置文件进行编辑;或者可以直接对初始配置文件进行编辑,得到配置文件。
基于上述实施例,在一种实施方式中,为了保证信息采集脚本为采集信息的脚本,防止探针被利用执行异常的操作,可以在发送脚本的同时向探针发送校验信息。具体的,向探针发送信息采集脚本,以便探针在脚本运行环境下运行信息采集脚本地过程可以包括如下步骤:
步骤41:向探针发送信息采集脚本和校验信息,以便探针基于校验信息进行安全校验,并在安全校验通过后运行信息采集脚本。
校验信息的形式不做限定,例如可以为校验token(令牌)。探针在获取到校验信息后先进行安全校验,并在安全校验通过后运行信息采集脚本。安全校验的具体过程和方式不做限定,可以根据需要进行设置。通过安全校验,可以提高探针的安全性能。
在一种具体的实施方式中,请参考图3,图3为本申请实施例提供的一种具体的安全校验过程流程图。在本实施例中,信息采集脚本可以为Lua脚本形式,因此可以利用参数构造POST Lua代码,即放置于POST请求中的Lua代码。由于POST请求需要指定探针的身份,在本实施例中,该身份由IP(Internet Protocol,互联网协议)地址表示,因此可以进行IP验证。同时,为了保证探针能够接收到与其所属设备的类型相匹配的脚本,还可以进行系统类型验证,即OS(Operating System,操作系统)验证。在IP验证和OS验证均通过后,将动态token作为校验信息,与Lua脚本共同发送给探针。探针在获取后进行动态token验证,即安全验证,若验证未通过,则确定执行失败。若验证通过,则判断Lua代码语法是否合法,若不合法,则确定执行失败。若合法则执行Lua代码,获取对应的运行信息,并在执行成功后回写状态码和结果,完成运行信息的采集。
基于上述实施例,在一种可行的实施方式中,可以为探针预设HTTP接口,通过该接口实现信息采集脚本的传输。具体的,向探针发送信息采集脚本地过程可以包括如下步骤:
步骤51:通过目标接口向探针发送信息采集脚本。
在本实施例中,目标接口可以为HTTP(HyperText Transfer Protocol,超文本传输协议)接口,或者可以为其他类型的接口。该接口可以权限控制,信息校验等功能。通过向目标接口,即可向探针发送信息采集脚本。
相应的,还包括:
步骤52:利用目标接口的接口地址读取探针采集的运行信息。
具体的,当探针数量较多时,为了方便地查看单个设备的运行信息,可以利用目标接口的接口地址直接对该探针采集到的运行信息进行读取,通过设置接口地址即可方便地对任意目标设备的运行信息进行查看。
基于上述实施例,在一种可行的实施方式中,为了减少通信次数,节省通信资源,探针的采集运行信息时可以进行归并处理,以便减少运行信息的大小。具体的,接收探针采集到的运行信息的过程可以包括如下步骤:
步骤61:从数据分发队列中提取运行信息:。
在实际应用中,可能存在多个探针,为了减少对通信资源的占用,可以设置数据分发队列,每个探针均将获取到的运行信息塞入数据分发队列中。在本实施例中,运行信息由探针对直接获取到的初始运行信息进行归并处理后得到,归并处理包括压缩处理和数据降重处理。通过归并处理,可以减少运行信息的大小。其中,数据降重处理是指将运行信息中的重复部分过滤删除,减小数据体积的处理方式,其具体处理过程不做限定。
步骤62:根据数据分发设置将运行信息发送至目标位置。
在得到运行信息后,可以根据数据分发设置,将运行信息发送至目标位置落盘。数据分发设置可以指定运行信息的具体位置,不同的运行信息可以对应于不同的目标位置,本实施例对数据分发设置的具体内容不做限定。
基于上述实施例,请参考图4,图4为本申请实施例提供的一种具体的信息采集方法流程图。具体的,在目标设备内安装探针后,可以对探针进行初始化配置,以便探针进行初始化并构建基础采集器。在初始化过程中,探针会根据系统类型(即目标设备的类型)生成默认的配置文件。例如VDI后台、Windows虚拟机、Linux虚拟机、HCI后台对应的探针之间对应的配置文件并不完全相同。配置文件主要对某些采集项是否开启(例如CPU、内存等指标是否采集,重复数据是否开启过滤)、采集粒度大小设定(即采集周期)等,除此之外,还包括对该系统类型单独采集的运行信息的类型进行设置。除此之外,探针会根据生成的配置文件,来构造基础采集器,以便在后续采集基础运行信息。
在本实施例中,基础运行信息包括基础数据和配置数据,其中基础数据为每种目标设备均需要采集的数据,如CPU、内存、磁盘、网络、进程信息等。这些数据是一个标准探针所必须的,因为采集载体(即目标设备)会有很多的静态数据,所以基础数据采集过程中会维护一个内存信息队列,静态信息只取一次,并存储在内存信息队列中以便后续直接读取,动态信息随时间和系统负载变化而更新,在每次信息采集时实时采集。
考虑到探针面临系统的多样化,即探针可能被部署与多种不同的系统中,而不同的系统都具有其独特的需要被采集的运行信息。如VDI系统或HCI后台系统,那么必然会涉及到Qume、KVM等数据的采集,以及利用perf对应的事件信息的采集。后续通过分析这些事件信息,可以排查机器的性能问题。因此在本实施例中,配置文件中可以用于指定对这些数据或信息进行采集,或者更进一步的采集设置。例如,其可以支持直接配置perf事件,即对部分perf事件信息进行采集;或者可以指定对部分虚拟机的信息进行采集,或者全部采集。
插件数据即为目标数据,通过插件化的探针以及发送给探针的信息采集脚本,可以实现运行信息动态采集的效果。在本实施例中,通过探针内部集成的一个Lua的runtime,可以通过探针的HTTP接口向探针下发Lua脚本,进而对数据进行采集。HTTP接口有权限控制,信息校验等功能,在完成校验后,只要该Lua脚本语法正确就可以内嵌在探针中执行,无需在目标设备中另外安装和配置Lua环境,实现了探针的插件化。Lua脚本执行的结果(即采集到的目标运行信息)与基础采集引擎的结果(即基础运行信息)的处理方式一致,既可以落到磁盘存储,也可以存储到远端数据库。
探针在采集数据完毕后,还可以进行数据归并。归并的目的在于减少通信次数,同时做一些数据压缩。具体的,探针在采集数据的过程中,可能存在上次采集到的数据与本次采集到的数据变化很小或者不变的情况,这部分数据就没有必要存储多份,可以直接去重。数据归并适用于批量发送和批量dump(倾倒,即下载)到本地磁盘。
在将数据归并后,探针可以将数据发送至HTTP server,由其对数据进行处理。具体的,可以判断是否需要对数据进行分发,即是否需要对数据进行存储,在确定需要分发时将其分发给下游设备,例如数据库(data base,DB)或本地磁盘。在一种实施方式中,若在一个上传周期内需要被分发的数据还没有被全部分发完成,可以适当丢弃数据,避免消耗过多的内存。若不需要分发,则可以将数据释放,即不进行落盘。还可以判断是否需要缓存热点数据,即是否需要对刚获取到的数据进行缓存,若需要,则可以将其导出至本地以便进行查验,若不需要则同样可以进行数据的释放。
下面对本申请实施例提供的信息采集装置进行介绍,下文描述的信息采集装置与上文描述的信息采集方法可相互对应参照。
请参考图5,图5为本申请实施例提供的一种信息采集装置的结构示意图,包括:
部署模块110,用于控制设备在目标设备中部署集成有脚本运行环境的探针;
运行模块120,用于向探针发送信息采集脚本,以便探针在脚本运行环境下运行信息采集脚本;
信息接收模块130,用于接收探针采集到的运行信息;其中,运行信息包括运行信息采集脚本得到的目标运行信息。
应用本申请实施例提供的信息采集装置,在目标设备部署特殊的探针,即集成有脚本运行环境的探针,通过将脚本运行环境在探针内部集成,可以使得探针在目标设备不具备脚本运行环境的前提下,其本身也能够具有运行脚本的能力。在部署了集成有脚本运行环境的探针后,可以向其发送信息采集脚本,使得探针能够在其内部集成的脚本运行环境中运行该信息采集脚本。随着信息采集脚本的运行,探针可以采集到对应的目标运行信息,而目标运行信息即为探针原本无法采集的数据项。在运行信息采集脚本后,可以获取探针采集到的运行信息,其中就包括目标运行信息。通过在探针内部集成脚本运行环境,并向探针发送信息采集脚本并使其运行的方式,发送内容不同的信息采集脚本,就可以采集到不同类型的信息,实现探针动态采集信息的效果,解决了相关技术无法实现对数据项的动态采集的问题。
可选地,部署模块110,包括:
初始化单元,用于控制设备在目标设备中安装探针,并基于目标设备的类型对探针进行初始化处理,得到对应的配置文件;
相应的,信息接收模块130,包括:
基础及目标运行信息接收单元,用于接收探针基于配置文件采集到的基础运行信息,以及运行信息采集脚本采集到的目标运行信息。
可选地,基础及目标运行信息接收单元,包括:
动态信息接收子单元,用于接收探针基于配置文件实时采集到的动态运行信息;
静态信息接收子单元,用于接收探针从内存信息队列中读取到的静态运行信息;内存信息队列用于存储探针初次运行时基于配置文件采集到的静态运行信息。
可选地,初始化单元,包括:
初始配置文件生成子单元,用于向探针发送类型信息,以便探针基于类型信息生成初始配置文件;
修正子单元,用于获取信息修正指令,基于信息修正指令编辑初始配置文件,得到配置文件。
可选地,运行模块120,包括:
校验及运行单元,用于向探针发送信息采集脚本和校验信息,以便探针基于校验信息进行安全校验,并在安全校验通过后运行信息采集脚本。
可选地,信息接收模块130,包括:
提取单元,用于从数据分发队列中提取运行信息;运行信息由探针对直接获取到的初始运行信息进行归并处理后得到,归并处理包括压缩处理和数据降重处理;
分发单元,用于根据数据分发设置将运行信息发送至目标位置。
可选地,运行模块120,包括:
脚本发送单元,用于通过目标接口向探针发送信息采集脚本;
相应的,还包括:
信息读取模块,用于利用目标接口的接口地址读取探针采集的运行信息。
下面对本申请实施例提供的电子设备进行介绍,下文描述的电子设备与上文描述的信息采集方法可相互对应参照。
请参考图6,图6为本申请实施例提供的一种信息采集方法所适用的一种硬件组成框架示意图。其中电子设备100即为控制设备,其可以包括处理器101和存储器102,还可以进一步包括多媒体组件103、信息输入/信息输出(I/O)接口104以及通信组件105中的一种或多种。
其中,处理器101用于控制电子设备100的整体操作,以完成上述的信息采集方法中的全部或部分步骤;存储器102用于存储各种类型的数据以支持在电子设备100的操作,这些数据例如可以包括用于在该电子设备100上操作的任何应用程序或方法的指令,以及应用程序相关的数据。该存储器102可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,SRAM)、电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、只读存储器(Read-OnlyMemory,ROM)、磁存储器、快闪存储器、磁盘或光盘中的一种或多种。在本实施例中,存储器102中至少存储有用于实现以下功能的程序和/或数据:
控制设备在目标设备中部署集成有脚本运行环境的探针;
向探针发送信息采集脚本,以便探针在脚本运行环境下运行信息采集脚本;
接收探针采集到的运行信息;其中,运行信息包括运行信息采集脚本得到的目标运行信息。
多媒体组件103可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器102或通过通信组件105发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口104为处理器101和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件105用于电子设备100与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near Field Communication,简称NFC),2G、3G、4G或5G等,或它们中的一种或几种的组合,因此相应的该通信组件105可以包括:Wi-Fi部件,蓝牙部件,NFC部件。
电子设备100可以被一个或多个应用专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、数字信号处理器(Digital Signal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field ProgrammableGate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述实施例给出的信息采集方法。
当然,图6所示的电子设备100的结构并不构成对本申请实施例中电子设备的限定,在实际应用中电子设备100可以包括比图6所示的更多或更少的部件,或者组合某些部件。
下面对本申请实施例提供的计算机可读存储介质进行介绍,下文描述的计算机可读存储介质与上文描述的信息采集方法可相互对应参照。
本申请还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述的信息采集方法的步骤。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本领域技术人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应该认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系属于仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语包括、包含或者其他任何变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种信息采集方法,其特征在于,包括:
控制设备在目标设备中部署集成有脚本运行环境的探针;
向所述探针发送信息采集脚本,以便所述探针在所述脚本运行环境下运行所述信息采集脚本;
接收所述探针采集到的运行信息;其中,所述运行信息包括运行所述信息采集脚本得到的目标运行信息。
2.根据权利要求1所述的信息采集方法,其特征在于,所述控制设备在目标设备中部署集成有脚本运行环境的探针,包括:
所述控制设备在所述目标设备中安装所述探针,并基于所述目标设备的类型对所述探针进行初始化处理,得到对应的配置文件;
相应的,所述接收所述探针采集到的运行信息,包括:
接收所述探针基于所述配置文件采集到的基础运行信息,以及运行所述信息采集脚本采集到的所述目标运行信息。
3.根据权利要求2所述的信息采集方法,其特征在于,所述接收所述探针基于所述配置文件采集到的基础运行信息,包括:
接收所述探针基于所述配置文件实时采集到的动态运行信息;
接收所述探针从内存信息队列中读取到的静态运行信息;所述内存信息队列用于存储所述探针初次运行时基于所述配置文件采集到的所述静态运行信息。
4.根据权利要求2所述的信息采集方法,其特征在于,所述基于所述目标设备的类型对所述探针进行初始化处理,得到对应的配置文件,包括:
向所述探针发送类型信息,以便所述探针基于所述类型信息生成初始配置文件;
获取信息修正指令,基于所述信息修正指令编辑所述初始配置文件,得到所述配置文件。
5.根据权利要求1所述的信息采集方法,其特征在于,所述向所述探针发送信息采集脚本,以便所述探针在所述脚本运行环境下运行所述信息采集脚本,包括:
向所述探针发送所述信息采集脚本和校验信息,以便所述探针基于所述校验信息进行安全校验,并在安全校验通过后运行所述信息采集脚本。
6.根据权利要求1所述的信息采集方法,其特征在于,所述接收所述探针采集到的运行信息,包括:
从数据分发队列中提取所述运行信息;所述运行信息由所述探针对直接获取到的初始运行信息进行归并处理后得到,所述归并处理包括压缩处理和数据降重处理;
根据数据分发设置将所述运行信息发送至目标位置。
7.根据权利要求1至6任一项所述的信息采集方法,其特征在于,所述向所述探针发送信息采集脚本,包括:
通过目标接口向所述探针发送所述信息采集脚本;
相应的,还包括:
利用所述目标接口的接口地址读取所述探针采集的所述运行信息。
8.一种信息采集装置,其特征在于,包括:
部署模块,用于控制设备在目标设备中部署集成有脚本运行环境的探针;
运行模块,用于向所述探针发送信息采集脚本,以便所述探针在所述脚本运行环境下运行所述信息采集脚本;
信息接收模块,用于接收所述探针采集到的运行信息;其中,所述运行信息包括运行所述信息采集脚本得到的目标运行信息。
9.一种电子设备,其特征在于,包括存储器和处理器,其中:
所述存储器,用于保存计算机程序;
所述处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的信息采集方法。
10.一种计算机可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的信息采集方法。
CN202110437217.9A 2021-04-22 2021-04-22 一种信息采集方法、装置、电子设备及可读存储介质 Pending CN113032224A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110437217.9A CN113032224A (zh) 2021-04-22 2021-04-22 一种信息采集方法、装置、电子设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110437217.9A CN113032224A (zh) 2021-04-22 2021-04-22 一种信息采集方法、装置、电子设备及可读存储介质

Publications (1)

Publication Number Publication Date
CN113032224A true CN113032224A (zh) 2021-06-25

Family

ID=76457429

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110437217.9A Pending CN113032224A (zh) 2021-04-22 2021-04-22 一种信息采集方法、装置、电子设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN113032224A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113721971A (zh) * 2021-08-26 2021-11-30 深圳Tcl新技术有限公司 信息展示方法、装置、电子设备及计算机可读存储介质
CN114500272A (zh) * 2022-02-17 2022-05-13 中国工商银行股份有限公司 一种配置信息采集处理方法及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030204644A1 (en) * 2002-04-29 2003-10-30 International Business Machines Corporation System and method for developing, deploying, and debugging software agents
CN104735139A (zh) * 2015-03-11 2015-06-24 小米科技有限责任公司 终端信息统计方法、装置、终端及服务器
CN105786692A (zh) * 2014-12-24 2016-07-20 远光软件股份有限公司 一种软件运行期性能分析方法
US20170103211A1 (en) * 2014-06-19 2017-04-13 Hewlett Packard Enterprise Development Lp Install runtime agent for security test
CN107943665A (zh) * 2017-12-14 2018-04-20 中盈优创资讯科技有限公司 一种系统主机监控方法及装置
CN109189418A (zh) * 2018-11-08 2019-01-11 郑州云海信息技术有限公司 一种Linux操作系统软件生成、安装方法及系统
CN109918314A (zh) * 2019-04-08 2019-06-21 网易(杭州)网络有限公司 移动终端上的测试方法及装置、电子设备、存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030204644A1 (en) * 2002-04-29 2003-10-30 International Business Machines Corporation System and method for developing, deploying, and debugging software agents
US20170103211A1 (en) * 2014-06-19 2017-04-13 Hewlett Packard Enterprise Development Lp Install runtime agent for security test
CN105786692A (zh) * 2014-12-24 2016-07-20 远光软件股份有限公司 一种软件运行期性能分析方法
CN104735139A (zh) * 2015-03-11 2015-06-24 小米科技有限责任公司 终端信息统计方法、装置、终端及服务器
CN107943665A (zh) * 2017-12-14 2018-04-20 中盈优创资讯科技有限公司 一种系统主机监控方法及装置
CN109189418A (zh) * 2018-11-08 2019-01-11 郑州云海信息技术有限公司 一种Linux操作系统软件生成、安装方法及系统
CN109918314A (zh) * 2019-04-08 2019-06-21 网易(杭州)网络有限公司 移动终端上的测试方法及装置、电子设备、存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
董涵: "日志监控实践 - 监控 Agent 集成 Lua 引擎实现多维度日志采集", 《微信公众平台》 *
董涵: "日志监控实践 - 监控 Agent 集成 Lua 引擎实现多维度日志采集", 《微信公众平台》, 28 December 2018 (2018-12-28), pages 1 - 6 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113721971A (zh) * 2021-08-26 2021-11-30 深圳Tcl新技术有限公司 信息展示方法、装置、电子设备及计算机可读存储介质
CN114500272A (zh) * 2022-02-17 2022-05-13 中国工商银行股份有限公司 一种配置信息采集处理方法及装置
CN114500272B (zh) * 2022-02-17 2024-01-05 中国工商银行股份有限公司 一种配置信息采集处理方法及装置

Similar Documents

Publication Publication Date Title
CN109002297B (zh) 共识机制的部署方法、装置、设备和存储介质
US20120284696A1 (en) Method, Apparatuses and a System for Compilation
WO2017050146A1 (zh) 终端应用app的加载方法及装置
US20130198849A1 (en) Method And Apparatus Providing Privacy Benchmarking For Mobile Application Development
US10191751B2 (en) Information processing device for generating application programming interface information
US10404568B2 (en) Agent manager for distributed transaction monitoring system
CN113032224A (zh) 一种信息采集方法、装置、电子设备及可读存储介质
CN110119350A (zh) 软件开发工具包测试方法、装置和设备及计算机存储介质
JP2016529602A (ja) ファームウェア仮想化のための方法および装置
CN111651232A (zh) 一机多控方法、装置、系统及电子设备
CN112162795A (zh) 一种插件启动方法、装置、计算机设备和存储介质
CN112729868A (zh) 一种车辆诊断方法、装置、设备及介质
US9571557B2 (en) Script caching method and information processing device utilizing the same
US9971611B2 (en) Monitoring a mobile device application
CN112154417B (zh) 经由仿真网络通信信道在应用的单机版本和基于Web的版本之间共享代码库
CN105786636A (zh) 一种系统修复方法及装置
CN111722994A (zh) 一种任务请求的响应方法及设备
TW201407503A (zh) 雲端平台工作排程方法及系統
CN105339974B (zh) 模拟传感器
US20240045733A1 (en) Method and apparatus for deploying deep learning system
CN115828262A (zh) 开源组件漏洞扫描方法、装置、设备及存储介质
CN111679842A (zh) 应用程序热更新处理方法、装置及系统
CN111190637B (zh) 一种版本文件发布的管理方法、装置以及系统
CN116028099A (zh) 一种安装包生成的方法及相关装置、设备和存储介质
CN111880996A (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: 20210625

RJ01 Rejection of invention patent application after publication