CN110995471B - 一种日志采集方法、装置、系统及计算机可读存储介质 - Google Patents
一种日志采集方法、装置、系统及计算机可读存储介质 Download PDFInfo
- Publication number
- CN110995471B CN110995471B CN201911121566.9A CN201911121566A CN110995471B CN 110995471 B CN110995471 B CN 110995471B CN 201911121566 A CN201911121566 A CN 201911121566A CN 110995471 B CN110995471 B CN 110995471B
- Authority
- CN
- China
- Prior art keywords
- log
- instruction
- collection
- node
- acquisition
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 230000005540 biological transmission Effects 0.000 claims description 66
- 238000004590 computer program Methods 0.000 claims description 12
- 238000005192 partition Methods 0.000 claims description 11
- 238000012795 verification Methods 0.000 claims description 9
- 230000009286 beneficial effect Effects 0.000 abstract description 3
- 230000008569 process Effects 0.000 description 20
- 230000002159 abnormal effect Effects 0.000 description 9
- 230000005856 abnormality Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000003993 interaction Effects 0.000 description 6
- 230000000977 initiatory effect Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013480 data collection Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000002405 diagnostic procedure Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/069—Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/04—Processing captured monitoring data, e.g. for logfile generation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种日志采集方法,包括获取日志采集指令;根据所述日志采集指令确定目标节点;若所述目标节点为自身节点,则根据所述日志采集指令对所述目标节点进行日志采集,获得第一日志信息;若所述目标节点为对控节点,则将所述日志采集指令转发至所述对控节点的SES程序,以使所述SES程序根据所述日志采集指令对所述目标节点进行日志采集,获得第二日志信息;该日志采集方法提高了日志信息采集的全面性,为后续日志分析和问题定位提供了有效保证。本申请还公开了一种日志采集装置、系统及计算机可读存储介质,均具有上述有益效果。
Description
技术领域
本申请涉及信息采集技术领域,特别涉及一种日志采集方法,还涉及一种日志采集装置、系统以及计算机可读存储介质。
背景技术
存储系统的作用在于以高可靠和高速率为要求,对服务器和硬盘之间传输的海量数据进行处理。其中,对于系统接口,CPU处理业务数据,外有pcie接口,硬盘通用的是SAS接口,因而会有pcie接口转换为SAS接口,并由SAS expander对接到每个硬盘;对于软件应用,则是由机箱管理模块实时检测设备的运行情况,包括温度、电压、风扇等信息,该机箱管理模块包括SAS expander上运行的SES程序和主程序中的EM线程(enclosure management机箱管理)两部分,其中,SES程序主要用于实现日志信息采集,EM线程则用于接收SES程序上传的日志信息并进行可视化展示。
然而,随着设备的运行,日志信息采集失败的情况时有发生,如访问冲突、链路异常、通信异常等,加之机箱中节点众多,需要管理的数据量众多,根本无法保证日志信息采集的全面性,例如,当一个节点故障时,该节点的日志信息无法得到有效采集,从而对后续根据日志进行功能调试和软硬件故障定位带来了较大难度。
因此,如何有效提高日志信息采集的全面性,为后续日志分析和问题定位提供保证是本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种日志采集方法,该日志采集方法有效提高了日志信息采集的全面性,为后续日志分析和问题定位提供可靠保证;本申请的另一目的是提供一种日志采集装置、系统以及计算机可读存储介质,也具有上述有益效果。
为解决上述技术问题,本申请提供了一种日志采集方法,所述日志采集方法包括:
获取日志采集指令;
根据所述日志采集指令确定目标节点;
若所述目标节点为自身节点,则根据所述日志采集指令对所述目标节点进行日志采集,获得第一日志信息;
若所述目标节点为对控节点,则将所述日志采集指令转发至所述对控节点的SES程序,以使所述SES程序根据所述日志采集指令对所述目标节点进行日志采集,获得第二日志信息。
优选的,所述获取日志采集指令包括:
接收所述自身节点对应的主程序下发的所述日志采集指令。
优选的,所述日志采集方法还包括:
当接收到所述主程序下发的状态获取指令时,获取当前日志采集状态;其中,所述当前日志采集状态包括无采集状态、采集中状态和采集完成状态;
将所述当前日志采集状态上传至所述主程序。
优选的,所述日志采集方法还包括:
接收所述主程序下发的日志传输指令;其中,所述日志传输指令是所述主程序在接收到所述采集完成状态后下发的;
若所述目标节点为所述自身节点,则根据所述日志传输指令将所述第一日志信息反馈至所述主程序;
若所述目标节点为所述对控节点,则将所述日志传输指令发送至所述对控节点的SES程序,以获取所述SES程序反馈的所述第二日志信息,并将所述第二日志信息反馈至所述主程序。
优选的,所述根据所述日志传输指令将所述第一日志信息反馈至所述主程序,包括:
对所述日志传输指令进行解析,确定数据块ID、读取长度和偏移地址;
根据所述数据块ID、读取长度和偏移地址在预设日志分区中进行日志读取,获得所述第一日志信息;
将所述第一日志信息反馈至所述主程序。
优选的,所述日志采集方法还包括:
将所述第一日志信息反馈至所述主程序,以使所述主程序对所述第一日志信息进行校验,并在校验失败时重新进行日志采集。
优选的,所述日志采集方法还包括:
当接收到传输完成指令时,根据所述传输完成指令将所述第一日志信息擦除。
为解决上述技术问题,本申请还提供了一种日志采集装置,所述日志采集装置包括:
指令获取模块,用于获取日志采集指令;
节点确定模块,用于根据所述日志采集指令确定目标节点;
第一采集模块,用于若所述目标节点为自身节点,则根据所述日志采集指令对所述目标节点进行日志采集,获得第一日志信息;
第二采集模块,用于若所述目标节点为对控节点,则将所述日志采集指令转发至所述对控节点的SES程序,以使所述SES程序根据所述日志采集指令对所述目标节点进行日志采集,获得第二日志信息。
为解决上述技术问题,本申请还提供了一种日志采集系统,所述日志采集系统包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述任意一种日志采集方法的步骤。
为解决上述技术问题,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一种日志采集方法的步骤。
本申请所提供的一种日志采集方法,包括获取日志采集指令;根据所述日志采集指令确定目标节点;若所述目标节点为自身节点,则根据所述日志采集指令对所述目标节点进行日志采集,获得第一日志信息;若所述目标节点为对控节点,则将所述日志采集指令转发至所述对控节点的SES程序,以使所述SES程序根据所述日志采集指令对所述目标节点进行日志采集,获得第二日志信息。
可见,本申请所提供的日志采集方法,通过设定双控节点实现节点中日志信息的采集,即借助于双节点SES程序之间的交互通道,使得每个节点的SES程序可同时保持本节点和对端节点的日志收集,实现一个节点的主程序可同时收集本节点和对控节点的日志信息,由此,当某个节点的主程序发生异常而无法正常工作时,则可通过其对应的对控节点实现该故障节点的日志采集,提高了日志信息的可靠性收集,有效避免了机箱中日志信息的遗漏,进一步提高了日志信息采集的全面性,为后续通过日志分析进行问题定位提供了可靠性保障。
本申请所提供的一种日志采集系统、装置以及计算机可读存储介质,均具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请所提供的一种日志采集方法的流程示意图;
图2为本申请所提供的一种主程序采集自身节点SES程序日志信息的时序图;
图3为本申请所提供的一种主程序采集对控节点SES程序日志信息的时序图;
图4为本申请所提供的一种节点独立采集自身日志信息的流程图;
图5为本申请所提供的一种上控节点采集下控节点日志信息的流程图;
图6为本申请所提供的一种下控节点采集上控节点日志信息的流程图;
图7为本申请所提供的一种日志采集装置的结构示意图;
图8为本申请所提供的一种日志采集系统的结构示意图。
具体实施方式
本申请的核心是提供一种日志采集方法,该日志采集方法有效提高了日志信息采集的全面性,为后续日志分析和问题定位提供可靠保证;本申请的另一核心是提供一种日志采集装置、系统以及计算机可读存储介质,也具有上述有益效果。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
请参考图1,图1为本申请所提供的一种日志采集方法的流程示意图,该日志采集方法可以包括:
S101:获取日志采集指令;
本步骤旨在实现日志采集指令的获取,以便根据该日志采集指令进行后续日志采集。具体而言,日志采集过程由机箱管理模块中的SES程序部分实现,对于上述日志采集指令的获取方式,本申请不做具体限定,例如,可以是SES程序在运行过程中发现异常信息时,自动响应预设的日志采集指令,也可以是接收的上层下发的日志采集指令。
优选的,上述获取日志采集指令可以包括:接收自身节点对应的主程序下发的日志采集指令。
本优选实施例提供了一种较为具体的日志采集指令的获取方式,即当前所属节点的主程序下发,也就是主程序将日志采集指令下发至同节点的SES程序,以启动SES程序进行后续日志采集。当然,主程序下发日志采集指令的过程,可以是技术人员根据实际需要发起,也可以是主程序在运行过程中发现异常信息时发起,本申请对此同样不做限定。
S102:根据日志采集指令确定目标节点;
本步骤旨在实现目标节点的确定,该目标节点即为需要进行日志信息采集的节点。具体而言,为保证机箱中日志信息采集的全面性,可预先设定双控节点,即两个节点之间可通过预设的传输通道实现信息传输,以保证两个节点均可实现对端节点的日志信息的采集,因此,该目标节点可能为自身节点,也可能为对控节点。
S103:若目标节点为自身节点,则根据日志采集指令对目标节点进行日志采集,获得第一日志信息;
本步骤旨在实现自身节点中日志信息的采集,即上述第一日志信息的采集。具体的,当确定目标节点为自身节点时,可直接响应该日志采集指令,对自身节点中的日志信息进行采集,以获得第一节点信息。
S104:若目标节点为对控节点,则将日志采集指令转发至对控节点的SES程序,以使SES程序根据日志采集指令对目标节点进行日志采集,获得第二日志信息。
本步骤旨在实现对控节点的日志信息的采集,即上述第二日志信息的采集。具体的,当确定目标节点为对控节点时,则将获取到的日志采集指令转发至对控节点的SES程序,以启动对控节点的SES程序进行日志采集,获得第二节点信息。可以理解的是,对对控节点的日志采集多发生于对控节点的主程序发生故障的情况下。
需要说明的是,上述所确定的目标节点的数量并不唯一,亦可以同时实现双节点的日志信息的采集,并不影响本技术方案的实施。
本申请所提供的日志采集方法,通过设定双控节点实现节点中日志信息的采集,即借助于双节点SES程序之间的交互通道,使得每个节点的SES程序可同时保持本节点和对端节点的日志收集,实现一个节点的主程序可同时收集本节点和对控节点的日志信息,由此,当某个节点的主程序发生异常而无法正常工作时,则可通过其对应的对控节点实现该故障节点的日志采集,提高了日志信息的可靠性收集,有效避免了机箱中日志信息的遗漏,进一步提高了日志信息采集的全面性,为后续通过日志分析进行问题定位提供了可靠性保障。
在上述实施例的基础上,
作为一种优选实施例,该日志采集方法还可以包括:当接收到主程序下发的状态获取指令时,获取当前日志采集状态;其中,当前日志采集状态包括无采集状态、采集中状态和采集完成状态;将当前日志采集状态上传至主程序。
具体的,本优选实施例旨在实现日志采集状态的采集,即当前日志采集状态,以便主程序及时获知当前日志采集状态,并在日志采集完成后进行后续日志汇总。因此,主程序可向本节点的SES程序下发状态获取指令,以便SES程序基于该状态获取指令向主程序上传当前日志采集状态,其中,当前日志采集状态具体可包括无采集状态、采集中状态和采集完成状态。
作为一种优选实施例,该日志采集方法还可以包括:接收主程序下发的日志传输指令;其中,日志传输指令是主程序在接收到采集完成状态后下发的;若目标节点为自身节点,则根据日志传输指令将第一日志信息反馈至主程序;若目标节点为对控节点,则将日志传输指令发送至对控节点的SES程序,以获取SES程序反馈的第二日志信息,并将第二日志信息反馈至主程序。
本优选实施例旨在实现日志信息的反馈,即将采集到的日志信息反馈至主程序,以便后续日志分析和问题定位的实现。具体而言,当主程序接收到SES程序上传的采集完成状态后,说明日志采集完毕,此时可向SES程序下发日志传输指令,以获得其采集的日志信息。其中,当目标节点为自身节点时,说明当前采集的日志信息为自身节点的日志信息,即上述第一日志信息,此时将第一日志信息上传至主程序即可;当目标节点为对控节点时,说明当前采集的日志信息为对控节点的日志信息,即上述第二日志信息,由于该第二日志信息具体由对控节点的SES程序采集获得,因此,本节点的SES程序可将日志传输指令转发至对控节点的SES程序,以便获取到对控节点的SES程序反馈的第二日志信息,最后再将其上传至主程序。
作为一种优选实施例,上述根据日志传输指令将第一日志信息反馈至主程序,可以包括:对日志传输指令进行解析,确定数据块ID、读取长度和偏移地址;根据数据块ID、读取长度和偏移地址在预设日志分区中进行日志读取,获得第一日志信息;将第一日志信息反馈至主程序。
本优选实施例提供了一种较为具体的日志信息的反馈过程,具体而言,由于日志信息的数据量巨大,因此,可在各个节点上预先设立日志分区,并以数据块的形式将日志信息存储至该日志分区,当需要进行日志信息反馈时,即SES程序接收到主程序下发的日志传输指令时,即可对其进行解析,以获得所需获取的日志信息对应的数据块ID、读取长度以及偏移地址等信息,进而在预设日志分区中读取到相应的日志信息,并进行反馈即可。
可以理解的是,本优选实施例仅以自身节点的日志信息反馈为例进行了介绍,但该种实现方式同样适用于对控节点日志信息的反馈过程,本申请在此不再赘述。
作为一种优选实施例,该日志采集方法还可以包括:将第一日志信息反馈至主程序,以使主程序对第一日志信息进行校验,并在校验失败时重新进行日志采集。
本优选实施例旨在实现日志信息的校验,以保证所获取的日志信息的有效性。具体的,主程序在接收到SES程序上传的日志信息后,即可对其进行校验,具体可基于日志传输命令中的数据块ID等信息实现;进一步,当校验失败时,则可向SES程序重新发起日志传输指令,以便重新读取日志信息,直至校验通过。
同样的,本优选实施例仅以自身节点的日志信息校验为例进行了介绍,但该种实现方式同样适用于对控节点日志信息的校验过程,本申请在此不再赘述。
作为一种优选实施例,该日志采集方法还可以包括:当接收到传输完成指令时,根据传输完成指令将第一日志信息擦除。
具体的,由于日志信息的数据量巨大,而日志分区的存储空间有限,因此,对于已经上传至主程序的日志信息,可直接进行擦除,以避免空间占用和资源浪费。具体而言,主程序在获取到日志信息之后,即可向SES程序下发传输完成指令,以便SES程序知晓日志信息已经上传完毕,此时直接执行日志信息擦除操作即可。
类似于上述日志信息的反馈和校验过程,日志信息的擦除过程同样适用于对控节点。
在上述各实施例的基础上,本申请提供了一种更为具体的日志采集方法,其具体实现过程如下:
首先,对机箱管理模块中的SAE程序和EM线程进行介绍:
1、SES程序的主体任务如下:
(1)高频率循环读取设备的外围状态,如风扇、电压、风扇等信息,并做异常判定,当判定出现异常状态时,则将其状态和信息上报给EM线程;
(2)接收并执行EM线程发来的控制指令;
(3)内部可进行自控制处理,如在检测机箱温度高低时,按照风扇转速策略自动调整风扇转速。
2、EM线程属于存储主程序的一部分,其主体任务如下:
(1)当接收到SES程序发来的数据信息时,更新内部数据;
(2)当存在异常状态时,发起用户可直观查看的告警,并通知主系统是否需要针对异常做其他处理,如当某些关键元件温度超高时,是否要进行关机保护;
(3)当主系统需要在程序运行中控制某个硬件时,经过EM线程下发给SES程序,由SES程序进行实际控制,如读写VPD配置信息、点亮某个异常控制灯。
其中,SES程序运行于一个较为中低端的处理器上,通过多路i2c采集机箱的传感器温度、电压、风扇、管理VPD,读写管理芯片的寄存器,并在数据采集后做状态处理,然后上报给上层程序做最终的处理策略。例如,SES程序读取温度信息,并多次确认是否出现了超温现象,得出超温状态,并上报给主程序;主程序根据超温的严重程度,确认是否要做告警或降频或关机操作。
进一步,主程序与SES程序之间的通信遵守SES协议通信,通过send diagnostic和receive diagnostic方式来进行,收发各个传输的ses page来传递信息。其中,SES协议已经定了很多page,每个page均有特定的page code,用于传递各种信息。因此,可通过新增ses page的方式增加新数据传输,即新增日志传输page,用于实现主程序与SES程序之间的日志信息传输。基于此,日志信息的获取流程实现如下:
一、日志信息收集过程:
1、日记信息收集条件:
(1)当SES程序内部运行时检测到异常,则直接开始采集日志信息;
(2)当主程序检测到异常,主动下发日志采集指令;
(3)当用户主动收集日志时,通过主程序向SES程序下发日志采集指令。
2、定义主程序与SES程序之间传递的日志采集指令:
(1)在已有的page2中定义新的日志元素,在page2的control控制指令里,下发日志采集指令force_trigger;其中,page2分control和status两部分,status用于SES程序向主程序上报状态信息,control用于主程序向SES程序下发指令,同时,也可在page2的status状态获取指令中定义日志采集状态(参照下述日志状态反馈过程);
(2)利用节点之间的交互通道,将日志采集指令发送给对端(对控节点)。
3、主程序可向本节点SES程序发送日志采集指令,在双控SES程序有交互通道的基础上,可发送获取本节点日志信息和对控节点日志信息的两种指令。
4、SES程序,接收日志采集指令后并解析:
(1)当解析到是关于本节点的指令,则发起内部日志收集过程;
(2)当解析到是关于对端节点的指令,则将指令发送给对端,对端接收后发起日志收集过程。
二、日志状态反馈过程:
1、定义主程序与SES程序之间的日志收集状态标志(状态获取指令),分别表征含义如下:
(1)日志无采集状态(表示没有日志采集指令触发,为默认状态);
(2)日志采集中状态(表示日志信息正在SES程序内部收集,持续几秒钟);
(3)日志采集完成状态(表示SES程序内部采集日志信息已完成,并已做好向主程序发送的准备)。
2、SES程序将日志采集状态写入page2状态查询指令中,在主程序下发状态获取指令时,上传日志采集状态。其中,由于日志信息需要先在SES程序内部采集完成才可传递给主程序,因而需要将日志采集状态告知主程序。
三、日志信息传输过程:
1、主程序查询日志采集状态标志,当处于“采集中状态”时,等待日志信息收集完成;当处于“收集完成状态”时,发起日志传输指令;其中,由于主程序为指令发起端,SES程序为指令响应端和反馈端,因此,需要主程序主动查询日志采集状态,并根据状态信息判定是否发起日志传输指令;
2、对于双控节点,先检测对控节点的当前状态,若处于正常状态,则各自发送关于本端的日志传输指令,若处于异常状态,则发送关于对端的日志传输指令,或同时发送关于本端和对端的日志传输接收指令;
3、定义主程序与SES程序之间用于传输日志信息的log page,用于查询日志信息长度和接收日志信息;
4、主程序首先查询日志信息的长度,然后再发送日志传输指令,该指令包括日志块编号ID,读取长度和偏移地址;其中,由于日志信息数据量较大,因此,可进行分块传输,对每个数据块定义编号ID,并说明读取长度和在日志分区的偏移地址;
5、SES程序接收并解析日志传输指令,解析出数据块编号ID、读取长度和偏移地址,并在日志分区中的偏移地址读取到对应长度的日志信息,进而在指令末端追加该日志信息,做成返回数据并返回给主程序;
6、主程序接收日志信息并校验,当校验通过时,按照数据块编号ID依次写入文件,组成日志文件;当校验不通过时,重新发起对应数据块编号ID的日志传输指令,通过多次重传确保可获取到完整数据,提高可靠性;
7、当主程序检测到对端主程序异常时,向本节点的SES程序下发关于对端的日志传输指令;
8、当本节点的SES程序解析到是关于对端的指令时,则将其转发给对端,并且接收对端发来的日志信息,最后反馈给主程序。
四、日志传输结束:
1、主程序接收完毕后,通过page2的控制指令下发传输完成指令;
2、SES程序接收到传输完成指令后,清除日志分区的日志信息,并实时检测运行环境,准备下一次日志采集。
至此,日志信息获取完毕。
进一步,基于上述日志信息的获取流程,结合图2和图3,图2为本申请所提供的一种主程序采集自身节点SES程序的日志信息的时序图,图3为本申请所提供的一种主程序采集对控节点SES程序的日志信息的时序图,由此,可得到具体执行步骤如下:
一、建立交互通道:
1、在page2中定义日志元素;
2、在控制指令中通知SES程序强制收集日志;
3、在状态查询指令中,获取日志采集状态;
4、建立用于日志信息传输的新的日志传输通道。
其中,对于日志传输通道,具体可包括本节点主程序与SES节点之间的日志传输通道和双控节点SES程序之间的日志传输通道,如图4、图5和图6所示,图4为本申请所提供的一种节点独立采集自身日志信息的流程图,图5为本申请所提供的一种上控节点采集下控节点日志信息的流程图,图6为本申请所提供的一种下控节点采集上控节点日志信息的流程图。其中,上控节点和下控节点互为对控节点,主程序下发日志控制指令,当上控节点接收并解析到是对下控节点的日志控制指令,会将指令主动发送给下控节点;当下控节点接收并解析到是对上控接单的日志控制指令,会将指令主动发送给上控节点。
二、主程序主体任务:
1、当检测到异常时,发送日志采集指令;
2、查询日志采集状态;
3、当日志采集完成时,发起日志传输指令;首先,查询日志信息的有效长度,再依次分块下发日志数据块的编号ID和偏移地址,并接收SES程序发来的相应日志信息;
4、当日志信息校验通过后,按照编号ID顺序逐个写入文件,组成完整的日志文件;
5、当日志信息校验不通过时,下发相同的日志传输指令重试,多次下发确保日志信息可被正确读取,以提高可靠性;
6、通过page2的日志元素,下发传输完成指令。
三、SES程序主体任务:
1、在本端发现异常时,启动日志采集流程;
2、当接收到主程序的日志采集指令时,启动日志采集流程;
3、开始内部收集日志信息,并向主程序上报“本节点日志信息采集中状态”;
4、当日志信息内部收集完成时,向主程序上报“本节点日志信息采集完成状态”;
5、接收主程序的日志传输指令,根据指令中的日志块编号ID和偏移地址,读取指定长度的日志信息,并反馈给主程序,直至读取完成;
6、当接收到传输完成指令时,清除日志信息,准备下一次日志采集;
7、当解析到是关于对端的日志采集指令时,则将其发送至对端;
8、接收对端节点的日志采集状态,并上报给主程序;
9、将主程序的读取对端日志块的编号ID、偏移地址和读取长度等均发送至对端,并接收对端反馈的日志信息,最后再上传给主程序;
10、接收到关于对端的传输完成指令,将指令发送给对端,以使对端执行日志信息清除操作。
由此可见,本申请实施例所提供的日志采集方法,通过设定双控节点实现节点中日志信息的采集,即借助于双节点SES程序之间的交互通道,使得每个节点的SES程序可同时保持本节点和对端节点的日志收集,实现一个节点的主程序可同时收集本节点和对控节点的日志信息,由此,当某个节点的主程序发生异常而无法正常工作时,则可通过其对应的对控节点实现该故障节点的日志采集,提高了日志信息的可靠性收集,有效避免了机箱中日志信息的遗漏,进一步提高了日志信息采集的全面性,为后续通过日志分析进行问题定位提供了可靠性保障。
为解决上述问题,请参考图7,图7为本申请所提供的一种日志采集装置的结构示意图,该日志采集装置可包括:
指令获取模块10,用于获取日志采集指令;
节点确定模块20,用于根据所述日志采集指令确定目标节点;
第一采集模块30,用于若所述目标节点为自身节点,则根据所述日志采集指令对所述目标节点进行日志采集,获得第一日志信息;
第二采集模块40,用于若所述目标节点为对控节点,则将所述日志采集指令转发至所述对控节点的SES程序,以使所述SES程序根据所述日志采集指令对所述目标节点进行日志采集,获得第二日志信息。
对于本申请提供的装置的介绍请参照上述方法实施例,本申请在此不做赘述。
为解决上述问题,请参考图8,图8为本申请所提供的一种日志采集系统的结构示意图,该日志采集系统可包括:
存储器1,用于存储计算机程序;
处理器2,用于执行计算机程序时可实现上述任意一种日志采集方法的步骤。
对于本申请提供的系统的介绍请参照上述方法实施例,本申请在此不做赘述。
为解决上述问题,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现上述任意一种日志采集方法的步骤。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
对于本申请提供的计算机可读存储介质的介绍请参照上述方法实施例,本申请在此不做赘述。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的日志采集方法、系统、装置以及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围要素。
Claims (4)
1.一种日志采集方法,其特征在于,包括:
获取日志采集指令;其中,所述获取日志采集指令包括:接收自身节点对应的主程序下发的所述日志采集指令;
根据所述日志采集指令确定目标节点;
若所述目标节点为自身节点,则根据所述日志采集指令对所述目标节点进行日志采集,获得第一日志信息;
若所述目标节点为对控节点,则将所述日志采集指令转发至所述对控节点的SES程序,以使所述SES程序根据所述日志采集指令对所述目标节点进行日志采集,获得第二日志信息;
将所述第一日志信息反馈至所述主程序,以使所述主程序对所述第一日志信息进行校验,并在校验失败时重新进行日志采集;
当接收到所述主程序下发的状态获取指令时,获取当前日志采集状态;其中,所述当前日志采集状态包括无采集状态、采集中状态和采集完成状态;
将所述当前日志采集状态上传至所述主程序;
接收所述主程序下发的日志传输指令;其中,所述日志传输指令是所述主程序在接收到所述采集完成状态后下发的;
若所述目标节点为所述自身节点,则根据所述日志传输指令将所述第一日志信息反馈至所述主程序;
若所述目标节点为所述对控节点,则将所述日志传输指令发送至所述对控节点的SES程序,以获取所述SES程序反馈的所述第二日志信息,并将所述第二日志信息反馈至所述主程序;
当接收到传输完成指令时,根据所述传输完成指令将所述第一日志信息擦除;
其中,所述根据所述日志传输指令将所述第一日志信息反馈至所述主程序,包括:
对所述日志传输指令进行解析,确定数据块ID、读取长度和偏移地址;
根据所述数据块ID、读取长度和偏移地址在预设日志分区中进行日志读取,获得所述第一日志信息;
将所述第一日志信息反馈至所述主程序。
2.一种日志采集装置,其特征在于,包括:
指令获取模块,用于获取日志采集指令;其中,所述获取日志采集指令包括:接收自身节点对应的主程序下发的所述日志采集指令;
节点确定模块,用于根据所述日志采集指令确定目标节点;
第一采集模块,用于若所述目标节点为自身节点,则根据所述日志采集指令对所述目标节点进行日志采集,获得第一日志信息;
第二采集模块,用于若所述目标节点为对控节点,则将所述日志采集指令转发至所述对控节点的SES程序,以使所述SES程序根据所述日志采集指令对所述目标节点进行日志采集,获得第二日志信息;
检验模块,用于将所述第一日志信息反馈至所述主程序,以使所述主程序对所述第一日志信息进行校验,并在校验失败时重新进行日志采集;
状态获取模块,用于当接收到所述主程序下发的状态获取指令时,获取当前日志采集状态;其中,所述当前日志采集状态包括无采集状态、采集中状态和采集完成状态;将所述当前日志采集状态上传至所述主程序;
日志传输模块,用于接收所述主程序下发的日志传输指令;其中,所述日志传输指令是所述主程序在接收到所述采集完成状态后下发的;若所述目标节点为所述自身节点,则根据所述日志传输指令将所述第一日志信息反馈至所述主程序;若所述目标节点为所述对控节点,则将所述日志传输指令发送至所述对控节点的SES程序,以获取所述SES程序反馈的所述第二日志信息,并将所述第二日志信息反馈至所述主程序;
日志擦除模块,用于当接收到传输完成指令时,根据所述传输完成指令将所述第一日志信息擦除;
其中,所述日志传输模块具体用于对所述日志传输指令进行解析,确定数据块ID、读取长度和偏移地址;根据所述数据块ID、读取长度和偏移地址在预设日志分区中进行日志读取,获得所述第一日志信息;将所述第一日志信息反馈至所述主程序。
3.一种日志采集系统,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1所述的日志采集方法的步骤。
4.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1所述的日志采集方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911121566.9A CN110995471B (zh) | 2019-11-15 | 2019-11-15 | 一种日志采集方法、装置、系统及计算机可读存储介质 |
PCT/CN2020/103702 WO2021093364A1 (zh) | 2019-11-15 | 2020-07-23 | 一种日志采集方法、装置、系统及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911121566.9A CN110995471B (zh) | 2019-11-15 | 2019-11-15 | 一种日志采集方法、装置、系统及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110995471A CN110995471A (zh) | 2020-04-10 |
CN110995471B true CN110995471B (zh) | 2021-12-17 |
Family
ID=70084392
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911121566.9A Active CN110995471B (zh) | 2019-11-15 | 2019-11-15 | 一种日志采集方法、装置、系统及计算机可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110995471B (zh) |
WO (1) | WO2021093364A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110995471B (zh) * | 2019-11-15 | 2021-12-17 | 苏州浪潮智能科技有限公司 | 一种日志采集方法、装置、系统及计算机可读存储介质 |
CN112751876B (zh) * | 2020-12-30 | 2022-11-15 | 北京天融信网络安全技术有限公司 | 消息采集系统的控制方法、装置、电子设备及存储介质 |
CN114996335B (zh) * | 2022-08-03 | 2022-11-01 | 海看网络科技(山东)股份有限公司 | 一种iptv日志实时聚类分析方法 |
CN117290190B (zh) * | 2023-11-27 | 2024-02-13 | 博为科技有限公司 | 一种串口日志远程采集方法、装置及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102185710A (zh) * | 2011-04-26 | 2011-09-14 | 中兴通讯股份有限公司 | 一种单板日志的管理方法及日志管理系统 |
CN109062757A (zh) * | 2018-07-19 | 2018-12-21 | 郑州云海信息技术有限公司 | 一种机箱双管理方法、系统及一种双管理的机箱 |
CN109726083A (zh) * | 2019-01-03 | 2019-05-07 | 郑州云海信息技术有限公司 | 机箱的运行状态管理方法、系统、装置及可读存储介质 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6578160B1 (en) * | 2000-05-26 | 2003-06-10 | Emc Corp Hopkinton | Fault tolerant, low latency system resource with high level logging of system resource transactions and cross-server mirrored high level logging of system resource transactions |
US20040117658A1 (en) * | 2002-09-27 | 2004-06-17 | Andrea Klaes | Security monitoring and intrusion detection system |
CN102722461B (zh) * | 2012-05-07 | 2016-03-30 | 加弘科技咨询(上海)有限公司 | 存储管理系统的数据通信系统及通信方法 |
JP5946423B2 (ja) * | 2013-04-26 | 2016-07-06 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | システム・ログの分類方法、プログラム及びシステム |
CN105159851A (zh) * | 2015-07-02 | 2015-12-16 | 浪潮(北京)电子信息产业有限公司 | 多控存储系统 |
CN106357426B (zh) * | 2016-08-26 | 2019-04-26 | 东北大学 | 一种基于工业云的大规模分布式智能数据采集系统及方法 |
CN107656850A (zh) * | 2017-09-28 | 2018-02-02 | 郑州云海信息技术有限公司 | 一种基于ses协议的设备监控方法、装置及介质 |
CN107967195A (zh) * | 2017-12-07 | 2018-04-27 | 郑州云海信息技术有限公司 | 一种基于双控存储的故障修复方法及系统 |
CN110032516A (zh) * | 2019-04-12 | 2019-07-19 | 苏州浪潮智能科技有限公司 | 一种传输程序的调试反馈信息获取方法及相关装置 |
CN110995471B (zh) * | 2019-11-15 | 2021-12-17 | 苏州浪潮智能科技有限公司 | 一种日志采集方法、装置、系统及计算机可读存储介质 |
-
2019
- 2019-11-15 CN CN201911121566.9A patent/CN110995471B/zh active Active
-
2020
- 2020-07-23 WO PCT/CN2020/103702 patent/WO2021093364A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102185710A (zh) * | 2011-04-26 | 2011-09-14 | 中兴通讯股份有限公司 | 一种单板日志的管理方法及日志管理系统 |
CN109062757A (zh) * | 2018-07-19 | 2018-12-21 | 郑州云海信息技术有限公司 | 一种机箱双管理方法、系统及一种双管理的机箱 |
CN109726083A (zh) * | 2019-01-03 | 2019-05-07 | 郑州云海信息技术有限公司 | 机箱的运行状态管理方法、系统、装置及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110995471A (zh) | 2020-04-10 |
WO2021093364A1 (zh) | 2021-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110995471B (zh) | 一种日志采集方法、装置、系统及计算机可读存储介质 | |
CN108829593B (zh) | 代码覆盖率计算分析方法、装置、设备及存储介质 | |
CN111416821A (zh) | 物联网设备信息采集方法、系统和装置 | |
US20140236997A1 (en) | Controller, information processing apparatus, and recording medium | |
CN112256542A (zh) | 基于eBPF的微服务系统性能检测方法、装置和系统 | |
CN108877188B (zh) | 一种环保数据并发采集及多网络发布方法和装置 | |
CN109359032B (zh) | 测试数据收集方法、装置、系统和电子设备 | |
CN104468288A (zh) | 终端网络数据测试方法及装置 | |
CN115604095A (zh) | 网络设备配置方法及系统 | |
CN113965447B (zh) | 一种在线云诊断方法、装置、系统、设备及存储介质 | |
CN114500178A (zh) | 一种自运维的智慧物联网关 | |
CN114003480A (zh) | 一种app启动时长监控系统及方法 | |
CN112214437A (zh) | 一种存储设备及通信方法、装置、计算机可读存储介质 | |
CN110673710A (zh) | 一种服务器机箱复位方法、装置、设备、介质 | |
CN111163155A (zh) | 对账文件传输方法、系统、服务器及存储介质 | |
CN116484373B (zh) | 异常进程查杀方法、系统、装置、计算机设备及存储介质 | |
CN116756044B (zh) | 一种基于数据链路追踪的rpc远程调试方法、装置及应用 | |
CN112631868B (zh) | 一种CentOS系统的性能监测方法及装置 | |
JP2018156541A (ja) | 管理装置、管理システム、管理装置の制御方法、及びプログラム | |
JP6072519B2 (ja) | システム試験支援装置 | |
CN116319495A (zh) | WebSocket通信中间件的测试方法、测试系统和计算机可读存储介质 | |
CN117421177A (zh) | 服务器运行状态的监控方法及装置 | |
CN114461598A (zh) | 协议的日志采集方法、系统及存储介质 | |
CN117971624A (zh) | 一种数据库服务器性能测试方法、装置及系统 | |
CN115622996A (zh) | Web应用中文件传输方法、装置和系统 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |