掌桥专利:专业的专利平台
掌桥专利
首页

一种服务节点异常分析方法及其相关装置

文献发布时间:2024-04-18 19:59:31


一种服务节点异常分析方法及其相关装置

技术领域

本申请涉及信息处理领域,更具体的说,是涉及一种服务节点异常分析方法及其相关装置。

背景技术

对于集群(Cluster)的需求,通常采用多个相同服务节点,并且将它们分别部署在不同服务器,甚至不同的数据中心的方式来提供高可用的能力。

为了能够确定哪一个服务节点有问题,以提高集群整体运行的安全。相关技术中,利用监控软件增加系统探针,获取系统性能等指标信息,以实现分析节点中的性能异常。但是,从系统性能的维度分析节点异常不够细致,没法从服务自身的处理维度进行分析,导致分析准确较低。

发明内容

有鉴于此,本申请提供了一种服务节点异常分析方法及其相关装置,如下:

一种服务节点异常分析方法,包括:

依据第一预设周期,获取集群中执行相同任务的N个服务节点的日志片段;N为大于2的正整数;

依次确定所述N个服务节点的日志片段之间的相似度;

依据预设规则以及所述相似度,将所述N个服务节点分为至少两个类别,每个类别包括至少一个服务节点;

确定满足预设异常条件的第一类别中服务节点为异常服务节点;

其中,部分所述N个服务节点分别部署于不同服务器。

可选的,上述的服务节点异常分析方法,所述依次确定所述N个服务节点的日志片段之间的相似度,包括:

依据第一日志模板,分别处理所述N个服务节点的日志片段,得到所述N个服务节点对应的N个日志词集合;

依次将所述N个日志词集合两两组合进行相似度计算,得到所述N个服务节点之间的日志片段的相似度。

可选的,上述的服务节点异常分析方法,依据第一日志模板,分别处理所述N个服务节点的日志片段,得到所述N个服务节点对应的N个日志词集合,包括:

依据所述第一日志模板筛选所述N个服务节点的日志片段,得到满足预设匹配条件所述N个服务节点对应的N个日志数据,所述日志数据属于所述日志片段;

去除所述日志数据中的变量数据,得到所述N个服务节点对应的N个日志词集合。

可选的,上述的服务节点异常分析方法,所述获取集群中执行相同任务的N个服务节点的日志片段之前,还包括:

依据第一预设周期,在所述集群中执行相同任务的任意服务节点的历史日志中截取至少两个历史日志片段;

提取所述至少两个历史日志片段中满足相似条件的日志内容,得到第一日志模板。

可选的,上述的服务节点异常分析方法,所述依次确定所述N个服务节点的日志片段之间的相似度,包括:

依据第二日志模板,分别处理所述N个服务节点的日志片段,得到所述N个服务节点对应的N个日志文本内容,所述第二日志模板不包含变量信息;

基于所述N个日志文本内容进行相似度计算,得到所述N个服务节点的日志片段之间的相似度。

可选的,上述的服务节点异常分析方法,所述依据预设规则以及所述相似度,将所述N个服务节点分为至少两个类别,包括:

依据所述相似度,确定所述集群中服务节点间距离;

依据预设规则以及所述集群中服务节点间的距离,将所述N个服务节点分为至少两个类别。

可选的,上述的服务节点异常分析方法,还包括:

依据第二预设周期在第一服务节点的日志中截取日志历史片段,所述第一服务节点是属于第一类别的任意服务节点;

确定所述第一服务节点的所述日志片段与所述日志历史片段在当前周期与上一周期的第一相似度;

获取所述第一服务节点的至少两个历史相似度,所述至少两个历史相似度值是依次排列的至少两个历史周期与所述历史周期的上一周期的相似度,所述当前周期、所述至少两个历史周期依次相邻;

若按照时间顺序排列的第一相似度和所述至少两个历史相似度满足依次降低条件且所述第一相似度小于预设阈值,确定所述第一服务节点属于异常服务节点。

一种服务节点异常分析装置,包括:

获取模块,用于依据第一预设周期,获取集群中执行相同任务的N个服务节点的日志片段;N为大于2的正整数;

第一确定模块,用于依次确定所述N个服务节点的日志片段之间的相似度;

分类模块,用于依据预设规则以及所述相似度,将所述N个服务节点分为至少两个类别,每个类别包括至少一个服务节点;

第二确定模块,用于确定满足预设异常条件的第一类别中服务节点为异常服务节点;

其中,部分所述N个服务节点分别部署于不同服务器。

一种电子设备,包括:存储器、处理器;

其中,存储器存储有处理程序;

所述处理器用于加载并执行所述存储器存储的所述处理程序,以实现如上述任一项所述的服务节点异常分析方法的各步骤。

一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器调用并执行,实现如上述任一项所述的服务节点异常分析方法的各步骤。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1是本申请提供的一种服务节点异常分析方法实施例1的流程图;

图2是本申请提供的一种服务节点异常分析方法实施例1中集群示意图;

图3是本申请提供的一种服务节点异常分析方法实施例2的流程图;

图4是本申请提供的一种服务节点异常分析方法实施例2中一相似度列表示意图;

图5是本申请提供的一种服务节点异常分析方法实施例3的流程图;

图6是本申请提供的一种服务节点异常分析方法实施例4的流程图;

图7是本申请提供的一种服务节点异常分析方法实施例5的流程图;

图8是本申请提供的一种服务节点异常分析方法实施例5中聚类示意图一;

图9是本申请提供的一种服务节点异常分析方法实施例5中聚类示意图二;

图10是本申请提供的一种服务节点异常分析方法实施例5中聚类示意图三;

图11是本申请提供的一种服务节点异常分析方法实施例6的流程图;

图12是本申请提供的一种服务节点异常分析方法实施例6中一相似度列表示意图;

图13是本申请提供的一种服务节点异常分析装置实施例的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

如图1所示的,为本申请提供的一种服务节点异常分析方法实施例1的流程图,该方法应用于一电子设备,该方法包括以下步骤:

步骤S101:依据第一预设周期,获取集群中执行相同任务的N个服务节点的日志片段,N为大于2的正整数;

其中,集群中有若干服务节点,该若干服务节点包括执行不同任务的服务节点,而每个任务都有多个服务节点执行,以提高任务执行的速度。

其中,部分所述N个服务节点分别部署于不同服务器。

其中,执行相同任务的多个服务节点,将它们分别部署在不同服务器,甚至不同的数据中心的方式来提供高可用的能力。

其中,为了确定该执行相同任务的多个服务节点中哪个服务节点有问题,采用将各个服务节点的运行情况进行比对的方式进行确定。

在一可能的实现方式中,基于相同时间段的日志片段进行比对确定。

其中,按照第一预设周期获取日志片段,该第一预设周期可以是根据实际情况进行确定,如1分钟、5分钟甚至1小时等,本申请中不对于第一预设周期的时长做限制。

其中,每到第一预设周期时长截取一次日志片段,可以是对于该预设周期内全部的日志片段进行截取,也可以是按照固定的时间窗口,每隔预设周期截取一次。

如图2所示的是集群示意图,该集群中包括多个服务节点,该图2中包括5个服务节点,其中服务节点1-3设置于服务器201中,服务节点4设置于服务器202中,服务节点5设置于服务器203中。

步骤S102:依次确定所述N个服务节点的日志片段之间的相似度;

其中,对于该N个服务节点的日志片段进行分析,依次确定N个服务节点的日志片段之间的相似度。

在一可能的实现方式中,确定该N个服务节点的任意两个的日志片段的相似度。

需要说明的是,后续实施例中会针对该确定相似度过程进行详细说明,本实施例中不做详述。

步骤S103:依据预设规则以及所述相似度,将所述N个服务节点分为至少两个类别,每个类别包括至少一个服务节点;

其中,基于该各个服务节点的日志片段之间的相似度,依据预设规则,将该N个服务节点分为两个甚至更多给类别,每个类别包括一个或者多个服务节点。

在一可能的实现方式中,该预设规则是聚类规则,依据聚类规则将该N个服务节点聚类,得到不同类别。

需要说明的是,后续实施例中会针对将N个服务节点分为多个类别的过程进行详细说明,本实施例中不做详述。

步骤S104:确定满足预设异常条件的第一类别中服务节点为异常服务节点。

该集群实际运行过程中,正常运行的服务节点占据大多数,而非正常运行的服务节点个数较少,而且,该非正常运行的服务节点的异常情况可能不同,因此,针对非正常运行的服务节点可能归类为一种,也可能归类为不同的几种。

因此,本申请中,预设异常条件是该类别中节点不是最多的,在一可能的实现方式中,可以是该类别中服务节点个数最少,或者是该至少两个类别中除了服务节点最多的类别的剩余类别。

其中,某一类别中服务节点个数最多,类别中的服务节点运行正常。

在一可能的实现方式中,本实施例中该满足预设异常条件的类别可以是分类的多个类别中,除了服务节点最多的一个类别的剩余类别。

在一可能的实现方式中,该步骤S104,包括:

步骤S1041:统计所述至少两个类别中每个类别包含的服务节点个数;

步骤S1042:依据每个类别包含的服务节点个数,确定第二类别,所述第二类别中服务节点个数大于任意类别的服务节点个数;

步骤S1043:确定第一类别中的服务节点作为异常服务节点,所述第一类别是所述至少两个类别中除了第二类别的类别。

其中,若对于该N个服务节点分为两个类别,确定服务节点个数更少的一个类别满足预设异常条件,该类别为第一类别;若对于该N个服务节点分为多个类别,确定服务节点个数最多的一个为正常服务节点类别,将除了该正常服务节点类别的其他类别统一作为第一类别。

综上,本实施例提供的一种服务节点异常分析方法,包括:依据第一预设周期,获取集群中执行相同任务的N个服务节点的日志片段;N为大于2的正整数;依次确定所述N个服务节点的日志片段之间的相似度;依据预设规则以及所述相似度,将所述N个服务节点分为至少两个类别,每个类别包括至少一个服务节点;确定满足预设异常条件的第一类别中服务节点为异常服务节点;其中,部分所述N个服务节点分别部署于不同服务器。本实施例中,基于日志片段对于集群中执行相同任务的多个服务节点中的异常服务节点进行判断,无需设置系统探针,也无需获取系统性能,从服务节点自身的处理维度进行分析,分析准确度较高。

如图3所示的,为本申请提供的一种服务节点异常分析方法实施例2的流程图,该方法包括以下步骤:

步骤S301:依据第一预设周期,获取集群中执行相同任务的N个服务节点的日志片段;

其中,步骤S301与实施例1中的相应步骤一致,本实施例中不做赘述。

步骤S302:依据第一日志模板,分别处理所述N个服务节点的日志片段,得到所述N个服务节点对应的N个日志词集合;

其中,第一日志模板,该日志模板可以是针对该N个服务节点的任务设定。

具体实施中,针对同一组服务节点,在其执行任务改变时,该日志模板也相应改变。

需要说明的是,该服务节点执行的任务模式固定、重复度较高,属于半结构化文本,能够利用日志模板对于各个服务节点的日志片段进行处理。

在一可能的实现方式中,将该日志片段与第一日志模板匹配的固定部分保留,将变量部分去除,得到日志词集合。

在一可能的实现方式中,该步骤S302包括:

步骤S3021:依据所述第一日志模板筛选所述N个服务节点的日志片段,得到满足预设匹配条件所述N个服务节点对应的N个日志数据,所述日志数据属于所述日志片段;

其中,依次将该日志片段与该第一日志模板比较,将与该第一日志模板的部分保留,剩余部分去除,得到多个字/词组成日志数据。

其中,预设匹配条件可以是该日志片段的字/词与第一日志模板中的字/词位置相同。

步骤S3022:去除所述日志数据中的变量数据,得到所述N个服务节点对应的N个日志词集合。

其中,在确定了日志数据后,将其中的变量数据剔除,得到日志词集合。

在一可能的实现方式中,每个服务节点的日志片段对应生成一个日志词集合。

其中,日志词集合可以是词袋,该词袋中包括该日志数据中去除变量数据后,剩余的词,该日志词集合中包含多个词以及每个词的统计个数。

步骤S303:依次将所述N个日志词集合两两组合进行相似度计算,得到所述N个服务节点的日志片段之间的相似度;

其中,一个日志词集合可以对应一个服务节点,将该N个日志词集合两两组合进行相似度计算,得到该N个服务节点的日志片段的相似度。

在一可能的实现方式中,可以采用关键单词频数进行相似度计算。

例如,可以采用jaccard系数公式进行计算,是因为其在可以考虑文本内容匹配程度的同时,也可以兼顾单词出现的频率。

jaccard系数公式如下:

J(4,B)∈0,1

其中,A表示一个日志词集合,B表示另一个日志词集合,J(A,B)表示两个日志词集合的相似度,其中,|A∩B|表示A和B的交集,|A∪B|表示A和B的合集。

需要说明的是,有时候服务节点的故障日志,存在日志内容不符和日志频率不符这两个问题,采用该jaccard系数公式,兼顾了日志文本内容和单词出现频率,能够同时计算方法简单,可以满足时效性需求。

如图4所示的是一相似度列表示意图,该列表中,第一列的获取服务节点1的日志片段的时间,第二列是该服务节点1与另一个服务节点2的相似度值。其中,在15:31:07与15:32:07时刻之间,该服务节点1切换日志,其与服务节点2的相似度变化,逐渐下降。

步骤S304:依据预设规则以及所述相似度,将所述N个服务节点分为至少两个类别,每个类别包括至少一个服务节点;

步骤S305:确定满足预设异常条件的第一类别中服务节点为异常服务节点。

其中,步骤S304-305与实施例1中的相应步骤一致,本实施例中不做赘述。

综上,本实施例提供的一种服务节点异常分析方法,包括:依据第一日志模板,分别处理所述N个服务节点的日志片段,得到所述N个服务节点对应的N个日志词集合;依次将所述N个日志词集合两两组合进行相似度计算,得到所述N个服务节点的日志片段之间的相似度。本实施例中,依据预设日子模板对于各个服务节点的日志片段处理,得到N个日志词集合,对于该N个日志词集合两两组合计算相似度,得到各个日志片段的相似度,为后续进行服务节点分类提供基础。

如图5所示的,为本申请提供的一种服务节点异常分析方法实施例3的流程图,该方法包括以下步骤:

步骤S501:依据第一预设周期,在所述集群中执行相同任务的任意服务节点的历史日志中截取至少两个历史日志片段;

其中,本实施例是对于确定日志模板的过程进行的说明。

其中,按照第一预设周期,对于集群中确定执行相同任务的某服务节点的历史日志进行截取多个历史日志片段。

其中,可以是对于同一个服务节点的历史日志截取多个历史日志片段,也可以是对于多个服务节点的历史日志截取多个历史日志片段。

其中,该历史日志片段是能够表征该服务节点执行任务的,具体可以是一个或者多个任务执行周期的日志片段。

步骤S502:提取所述至少两个历史日志片段中满足相似条件的日志内容,得到第一日志模板;

其中,在获得该多个历史日志片段后,分析该多个历史日志片段,得到其中相似的日志内容。

在一可能的实现方式中,可以将该多个历史日志片段进行依次比对,确定其中满足相似条件的日志内容,将该满足相似条件的日志内容作为第一日志模板。

具体实施中,确定历史日志片段中满足相似条件的日志内容,可以是将历史日志片段中变量剔除后,剩余内容进行是否相似判断。

需要说明的是,本实施例中仅是对于多个历史日志片段满足相似条件判断的说明,并不限制如何确定该多个历史日志片段中满足相似条件的方式,具体实施中,可以根据实际情况设置确定多个历史日志片段中满足相似条件的日志内容的具体判断条件。

需要说明的是,由于集群中各个服务节点执行的任务变化,其程序更新,该服务节点的日志随着程序更新,可能会发生变动,相应的,该第一日志模板需要定期更新。

具体实施中,可以每隔预设时间段或者是每次服务节点的程序更新触发确定第一日志模板的流程。

步骤S503:依据第一预设周期,获取集群中执行相同任务的N个服务节点的日志片段;

步骤S504:依据第一日志模板,分别处理所述N个服务节点的日志片段,得到所述N个服务节点对应的N个日志词集合;

步骤S505:依次将所述N个日志词集合两两组合进行相似度计算,得到所述N个服务节点的日志片段之间的相似度;

步骤S506:依据预设规则以及所述相似度,将所述N个服务节点分为至少两个类别,每个类别包括至少一个服务节点;

