日志采集方法、装置、电子设备、介质及产品与流程

文档序号:32892972发布日期:2023-01-12 23:38阅读:32来源:国知局
日志采集方法、装置、电子设备、介质及产品与流程

1.本发明实施例涉及信息处理技术领域,尤其涉及一种日志采集方法、装置、电子设备、介质及产品。


背景技术:

2.随着移动互联网的发展,各大互联网厂商对服务器的需要不断增大,日志收集作为服务器异常定位的重要手段被广泛采用,传统的日志收集方法中,一般是先把日志文件统一收集到bmc内存,然后由bmc对日志进行压缩,得到文件包,再通过tcp传输协议将压缩后的文件包从bmc传输到日志采集设备,进而实现日志的收集。然而在这种方法中,在收集日志过程中会存在bmc内存及cpu大量占用,从而导致bmc运行卡顿,甚至会导致正常访问业务受到影响,在这种传统的日志收集方法中,收集一次日志所需时间超过5分钟,效率低下,进一步会导致整个服务器异常定位的效率低下。
3.由此可见,目前亟需一种新的日志采集方法。


技术实现要素:

4.本发明实施例提供一种日志采集方法、装置、电子设备、介质及产品,以至少解决相关技术中的部分问题。
5.本发明实施例第一方面提供了一种日志采集方法,应用于bmc,所述方法包括:
6.接收日志采集设备发送的日志请求命令;
7.向所述日志采集设备发送所述日志请求命令所请求的各个日志文件各自的存储路径;
8.依次接收所述日志采集设备发送的针对所述各个日志文件的日志采集命令,针对一个日志文件的采集命令携带该日志文件的存储路径;
9.通过udp协议向所述日志采集设备依次发送所述各个日志文件。
10.可选地,在接收日志采集设备发送的日志请求命令之后,所述方法还包括:
11.从文件集合中,筛选所述日志请求命令所请求的各个日志文件;
12.确定所述各个日志文件的存储路径。
13.可选地,还包括:
14.在通过udp协议向所述日志采集设备依次发送所述各个日志文件的过程中,接收终端设备发送的业务请求;
15.向所述终端设备发送与所述业务请求对应的业务响应。
16.可选地,通过udp协议向所述日志采集设备依次发送所述各个日志文件,包括:
17.将所述各个日志文件的原始日志数据封装为udp数据包;
18.通过udp协议向所述日志采集设备依次发送所述各个日志文件对应的udp数据包。
19.可选地,各个日志文件各自的存储路径均为除所述bmc的内存外的存储空间下的路径。
20.本发明实施例第二方面提供了一种日志采集方法,应用于日志采集设备,所述方法包括:
21.向bmc发送日志请求命令;
22.接收所述bmc发送的所述日志请求命令所请求的各个日志文件各自的存储路径;
23.依次向所述bmc发送针对所述各个日志文件的日志采集命令,针对一个日志文件的采集命令携带该日志文件的存储路径;
24.通过udp协议依次接收所述bmc发送的所述各个日志文件。
25.可选地,通过udp协议依次接收所述bmc发送的所述各个日志文件,包括:
26.通过udp协议接收所述bmc依次发送的所述各个日志文件对应的udp数据包,所述udp数据包为所述bmc对所述各个日志文件的原始日志数据封装得到的。
27.可选地,各个日志文件各自的存储路径均为除所述bmc的内存外的存储空间下的路径。
28.本发明实施例第三方面提供了一种日志采集装置,应用于bmc,所述装置包括:
29.第一接收模块,用于接收日志采集设备发送的日志请求命令;
30.第一发送模块,用于向所述日志采集设备发送所述日志请求命令所请求的各个日志文件各自的存储路径;
31.第二接收模块,用于依次接收所述日志采集设备发送的针对所述各个日志文件的日志采集命令,针对一个日志文件的采集命令携带该日志文件的存储路径;
32.第二发送模块,用于通过udp协议向所述日志采集设备依次发送所述各个日志文件。
33.可选地,所述装置还包括:
34.筛选模块,用于从文件集合中,筛选所述日志请求命令所请求的各个日志文件;
35.确定模块,用于确定所述各个日志文件的存储路径。
36.可选地,所述装置还包括:
37.第三接收模块,用于在通过udp协议向所述日志采集设备依次发送所述各个日志文件的过程中,接收终端设备发送的业务请求;
38.响应模块,用于向所述终端设备发送与所述业务请求对应的业务响应。
39.可选地,所述第二发送模块,具体用于:
40.将所述各个日志文件的原始日志数据封装为udp数据包;
41.通过udp协议向所述日志采集设备依次发送所述各个日志文件对应的udp数据包。
42.可选地,各个日志文件各自的存储路径均为除所述bmc的内存外的存储空间下的路径。
43.本发明实施例第四方面提供一种日志采集装置,应用于日志采集设备,所述装置包括:
44.第一发送模块,用于向bmc发送日志请求命令;
45.第一接收模块,用于接收所述bmc发送的所述日志请求命令所请求的各个日志文件各自的存储路径;
46.第二发送模块,用于依次向所述bmc发送针对所述各个日志文件的日志采集命令,针对一个日志文件的采集命令携带该日志文件的存储路径;
47.第二接收模块,用于通过udp协议依次接收所述bmc发送的所述各个日志文件。
48.可选地,所述第二接收模块,具体用于:
49.通过udp协议接收所述bmc依次发送的所述各个日志文件对应的udp数据包,所述udp数据包为所述bmc对所述各个日志文件的原始日志数据封装得到的。
50.可选地,各个日志文件各自的存储路径均为除所述bmc的内存外的存储空间下的路径。
51.本发明实施例第五方面提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本发明第一方面或者第二方面所述的日志采集方法的步骤。
52.本发明实施例第六方面提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明第一方面或者第二方面所述的日志采集方法的步骤。
53.本发明实施例第七方面提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现如本发明第一方面或者第二方面所述的日志采集方法的步骤。
54.采用本发明实施例提供的日志采集方法,bmc根据日志采集设备发送的日志请求命令,确定与该日志请求命令相对应的各个日志文件各自的存储路径,将这些日志文件各自的存储路径发送给日志采集设备,而日志采集设备按照各个日志文件各自的存储路径再次发起日志采集命令,从而基于udp协议从bmc处获取到各个日志文件。
55.本发明实施例中,bmc无需将各个日志文件收集到bmc内存,对bmc的内存不会产生大量的占用,并且本发明实施例中,日志采集设备按照各个日志文件的存储路径依次获取到各个日志文件,无需bmc对日志文件进行压缩,降低bmc的cpu占用,并且,本发明实施例中,bmc基于udp协议对日志文件进行逐个传输,可以提高日志传输效率,达到快速收集日志的目的,收集日志时间可降低到两分钟以内,且收集日志过程中bmc正常访问不受影响。
附图说明
56.为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
57.图1是本发明实施例的一种日志采集方法的流程图;
58.图2是本发明实施例的另一种日志采集方法的流程图;
59.图3是本发明实施例的另一种日志采集方法的流程图;
60.图4是本发明实施例的另一种日志采集方法的流程图;
61.图5是本发明实施例的一种日志采集装置的结构框图;
62.图6是本发明实施例的另一种日志采集装置的结构框图。
具体实施方式
63.为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
64.参照图1,示出了本发明实施例的一种日志采集方法的流程图,本发明实施例的一种日志采集方法,应用于bmc(基板管理控制器)。具体的,本发明实施例所提供的日志采集方法可以包括以下步骤:
65.s101,接收日志采集设备发送的日志请求命令。
66.对日志的分析通常作为服务器线上测试的一个重要手段。其中,bmc的日志功能是非常重要的一个环节。bmc通常是一个安装在服务器主板上的独立的板卡,通过传感器来监控一台服务器的各项工作指标进行监控,是一个专门的服务处理机,bmc的传感器可以测量内部物理变量例如:温度,湿度,电源电压,风扇速度,通信参数和操作系统函数,进而能够生成相应的监控日志,以供运维人员使用。
67.本发明实施例中提供的日志采集流程支持c/s架构,其中,日志采集设备可以以客户端的形式向bmc发送日志请求命令,相应的,bmc可以以服务端的形式接收该日志请求命令。具体的,client可以是web浏览器,主要用于用户登录和一键触发日志收集、导出请求等。server是部署了web服务器的bmc管理系统,主要用于接收并解析client端发送的请求,并返回响应等。
68.本发明实施例中,日志采集设备可以是一个用于日志采集与管理的服务器,也可以是安装有日志采集客户端的客户pc。
69.本发明实施例中,日志采集设备可以基于udp协议向bmc发送日志请求命令。
70.本发明实施例中,bmc接收到日志采集设备发送的日志请求命令之后,可以对其进行解析,确定与该日志请求命令相对应的多个日志文件。
71.本发明实施例中,日志请求命令可以是一种固定指令,与该日志请求命令相对应的日志文件的对应关系,由开发人员在开发过程中提前写入bmc中。
72.本发明实施例中,在日志采集设备为安装有日志采集客户端的客户pc的情况下,用户也可以通过日志采集客户端选择所需的日志文件,并生成对应的日志采集命令,从而bmc可以根据该日志采集命令确定对应的日志采集客户端所需的日志文件。
73.本发明实施例中,日志文件可以包括:服务器的cpu信息、内存信息、运行状态、当前进程、pcie设备信息、磁盘信息、温度和电压传感器信息等内容。
74.s102,向所述日志采集设备发送所述日志请求命令所请求的各个日志文件各自的存储路径。
75.本发明实施例中,各个日志文件一般记录在固定目录下(例如:/usr/local/log/目录),因此根据各个日志文件的存储目录即可确定其存储路径。
76.本发明实施例中,bmc可以查询所有的固定目录,从而可以确定各个日志文件各自的存储路径。
77.本发明实施例中,bmc在确定各个日志文件各自的存储路径之后,可以将存储路径逐个发送给日志采集设备,也可以将所有日志文件各自的存储路径作为一个完整的传输任务传输给日志采集设备。
78.本发明实施例中,bmc可以基于udp协议向日志采集设备发送各个日志文件各自的存储路径。
79.s103,依次接收所述日志采集设备发送的针对所述各个日志文件的日志采集命令,针对一个日志文件的采集命令携带该日志文件的存储路径。
80.本发明实施例中,日志采集设备从bmc逐个接收到各个日志文件各自的存储路径之后,可以参照接收顺序,依次向bmc发送针对各个日志文件的日志采集命令。其中,针对一个日志文件的采集命令携带该日志文件的存储路径,从而bmc可以基于该存储路径将对应的日志文件发送给日志采集设备。
81.本发明实施例中,日志采集设备可以基于udp协议向bmc送针对各个日志文件的日志采集命令。
82.s104,通过udp协议向所述日志采集设备依次发送所述各个日志文件。
83.本发明实施例中,bmc可以按照接收到日志采集命令的顺序,以及各个日日志采集命令携带的日志文件存储路径,通过udp协议向日志采集设备依次发送各个日志文件。
84.以下,将以一个具体的示例,对本发明实施例所提供的日志采集方法进行说明,该示例仅用于对本发明所提供的技术方案进行解释说明,不对本发明实施例所提供的日志采集方法进行限定。
85.示例地,客户pc作为日志采集设备向bmc发送日志请求命令,bmc确定与该日志请求命令相对应的、客户pc需要收集的各个日志文件。其中,各个文件可能存储在不同的目录下,而bmc记录有所有文件的存储目录,由此bmc进一步根据各个日志文件的存储目录确定其存储路径,并将各个日志文件的完整存储路径发送给客户pc。客户pc根据各个日志文件的存储路径的接收顺序,依次逐个向bmc发送日志采集命令,从而bmc通过日志采集接口根据逐个向客户pc发送各个日志的原文件。
86.其中,在整个交互过程中,客户pc和bmc之间均可以采用udp传输协议进行数据的传输。
87.udp(用户数据报协议)是一个简单的面向数据报的传输层协议。提供的是非面向连接的、不可靠的数据流传输。udp不提供可靠性,也不提供报文到达确认、排序以及流量控制等功能。它只是把应用程序传给ip层的数据报发送出去,但是并不能保证它们能到达目的地。因此报文可能会丢失、重复以及乱序等。但由于udp在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快。
88.tcp(传输控制协议)定义了两台计算机之间进行可靠的传输而交换的数据和确认信息的格式,以及计算机为了确保数据的正确到达而采取的措施。协议规定了tcp软件怎样识别给定计算机上的多个目的进程如何对分组重复这类差错进行恢复。协议还规定了两台计算机如何初始化一个tcp数据流传输以及如何结束这一传输。tcp最大的特点就是提供的是面向连接、可靠的字节流服务。
89.因此,本发明实施例中,基于udp协议对各个日志文件进行传输,既可以提高传输速度,以提高整体日志收集流程的速度,并且,本发明实施例中,基于各个日志文件各自的存储路径对各个日志逐个进行传输,也可以避免基于udp协议进行日志文件的传输造成日志文件的的大量丢失。
90.其中,客户pc可以是以浏览器端的形式向bmc发送日志请求命令,因此,在客户pc发送日志请求命令之前,浏览器端还需要向bmc发送登录请求,bmc接收浏览器端发送的登录请求;登录请求包括用户名和密码;对用户名和密码进行认证;若认证通过,则返回登录成功的提示消息,以使用户在浏览器端触发请求。若认证未通过,则返回登录失败的提示信息至浏览器端。其中,对用户名和密码进行认证,包括:判断用户名和密码与用户注册的用
户名和密码是否一致;若是,则认证通过;否则,认证未通过。
91.具体的,客户pc可以在接收到某个日志文件的存储路径之后,即可向bmc发送对应的日志采集命令,同时,客户pc还可以继续接收其他日志文件的存储路径。相对应地,bmc可以在向客户pc发送日志文件a的存储路径的同时,接收客户pc发送的针对日志文件b的日志采集命令,同时还可以向客户pc发送日志文件c的原文件,从而提高日志采集流程的整体效率。
92.参照图2,示出了本发明实施例的另一种日志采集方法的流程图,本发明实施例的另一种日志采集方法,应用于bmc。具体的,本发明实施例所提供的日志采集方法可以包括以下步骤:
93.s201,接收日志采集设备发送的日志请求命令。
94.s202,从文件集合中,筛选所述日志请求命令所请求的各个日志文件。
95.s203,确定所述各个日志文件的存储路径。
96.本发明实施例中,bmc的文件集合中记录了所有的文件,以及所有文件的存储目录。从而bmc在接收到日志请求命令之后,可以从文件集合中,筛选出与该日志请求命令相对应的、日志采集设备需要采集的各个日志文件,并且确定出各个日志文件的存储路径。
97.本发明实施例中,日志采集设备发送的日志请求命令可以携带有url(uniform resource locator,统一资源定位符)的形式,一个url对应的功能可以预先设置,因此,可以基于请求的url确定与该请求对应的、日志采集设备需要采集的各个日志文件。
98.s204,向所述日志采集设备发送所述日志请求命令所请求的各个日志文件各自的存储路径。
99.s205,依次接收所述日志采集设备发送的针对所述各个日志文件的日志采集命令,针对一个日志文件的采集命令携带该日志文件的存储路径。
100.s206,通过udp协议向所述日志采集设备依次发送所述各个日志文件。
101.具体地,本发明实施例中,所述步骤s206包括:
102.s2061,将所述各个日志文件的原始日志数据封装为udp数据包。
103.s2062,通过udp协议向所述日志采集设备依次发送所述各个日志文件对应的udp数据包。
104.本发明实施例中,bmc可以将各个日志文件的原始日志数据封装为udp数据包,从可以基于udp协议将各个udp协议数据包发送到日志采集设备,使得日志采集设备获取到各个日志的原始日志数据。通过日志采集设备与bmc间采用udp传输协议直接传送日志文件的方式,达到快速收集日志的目的。
105.在一种可选地实施方式中,所述方法还包括:
106.s1,在通过udp协议向所述日志采集设备依次发送所述各个日志文件的过程中,接收终端设备发送的业务请求。
107.s2,向所述终端设备发送与所述业务请求对应的业务响应。
108.本发明实施例中,bmc在执行日志采集流程的同时还可以接收其他终端设备发送的业务请求,并返回对应的业务响应。
109.本发明实施例中,bmc执行日志采集流程的过程中,无需将日志采集设备所需的日志文件收集到内存,进行压缩,而是通过udp传输协议以及各个日志文件的存储路径,逐个
将日志文件的原文件发送到日志采集设备,因此,该日志采集流程对bmc的内存和cpu没有大量的占用,日志收集过程,不对bmc的正常业务流程产生影响,bmc可以在执行日志采集流程的同时执行其他正常业务流程。
110.在一种可选地的实施方式中,各个日志文件各自的存储路径均为除所述bmc的内存外的存储空间下的路径。
111.本发明实施例中,各个日志文件各自的存储路径均为除所述bmc的内存外的存储空间下的路径,并且,bmc可以基于日志采集设备发送的针对各个日志文件的日志采集命令中携带的存储路径,直接将各个日志文件的原文件逐个发送到日志采集设备,无需将所有的日志文件收集到bmc的内存,因此,本发明实施例所提供的日志采集方法,在日志采集的过程中,对bmc的内存没有大量的占用,bmc可以作为管理控制器,根据各个文件的存储路径直接将各个日志文件的原文件转发给日志采集设备。
112.参照图3,示出了本发明实施例的另一种日志采集方法的流程图,本发明实施例的另一种日志采集方法,应用于日志采集设备。具体的,本发明实施例所提供的日志采集方法可以包括以下步骤:
113.s301,向bmc发送日志请求命令。
114.本发明实施例中,日志采集设备可以通过类似于“一键采集日志”的指令,向bmc发送日志请求命令。
115.本发明实施例中,日志采集设备可以为一个机房内的用于日志采集与管理的服务器,在这种情况下,其日志请求命令可以设置为收集该机房内所有的服务器相关的日志文件。
116.s302,接收所述bmc发送的所述日志请求命令所请求的各个日志文件各自的存储路径。
117.本发明实施例中,日志采集设备基于udp协议接收bmc发送的所述日志请求命令所请求的各个日志文件各自的存储路径。
118.s303,依次向所述bmc发送针对所述各个日志文件的日志采集命令,针对一个日志文件的采集命令携带该日志文件的存储路径。
119.本发明实施例中,日志采集设备在接收到各个日志各自的存储路径之后,可以按照接收顺序,依次向bmc发送针对各个日志文件的日志采集命令。其中,每个日志采集命令对应一个日志文件,并且携带对应日志文件的存储路径,以便bmc根据该存储路径,对该日志文件原文件进行转发。
120.s304,通过udp协议依次接收所述bmc发送的所述各个日志文件。
121.本发明实施例中,日志采集设备通过udp协议依次接收所述bmc发送的所述各个日志文件的原文件,从而直接获取的日志文件的原文件,无需进行解压缩。
122.本发明实施例中,日志采集设备还可以根据各个日志的存储路径,确定其原始存储目录,从而在日志采集设备本地按照各个日志的原始存储目录对各个日志进行存储,使得日志采集设备的存储目录与各个日志的原始存储目录一致,便于后续的日志文件分析。
123.在一种可选地实施方式中,所述步骤s304具体包括:通过udp协议接收所述bmc依次发送的所述各个日志文件对应的udp数据包,所述udp数据包为所述bmc对所述各个日志文件的原始日志数据封装得到的。
124.本发明实施例中,日志采集设备通过udp协议从bmc依次获取到各个日志文件对应的udp协议,从而直接获取到各个日志文件的原始日志数据,通过日志采集设备与bmc间采用udp传输协议直接传送日志文件的方式,达到快速收集日志的目的。
125.以下,将以一个实际应用中的日志采集方法的示例,对本发明实施例所提供的日志采集方法进行说明,该示例仅用于对本发明所提供的技术方案进行解释说明,不对本发明实施例所提供的日志采集方法进行限定。
126.示例地,用户通过客户pc上安装的日志采集客户端向bmc发起登录请求,在登录成功后,用户可以在基于该日志采集客户端选择所需采集的日志文件,并生成日志请求命令基于udp协议发送到bmc。后续,客户pc可以基于udp协议接收bmc下发的所选择的各个日志文件的存储路径,再基于各个日志文件的存储路径生成日志采集指令,基于udp协议发送到bmc,最后基于udp协议接收到bmc下发的各个日志文件对应的udp数据包,从而客户pc可以获取到所需采集的日志文件的原始日志数据。进一步地,客户pc还可以通过日志采集客户端生成存储命令,将获取到的日志文件的原始日志数据按照其原始存储目录进行存储到客户pc的内存。例如:日志文件a的存储目录为:/usr/local/log/目录,则在客户pc的内存中,仍然可以按照该存储目录,对获取到的日志文件a的原始日志数据进行存储。
127.为了便于理解,以下具体说明本发明实施例提供的日志采集方法中,bmc和日志采集设备之间的数据交互流程,如图4所示,具体的,本发明实施例所提供的日志采集方法可以包括以下步骤:
128.s401,日志采集设备向bmc发送日志请求命令。
129.本发明实施例中,日志采集设备可以通过类似于“一键采集日志”的指令,向bmc发送日志请求命令。
130.本发明实施例中,日志采集设备可以为一个机房内的用于日志采集与管理的服务器,在这种情况下,其日志请求命令可以设置为收集该机房内所有的服务器相关的日志文件。
131.本发明实施例中,日志请求命令可以是一种固定指令,与该日志请求命令相对应的日志文件的对应关系,由开发人员在开发过程中提前写入bmc中。
132.本发明实施例中,在日志采集设备为安装有日志采集客户端的客户pc的情况下,用户也可以通过日志采集客户端选择所需的日志文件,并生成对应的日志采集命令,从而bmc可以根据该日志采集命令确定对应的日志采集客户端所需的日志文件。
133.s402,bmc接收日志采集设备发送的日志请求命令。
134.本发明实施例中,bmc在接收日志采集设备发送的日志请求命令之后,所述方法还包括以下步骤:
135.s11,bmc从文件集合中,筛选所述日志请求命令所请求的各个日志文件。
136.s12,bmc确定所述各个日志文件的存储路径。
137.本发明实施例中,bmc的文件集合中记录了所有的文件,以及所有文件的存储目录。从而bmc在接收到日志请求命令之后,可以从文件集合中,筛选出与该日志请求命令相对应的、日志采集设备需要采集的各个日志文件,并且确定出各个日志文件的存储路径。
138.本发明实施例中,日志采集设备发送的日志请求命令可以携带有url(uniform resource locator,统一资源定位符)的形式,一个url对应的功能可以预先设置,因此,可
以基于请求的url确定与该请求对应的、日志采集设备需要采集的各个日志文件。
139.s403,bmc向所述日志采集设备发送所述日志请求命令所请求的各个日志文件各自的存储路径。
140.s404,日志采集设备接收所述bmc发送的所述日志请求命令所请求的各个日志文件各自的存储路径。
141.s405,bmc依次接收所述日志采集设备发送的针对所述各个日志文件的日志采集命令,针对一个日志文件的采集命令携带该日志文件的存储路径。
142.s406,日志采集设备依次向所述bmc发送针对所述各个日志文件的日志采集命令,针对一个日志文件的采集命令携带该日志文件的存储路径。
143.本发明实施例中,日志采集设备在接收到各个日志各自的存储路径之后,可以按照接收顺序,依次向bmc发送针对各个日志文件的日志采集命令。其中,每个日志采集命令对应一个日志文件,并且携带对应日志文件的存储路径,以便bmc根据该存储路径,对该日志文件原文件进行转发。
144.s407,bmc通过udp协议向所述日志采集设备依次发送所述各个日志文件。
145.本发明实施例中,bmc可以按照接收到日志采集命令的顺序,以及各个日日志采集命令携带的日志文件存储路径,通过udp协议向日志采集设备依次发送各个日志文件。
146.本发明实施例中,bmc可以将各个日志文件的原始日志数据封装为udp数据包,从可以基于udp协议将各个udp协议数据包发送到日志采集设备,使得日志采集设备获取到各个日志的原始日志数据。通过日志采集设备与bmc间采用udp传输协议直接传送日志文件的方式,达到快速收集日志的目的。
147.s408,日志采集设备通过udp协议依次接收所述bmc发送的所述各个日志文件。
148.本发明实施例中,日志采集设备通过udp协议依次接收所述bmc发送的所述各个日志文件的原文件,从而直接获取的日志文件的原文件,无需进行解压缩。
149.本发明实施例中,日志采集设备还可以根据各个日志的存储路径,确定其原始存储目录,从而在日志采集设备本地按照各个日志的原始存储目录对各个日志进行存储,使得日志采集设备的存储目录与各个日志的原始存储目录一致,便于后续的日志文件分析。
150.本发明实施例中,日志采集设备通过udp协议从bmc依次获取到各个日志文件对应的udp协议,从而直接获取到各个日志文件的原始日志数据,通过日志采集设备与bmc间采用udp传输协议直接传送日志文件的方式,达到快速收集日志的目的。
151.采用本发明实施例提供的日志采集方法,bmc根据日志采集设备发送的日志请求命令,确定与该日志请求命令相对应的各个日志文件各自的存储路径,将这些日志文件各自的存储路径发送给日志采集设备,而日志采集设备按照各个日志文件各自的存储路径再次发起日志采集命令,从而基于udp协议从bmc处获取到各个日志文件。
152.本发明实施例中,bmc无需将各个日志文件收集到bmc内存,对bmc的内存不会产生大量的占用,并且本发明实施例中,日志采集设备按照各个日志文件的存储路径依次获取到各个日志文件,无需bmc对日志文件进行压缩,降低bmc的cpu占用,并且,本发明实施例中,bmc基于udp协议对日志文件进行逐个传输,可以提高日志传输效率,达到快速收集日志的目的,收集日志时间可降低到两分钟以内,且收集日志过程中bmc正常访问不受影响。
153.以下,将以一个具体的bmc和日志采集设备之间的交互过程的示例,对本发明实施
例所提供的日志采集方法进行说明,该示例仅用于对本发明所提供的技术方案进行解释说明,不对本发明实施例所提供的日志采集方法进行限定。
154.示例地,用户可以通过客户pc上安装的日志采集客户端向bmc发起登录请求,在登录成功后,用户可以在基于该日志采集客户端选择所需采集的日志文件:日志文件a、日志文件b、日志文件c,并生成日志请求命令基于udp协议发送到bmc。
155.bmc基于udp协议接收到客户pc发送的日志请求命令之后,可以确定与该日志请求命令相对应的、日志采集设备所需的日志文件为:日志文件a、日志文件b、日志文件c。
156.由于各个日志文件可能存储在不同的目录下,而bmc记录有所有文件的存储目录,由此bmc进一步根据各个日志文件的存储目录确定其存储路径,并将日志文件a、日志文件b、日志文件c各自的完整存储路径发送给客户pc。
157.从而,客户pc可以基于udp协议接收bmc下发的所选择的各个日志文件的存储路径,再基于各个日志文件的存储路径生成日志采集指令,基于udp协议发送到bmc。
158.bmc在接收到一个日志采集指令,即可以根据该日志采集指令对应的日志文件的存储路径,将该日志文件通过基于udp协议发送给客户pc。从而可以将日志文件a、日志文件b、日志文件c的原始文件数据分别封装成udp协议发送到客户pc,以使客户pc获取到日志文件a、日志文件b、日志文件c的原始文件数据。
159.客户pc可以基于udp协议接收到bmc下发的各个日志文件对应的udp数据包,从而客户pc可以获取到所需采集的日志文件的原始日志数据。进一步地,客户pc还可以通过日志采集客户端生成存储命令,将获取到的日志文件的原始日志数据按照其原始存储目录进行存储到客户pc的内存。例如:日志文件a的存储目录为:/usr/local/log/目录,则在客户pc的内存中,仍然可以按照该存储目录,对获取到的日志文件a的原始日志数据进行存储。
160.从而,本发明实施例中,bmc无需将各个日志文件收集到bmc内存,对bmc的内存不会产生大量的占用,并且本发明实施例中,日志采集设备按照各个日志文件的存储路径依次获取到各个日志文件,无需bmc对日志文件进行压缩,降低bmc的cpu占用,并且,本发明实施例中,bmc基于udp协议对日志文件进行逐个传输,可以提高日志传输效率,达到快速收集日志的目的,收集日志时间可降低到两分钟以内,且收集日志过程中bmc正常访问不受影响。
161.在另外一个示例中,用户可以通过日志采集设备上的固定指令向bmc发起基于udp协议的日志请求命令,在bmc中已经提前写入该日志请求命令对应的日志文件为:日志文件a、日志文件b、日志文件c。
162.从而,bmc基于udp协议接收到日志采集设备发送的日志请求命令之后,可以确定与该日志请求命令相对应的、日志采集设备所需的日志文件为:日志文件a、日志文件b、日志文件c。后续的日志采集流程与上一示例类似,在此不再赘述。
163.基于同一发明构思,本发明实施例提供一种日志采集装置,应用于bmc,图5是本发明实施例提供的日志采集装置的示意图,如图5所示,所述装置包括:
164.第一接收模块501,用于接收日志采集设备发送的日志请求命令;
165.第一发送模块502,用于向所述日志采集设备发送所述日志请求命令所请求的各个日志文件各自的存储路径;
166.第二接收模块503,用于依次接收所述日志采集设备发送的针对所述各个日志文
件的日志采集命令,针对一个日志文件的采集命令携带该日志文件的存储路径;
167.第二发送模块504,用于通过udp协议向所述日志采集设备依次发送所述各个日志文件。
168.可选地,所述装置还包括:
169.筛选模块,用于从文件集合中,筛选所述日志请求命令所请求的各个日志文件;
170.确定模块,用于确定所述各个日志文件的存储路径。
171.可选地,所述装置还包括:
172.第三接收模块,用于在通过udp协议向所述日志采集设备依次发送所述各个日志文件的过程中,接收终端设备发送的业务请求;
173.响应模块,用于向所述终端设备发送与所述业务请求对应的业务响应。
174.可选地,所述第二发送模块404,具体用于:
175.将所述各个日志文件的原始日志数据封装为udp数据包;
176.通过udp协议向所述日志采集设备依次发送所述各个日志文件对应的udp数据包。
177.可选地,各个日志文件各自的存储路径均为除所述bmc的内存外的存储空间下的路径。
178.基于同一发明构思,本发明实施例提供一种日志采集装置,应用于日志采集设备,图6是本发明实施例提供的日志采集装置的示意图,如图5所示,所述装置包括:
179.第一发送模块601,用于向bmc发送日志请求命令;
180.第一接收模块602,用于接收所述bmc发送的所述日志请求命令所请求的各个日志文件各自的存储路径;
181.第二发送模块603,用于依次向所述bmc发送针对所述各个日志文件的日志采集命令,针对一个日志文件的采集命令携带该日志文件的存储路径;
182.第二接收模块604,用于通过udp协议依次接收所述bmc发送的所述各个日志文件。
183.可选地,所述第二接收模块604,具体用于:
184.通过udp协议接收所述bmc依次发送的所述各个日志文件对应的udp数据包,所述udp数据包为所述bmc对所述各个日志文件的原始日志数据封装得到的。
185.可选地,各个日志文件各自的存储路径均为除所述bmc的内存外的存储空间下的路径。
186.基于同一发明构思,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本发明上述任一实施例所述的日志采集方法的步骤。
187.基于同一发明构思,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明上述任一实施例所述的日志采集方法的步骤。
188.基于同一发明构思,本发明实施例提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现如本发明上述任一实施例所述的日志采集方法的步骤。
189.对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
190.本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
191.本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
192.本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
193.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
194.这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
195.尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
196.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
197.以上对本发明所提供的一种日志采集方法、装置、电子设备、介质及产品,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1