步骤S507:确定满足预设异常条件的第一类别中服务节点为异常服务节点。

其中,步骤S503-507与实施例2中的相应步骤一致,本实施例中不做赘述。

综上,本实施例提供的一种服务节点异常分析方法,还包括:依据第一预设周期,在所述集群中执行相同任务的任意服务节点的历史日志中截取至少两个历史日志片段;提取所述至少两个历史日志片段中满足相似条件的日志内容,得到第一日志模板。本实施例中,基于集群中执行相同任务的服务节点,截取该服务节点的多个历史日志片段,从该多个历史日志片段中提取满足相似条件的日志内容,得到第一日志模板,实现了基于服务节点的历史日志片段确定日志模板。

如图6所示的,为本申请提供的一种服务节点异常分析方法实施例4的流程图,该方法包括以下步骤:

步骤S601:依据第一预设周期,获取集群中执行相同任务的N个服务节点的日志片段;

其中,步骤S601与实施例1中的相应步骤一致,本实施例中不做赘述。

步骤S602:依据第二日志模板,分别处理所述N个服务节点的日志片段,得到所述N个服务节点对应的N个日志文本内容,所述第二日志模板不包含变量信息;

需要说明的是,由于该N个服务节点执行相同任务,正常情况下,各个服务节点的日志片段中除了变量不同,剩余固定内容应该是相同/相近的。

在一可能的实现方式中,本实施例中设置第二日志模板,该第二日志模板中不包含变量信息。

相应的,依据该不包含变量信息的第二日志模板对于各个服务节点的日志片段进行处理,可以得到不包含变量信息的日志文本内容。

步骤S603:基于所述N个日志文本内容进行相似度计算,得到所述N个服务节点的日志片段之间的相似度;

其中,将该N个日志文本内容两两组合进行相似度计算,得到该N个服务节点的日志片段的相似度。

在一可能的实现方式中,可以采用余弦定理、jaccard系数公式等,进行日志文本内容的相似度计算。

步骤S604:依据预设规则以及所述相似度,将所述N个服务节点分为至少两个类别,每个类别包括至少一个服务节点;

步骤S605:确定满足预设异常条件的第一类别中服务节点为异常服务节点。

其中,步骤S604-605与实施例1中的相应步骤一致,本实施例中不做赘述。

综上,本实施例提供的一种服务节点异常分析方法,包括:依据第二日志模板,分别处理所述N个服务节点的日志片段,得到所述N个服务节点对应的N个日志文本内容,所述第二日志模板不包含变量信息;基于所述N个日志文本内容进行相似度计算,得到所述N个服务节点的日志片段之间的相似度。本实施例中,基于不包含变量信息的第二日志模板,对于该N个服务节点的日志片段进行处理得到相应的N个日志文本内容,以基于该N个日志文本内容进行相似度计算,得到各个日志片段的相似度,为后续进行服务节点分类提供基础。

如图7所示的,为本申请提供的一种服务节点异常分析方法实施例5的流程图,该方法包括以下步骤:

步骤S701:依据第一预设周期,获取集群中执行相同任务的N个服务节点的日志片段;

步骤S702:依次确定所述N个服务节点的日志片段之间的相似度;

其中,步骤S701-702与实施例1中的相应步骤一致,本实施例中不做赘述。

步骤S703:依据所述相似度,确定所述集群中服务节点间距离;

其中,本申请中采用聚类算法,基于集群中各个服务节点间的距离进行聚类。

其中,在计算服务节点间的距离时,可以采用日志片段的相似度进行计算服务节点间的距离。

其中,在计算完成N个服务节点的日志片段之间的相似度后,可以得到一个二维相似度矩阵,该相似度矩阵中对于每个服务节点与另一个服务节点的相似度均可查。

如表1所示的是相似度矩阵。

表1

其中,sim

在一可能的实现方式中,基于该服务节点的相似度值,确定两个服务节点间的距离,该公式如下:

D

其中,d

步骤S704:依据预设规则以及所述集群中服务节点间的距离,将所述N个服务节点分为至少两个类别;

其中,本实施例中采用聚类算法将服务节点进行聚类。

在一可能的实现方式中,该聚类算法可以是DBSCAN(Density-Based SpatialClustering of Application with Noise,基于密度的带噪应用空间聚类)。

其中,预先对于聚类算法的设置聚类条件,可以包括:组成集群的最小核心点数量以及超参数eps。

其中,该eps是两个样本被视为在同一个聚类之间的最大距离。

在一可能的实现方式中,基于该聚类算法的聚类条件,对于该N个服务节点进行聚类处理,聚类得到至少两个类别。

如图8所示的是聚类示意图一,该图8中,有三个服务节点801-803,其中,服务节点801和服务节点80、服务节点803是同类的概率分别是70%,服务节点802和服务节点803是同类的概率是90%,则该服务节点801为一个类别,服务节点802和服务节点803是另一个类别。该服务节点801是异常服务节点。

如图9所示的是聚类示意图二,该图9中,有四个服务节点901-904,其中,服务节点901和服务节点902-904是同类的概率分别是70%、91%、95%,服务节点902和服务节点903-904是同类的概率分别是66%、69%,服务节点903和服务节点904是同类的概率是90%,则该服务节点902是一个类别,服务节点901、903-904是另一个类别。该服务节点902是异常服务节点。

如图10所示的是聚类示意图三,该图10中,有五个服务节点1001-1005,其中,服务节点1001和服务节点1002-1005是同类的概率分别是70%、61%、92%、95%,服务节点1002和服务节点1003-1005是同类的概率分别是90%、66%、92%,服务节点1003和服务节点1004-1005是同类的概率分别是70%、67%,服务节点1004和服务节点1005是同类的概率是99%,则该服务节点1002-1003是一个类别,服务节点001、1004-1005是另一个类别。该服务节点1002-1003是异常服务节点。

步骤S705:确定满足预设异常条件的第一类别中服务节点为异常服务节点。

其中,步骤S705与实施例1中的相应步骤一致,本实施例中不做赘述。

综上,本实施例提供的一种服务节点异常分析方法,包括:依据所述相似度,确定所述集群中服务节点间距离;依据预设规则以及所述集群中服务节点间的距离,将所述N个服务节点分为至少两个类别。本实施例中,各个服务节点的日志片段的相似度,表征各个服务节点间的相似度,依据服务节点间的相似度确定各个服务节点间的距离,进而基于预设的聚类规则以及该服务节点间的距离,将该N个服务节点聚类为多个类别,相对于对于服务节点进行给定特征计算欧式距离的算法,该基于日志相似度进行计算节点距离进行聚类的计算过程,计算量较小,处理负担较小。

如图11所示的,为本申请提供的一种服务节点异常分析方法实施例6的流程图,该方法包括以下步骤:

步骤S1101:依据第一预设周期,获取集群中执行相同任务的N个服务节点的日志片段;

步骤S1102:依次确定所述N个服务节点的日志片段之间的相似度;

步骤S1103:依据预设规则以及所述相似度,将所述N个服务节点分为至少两个类别,每个类别包括至少一个服务节点;

步骤S1104:确定满足预设异常条件的第一类别中服务节点为异常服务节点;

其中,步骤S1101-1104与实施例1中的相应步骤一致,本实施例中不做赘述。

步骤S1105:依据第二预设周期在第一服务节点的日志中截取日志历史片段,所述第一服务节点是属于第一类别的任意服务节点;

其中,基于步骤S1104确定了第一类别后,将该第一类别中的服务器作为为异常服务节点,为了提高分析服务节点异常的准确度,可以对于该初步确定为异常服务节点进行进一步分析。

在一可能的实现方式中,本实施例中,是基于该第一类别中服务节点的日志历史进行分析。

其中,在第一类别的服务节点中依次选择一个作为第一服务节点,结合该第一服务节点的历史日志进行分析。

在一可能的实现方式中,按照第二预设周期,在该第一服务节点的日志中截取日志历史片段。

其中,该第二预设周期可以是与第一预设周期相同的周期,也可以是间隔更大的时间周期。

需要说明的是,截取的日志历史片段的时间长度,可以是与第一预设周期对应。

在一可能的实现方式中,该第二预设周期可以是十分钟、三十分钟、一个小时、一天等,一般的,该第二预设周期的时长可以根据实际情况设置,本申请中不做限制。

步骤S1106:确定所述第一服务节点的所述日志片段与所述日志历史片段在当前周期与上一周期的第一相似度;

其中,将当前周期获得的日志片段,与上一周期的日志历史片段的相似度进行确定。

在一可能的实现方式中,确定的方法可以是采用第一日志模板或者第二日志模板处理该日志片段与日志历史片段,进而确定该日志片段与上一周期的日志历史片段的相似度。

其中,该确定的过程可以参考前述方法实施例中的解释,本实施例中不做详述。

步骤S1107:获取所述第一服务节点的至少两个历史相似度,所述至少两个历史相似度值是依次排列的至少两个历史周期与所述历史周期的上一周期的相似度,所述当前周期、所述至少两个历史周期依次相邻;

其中,获得至少两个与当前周期一次相邻的历史周期的之间的历史相似度值。

其中,是对于多个历史周期以及与其相邻周期之间的历史相似度值进行获得,以基于该多个历史相似度值与当前周期与上一周期的第一相似度值确定该日志的变化趋势。

步骤S1108:若按照时间顺序排列的第一相似度和所述至少两个历史相似度满足依次降低条件且所述第一相似度小于预设阈值,确定所述第一服务节点属于异常服务节点。

在一可能的实现方式中,按照时间从远到近依次排列至少两个历史相似度和该第一相似度,以确定该第一服务节点的日志片段的变化趋势。

其中,若排列的至少两个历史相似度和该第一相似度的数值依次降低,并且,该第一相似度小于预设阈值,表征该第一服务节点的运行逐渐异常,则该第一服务节点确定是异常服务节点,否则,可以确定该第一服务节点不属于异常服务节点。

具体实施中,若其中某次的历史相似度或者该第一相似度突然降低,可以作为噪声处理,在分析相似度变化趋势时,不考虑该相似度。

如图12所示的是一相似度列表示意图,该列表中,第一列的获取服务节点1的日志片段的时间,第二列是该服务节点1与另一个服务节点2的相似度值,第三列是该服务节点1与历史日志的相似度值,第四列是该服务节点2与历史日志的相似度值。其中,在15:31:07与15:32:07时刻之间,该服务节点1切换日志,其与服务节点2的相似度变化,其与历史相似度值也逐渐下降,逐渐下降。

综上,本实施例提供的一种服务节点异常分析方法,还包括:依据第二预设周期在第一服务节点的日志中截取日志历史片段,所述第一服务节点是属于第一类别的任意服务节点;确定所述第一服务节点的所述日志片段与所述日志历史片段在当前周期与上一周期的第一相似度;获取所述第一服务节点的至少两个历史相似度,所述至少两个历史相似度值是依次排列的至少两个历史周期与所述历史周期的上一周期的相似度,所述当前周期、所述至少两个历史周期依次相邻;若按照时间顺序排列的第一相似度和所述至少两个历史相似度满足依次降低条件且所述第一相似度小于预设阈值,确定所述第一服务节点属于异常服务节点。本实施例中,在将第一类别中的服务器作为为异常服务节点,后,进一步基于该第一类别中第一服务节点的日志历史进行分析,确定该第一服务节点的历史运行变化情况,结合其历史运行情况进进一步分析,提高分析服务节点异常的准确度。

与上述本申请提供的一种服务节点异常分析方法实施例相对应的,本申请还提供了应用该服务节点异常分析方法的装置实施例。

如图13所示的为本申请提供的一种服务节点异常分析装置实施例的结构示意图,该装置包括以下结构:获取模块1301、第一确定模块1302、分类模块1303和第二确定模块1304;

其中,该获取模块1301,用于依据第一预设周期,获取集群中执行相同任务的N个服务节点的日志片段;N为大于2的正整数;

其中,该第一确定模块1302,用于依次确定所述N个服务节点的日志片段之间的相似度;

其中,该分类模块1303,用于依据预设规则以及所述相似度,将所述N个服务节点分为至少两个类别,每个类别包括至少一个服务节点;

其中,该第二确定模块1304,用于确定满足预设异常条件的第一类别中服务节点为异常服务节点;

其中,部分所述N个服务节点分别部署于不同服务器。

可选的,所述第一确定模块,包括:

第一处理单元,用于依据第一日志模板,分别处理所述N个服务节点的日志片段,得到所述N个服务节点对应的N个日志词集合;

第一计算单元,用于依次将所述N个日志词集合两两组合进行相似度计算,得到所述N个服务节点之间的日志片段的相似度。

可选的,处理单元,具体用于:

依据所述第一日志模板筛选所述N个服务节点的日志片段,得到满足预设匹配条件所述N个服务节点对应的N个日志数据,所述日志数据属于所述日志片段;

去除所述日志数据中的变量数据,得到所述N个服务节点对应的N个日志词集合。

可选的,还包括:

第一截取模块,用于获取集群中执行相同任务的N个服务节点的日志片段之前,依据第一预设周期,在所述集群中执行相同任务的任意服务节点的历史日志中截取至少两个历史日志片段;

提取模块,用于提取所述至少两个历史日志片段中满足相似条件的日志内容,得到第一日志模板。

可选的,所述第一确定模块,包括:

第二处理单元,用于依据第二日志模板,分别处理所述N个服务节点的日志片段,得到所述N个服务节点对应的N个日志文本内容,所述第二日志模板不包含变量信息;

第二计算单元,用于基于所述N个日志文本内容进行相似度计算,得到所述N个服务节点的日志片段之间的相似度。

可选的,分类模块具体用于:

依据所述相似度,确定所述集群中服务节点间距离;

依据预设规则以及所述集群中服务节点间的距离,将所述N个服务节点分为至少两个类别。

可选的,还包括:

第二截取模块,用于依据第二预设周期在第一服务节点的日志中截取日志历史片段,所述第一服务节点是属于第一类别的任意服务节点;

第三确定模块,用于确定所述第一服务节点的所述日志片段与所述日志历史片段在当前周期与上一周期的第一相似度;

历史相似度获取模块,用于获取所述第一服务节点的至少两个历史相似度,所述至少两个历史相似度值是依次排列的至少两个历史周期与所述历史周期的上一周期的相似度,所述当前周期、所述至少两个历史周期依次相邻;

第三确定模块,用于若按照时间顺序排列的第一相似度和所述至少两个历史相似度满足依次降低条件且所述第一相似度小于预设阈值,确定所述第一服务节点属于异常服务节点。

需要说明的是,本实施例中提供的一种服务节点异常分析装置实施例中的各个组成结构的功能解释,请参考前述方法实施例中的解释,本实施例中不做赘述。

综上,本实施例提供的一种服务节点异常分析装置,包括:获取模块,用于依据第一预设周期,获取集群中执行相同任务的N个服务节点的日志片段;N为大于2的正整数;第一确定模块,用于依次确定所述N个服务节点的日志片段之间的相似度;分类模块,用于依据预设规则以及所述相似度,将所述N个服务节点分为至少两个类别,每个类别包括至少一个服务节点;第二确定模块,用于确定满足预设异常条件的第一类别中服务节点为异常服务节点;其中,部分所述N个服务节点分别部署于不同服务器。本实施例中,基于日志片段对于集群中执行相同任务的多个服务节点中的异常服务节点进行判断,无需设置系统探针,也无需获取系统性能,从服务节点自身的处理维度进行分析,分析准确度较高。

与上述本申请提供的一种服务节点异常分析方法实施例相对应的,本申请还提供了与该服务节点异常分析方法相应的电子设备以及可读存储介质。

其中,该电子设备,包括:存储器、处理器;

其中,存储器存储有处理程序;

所述处理器用于加载并执行所述存储器存储的所述处理程序,以实现如上述任一项所述的服务节点异常分析方法的各步骤。

具体该电子设备的实现服务节点异常分析方法,参考前述服务节点异常分析方法实施例即可。

其中,该可读存储介质,其上存储有计算机程序,所述计算机程序被处理器调用并执行,实现如上述任一项所述的服务节点异常分析方法的各步骤。

具体该可读存储介质存储的计算机程序执行实现服务节点异常分析方法,参考前述服务节点异常分析方法实施例即可。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例提供的装置而言,由于其与实施例提供的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

对所提供的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所提供的原理和新颖特点相一致的最宽的范围。

技术分类

06120116524500